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

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
    • Context management (dataset/view/selection)
    • Operator discovery and schema resolution
    • Dynamic execution interface
  • Plugin Management (5 tools) - Discover and install FiftyOne plugins
    • List available plugins and their operators
    • Install plugins from GitHub on demand
    • Enable/disable plugins dynamically
  • Session Management (3 tools) - Control FiftyOne App for delegated execution
    • Launch/close FiftyOne App server
    • Required for background operators (brain, evaluation, etc.)
    • Session info and status monitoring
  • Natural Language Workflows - Multi-step operations through conversation
  • ChatGPT & Claude Compatible - Works with desktop apps

Installation

git clone https://github.com/AdonaiVera/fiftyone-mcp-server.git
cd fiftyone-mcp-server
poetry install

Requirements: Python 3.10-3.13, Poetry, FiftyOne

Configuration

Add to MCP config:

  • ChatGPT: ~/Library/Application Support/ChatGPT/config.json
  • Claude: ~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "fiftyone": {
      "command": "poetry",
      "args": ["run", "fiftyone-mcp"],
      "cwd": "/absolute/path/to/fiftyone-mcp-server"
    }
  }
}

Restart your AI assistant.

Usage

# Run
poetry run fiftyone-mcp

And then you can query directly the agent:

"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"

Example of functionality:

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

Operator-Based Design:

  • Exposes 80+ FiftyOne operators through unified interface
  • Dynamic schema resolution based on current context
  • Context state management (dataset, view, selection)

Plugin Architecture:

  • AI discovers plugins on demand through list_plugins
  • Installs plugins automatically when needed
  • All plugin operators immediately available after installation
  • Self-expanding capability set

Session Architecture:

  • AI can launch FiftyOne App when needed for delegated operators
  • Enables background execution for compute-intensive operations
  • Automatic session management through natural conversation

Design Philosophy:

  • Minimal tool count (16 tools total)
  • Maximum flexibility (access to full operator & plugin ecosystem)
  • Mirrors FiftyOne App's execution model

Development

# Run tests
poetry run pytest

# Code quality
poetry run black -l 79 src/
poetry run pylint --errors-only src/

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

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.0.tar.gz (14.5 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.0-py3-none-any.whl (17.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: fiftyone_mcp_server-0.1.0.tar.gz
  • Upload date:
  • Size: 14.5 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.0.tar.gz
Algorithm Hash digest
SHA256 1be46565428d1f75f96e3975509f2be814dc73c806de546821f82ae1abeddb68
MD5 d1bb4f050559d131c1d459ba27e4110c
BLAKE2b-256 aade71e28bc16061552f5cff61f39d3e2a47a78696666a72b4a59a4bac3718e5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fiftyone_mcp_server-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d69821302219d18c29c34a6983d789869044689c1cb3fb81253c32a485f366a6
MD5 b1820ffa2dc5b6859dbd564b27069719
BLAKE2b-256 4531e3625050fab06a8955130f6a380a071947f4db665db71d43e781764d698d

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