MCP server exposing FiftyOne dataset analysis tools
Project description
FiftyOne MCP Server
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1be46565428d1f75f96e3975509f2be814dc73c806de546821f82ae1abeddb68
|
|
| MD5 |
d1bb4f050559d131c1d459ba27e4110c
|
|
| BLAKE2b-256 |
aade71e28bc16061552f5cff61f39d3e2a47a78696666a72b4a59a4bac3718e5
|
File details
Details for the file fiftyone_mcp_server-0.1.0-py3-none-any.whl.
File metadata
- Download URL: fiftyone_mcp_server-0.1.0-py3-none-any.whl
- Upload date:
- Size: 17.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.2.1 CPython/3.14.0 Darwin/25.1.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d69821302219d18c29c34a6983d789869044689c1cb3fb81253c32a485f366a6
|
|
| MD5 |
b1820ffa2dc5b6859dbd564b27069719
|
|
| BLAKE2b-256 |
4531e3625050fab06a8955130f6a380a071947f4db665db71d43e781764d698d
|