Skip to main content

MCP server exposing FiftyOne dataset analysis tools

Project description

FiftyOne MCP Server

 

fo_agent

Control FiftyOne datasets through AI assistants using the Model Context Protocol

PyPI Python

Overview

Enable ChatGPT and Claude to explore datasets, execute operators, and build computer vision workflows through natural language. This server exposes FiftyOne's operator framework (80+ built-in operators) through 16 MCP tools.

Features

  • Dataset Management (3 tools) - List, load, and summarize datasets
  • Operator System (5 tools) - Execute any FiftyOne operator dynamically
  • Plugin Management (5 tools) - Discover and install FiftyOne plugins
  • Session Management (3 tools) - Control FiftyOne App for delegated execution
  • Natural Language Workflows - Multi-step operations through conversation
  • ChatGPT & Claude Compatible - Works with desktop apps

Quick Start

Option 1: pip (Simplest)

pip install fiftyone-mcp-server

Then add to your AI tool config and restart:

Claude Desktop

Edit ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "fiftyone": {
      "command": "fiftyone-mcp"
    }
  }
}
Claude Code
claude mcp add fiftyone -- fiftyone-mcp
Cursor

Add to Cursor MCP settings:

{
  "fiftyone": {
    "command": "fiftyone-mcp"
  }
}
VSCode

Add to .vscode/mcp.json:

{
  "servers": {
    "fiftyone": {
      "command": "fiftyone-mcp"
    }
  }
}
ChatGPT Desktop

Edit ~/Library/Application Support/ChatGPT/config.json:

{
  "mcpServers": {
    "fiftyone": {
      "command": "fiftyone-mcp"
    }
  }
}

Option 2: uvx (No Install Needed)

If you have uv installed:

{
  "mcpServers": {
    "fiftyone": {
      "command": "uvx",
      "args": ["fiftyone-mcp-server"]
    }
  }
}

This downloads and runs the latest version automatically.

Usage

After configuration, restart your AI assistant and try:

"List all my datasets"
"Load quickstart dataset and show summary"
"What operators are available for managing samples?"
"Set context to my dataset, then tag high-confidence samples"
"What plugins are available? Install the brain plugin"
"Find similar images in my dataset"

The server starts with 50 built-in operators. Install plugins to expand functionality - the AI can discover and install plugins automatically when needed (brain, zoo, annotation, evaluation, and more).

Architecture

Component Description
Operator System 80+ FiftyOne operators through unified interface
Plugin System AI discovers and installs plugins on demand
Session System Launch FiftyOne App for delegated operators
Context Management Dataset, view, and selection state

Design Philosophy: Minimal tool count (16 tools), maximum flexibility (full operator & plugin ecosystem).

Contributing

We welcome contributions! Here's how to set up a local development environment.

Local Development Setup

# Clone the repository
git clone https://github.com/AdonaiVera/fiftyone-mcp-server.git
cd fiftyone-mcp-server

# Install Poetry (if not installed)
curl -sSL https://install.python-poetry.org | python3 -

# Install dependencies
poetry install

# Run the server locally
poetry run fiftyone-mcp

Testing Your Changes

# Run tests
poetry run pytest

# Code formatting
poetry run black -l 79 src/

# Linting
poetry run pylint --errors-only src/

# Test with MCP Inspector
npx @modelcontextprotocol/inspector poetry run fiftyone-mcp

Using Local Version with Claude

To test your local changes with Claude Desktop, update your config:

{
  "mcpServers": {
    "fiftyone": {
      "command": "poetry",
      "args": ["run", "fiftyone-mcp"],
      "cwd": "/absolute/path/to/fiftyone-mcp-server"
    }
  }
}

Resources


Built with FiftyOne and Model Context Protocol

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fiftyone_mcp_server-0.1.1.tar.gz (14.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

fiftyone_mcp_server-0.1.1-py3-none-any.whl (18.1 kB view details)

Uploaded Python 3

File details

Details for the file fiftyone_mcp_server-0.1.1.tar.gz.

File metadata

  • Download URL: fiftyone_mcp_server-0.1.1.tar.gz
  • Upload date:
  • Size: 14.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.2.1 CPython/3.14.0 Darwin/25.1.0

File hashes

Hashes for fiftyone_mcp_server-0.1.1.tar.gz
Algorithm Hash digest
SHA256 f26753d77f44bc7e5c08840996a93d4152ae3b5e602a25eb6814a8ec393f6a7d
MD5 7d3b5d36d5ef5232d60012fd7ab2d246
BLAKE2b-256 abf6f580f26012f5043389b4212fa6f2888b5ee07ef12f7490e28695efd6ee99

See more details on using hashes here.

File details

Details for the file fiftyone_mcp_server-0.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for fiftyone_mcp_server-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 6ad4eca14e0af2283624ec5814639b98b90a6d7009f2dd6e7f623703d1c44084
MD5 d0b886c8835d6871ace5e5d675a97a01
BLAKE2b-256 c5a2e83c33548a6a02e08425a68d10e9a55656e948c18cc0bbee1d4c2af1c1fa

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page