fiftyone-mcp-server 0.1.2__tar.gz → 0.1.3__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,264 @@
1
+ Metadata-Version: 2.4
2
+ Name: fiftyone-mcp-server
3
+ Version: 0.1.3
4
+ Summary: MCP server exposing FiftyOne dataset analysis tools
5
+ License: MIT
6
+ Keywords: mcp,fiftyone,computer-vision,ai,datasets,model-context-protocol
7
+ Author: Adonai Vera
8
+ Author-email: adonai.vera@gmail.com
9
+ Requires-Python: >=3.10,<3.14
10
+ Classifier: Development Status :: 4 - Beta
11
+ Classifier: Intended Audience :: Developers
12
+ Classifier: Intended Audience :: Science/Research
13
+ Classifier: License :: OSI Approved :: MIT License
14
+ Classifier: Operating System :: OS Independent
15
+ Classifier: Programming Language :: Python :: 3
16
+ Classifier: Programming Language :: Python :: 3.10
17
+ Classifier: Programming Language :: Python :: 3.11
18
+ Classifier: Programming Language :: Python :: 3.12
19
+ Classifier: Programming Language :: Python :: 3.13
20
+ Classifier: Programming Language :: Python :: 3.9
21
+ Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
22
+ Requires-Dist: exceptiongroup (>=1.0) ; python_version < "3.11"
23
+ Requires-Dist: fiftyone (>=1.0)
24
+ Requires-Dist: mcp (>=0.9.0)
25
+ Requires-Dist: torch (>=2.0)
26
+ Requires-Dist: torchvision (>=0.15)
27
+ Requires-Dist: ultralytics (>=8.0)
28
+ Project-URL: Documentation, https://github.com/voxel51/fiftyone-mcp-server#readme
29
+ Project-URL: Homepage, https://github.com/voxel51/fiftyone-mcp-server
30
+ Project-URL: Repository, https://github.com/voxel51/fiftyone-mcp-server
31
+ Description-Content-Type: text/markdown
32
+
33
+ # FiftyOne MCP Server
34
+
35
+ <!-- mcp-name: io.github.voxel51/fiftyone-mcp-server -->
36
+
37
+ <div align="center">
38
+ <p align="center">
39
+
40
+ <!-- prettier-ignore -->
41
+ <img src="https://user-images.githubusercontent.com/25985824/106288517-2422e000-6216-11eb-871d-26ad2e7b1e59.png" height="55px"> &nbsp;
42
+ <img src="https://user-images.githubusercontent.com/25985824/106288518-24bb7680-6216-11eb-8f10-60052c519586.png" height="50px">
43
+
44
+ </p>
45
+
46
+ **Control FiftyOne datasets through AI assistants using the Model Context Protocol**
47
+
48
+ [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](LICENSE)
49
+ [![PyPI](https://img.shields.io/pypi/v/fiftyone-mcp-server.svg)](https://pypi.org/project/fiftyone-mcp-server/)
50
+ [![Python](https://img.shields.io/pypi/pyversions/fiftyone-mcp-server.svg)](https://pypi.org/project/fiftyone-mcp-server/)
51
+ [![Discord](https://img.shields.io/badge/Discord-FiftyOne%20Community-7289DA.svg)](https://discord.gg/fiftyone-community)
52
+
53
+ [Documentation](https://docs.voxel51.com) · [FiftyOne Skills](https://github.com/voxel51/fiftyone-skills) · [FiftyOne Plugins](https://github.com/voxel51/fiftyone-plugins) · [Discord](https://discord.gg/fiftyone-community)
54
+
55
+ </div>
56
+
57
+ ## What is the FiftyOne MCP Server?
58
+
59
+ Enable Agents 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.
60
+
61
+ ```
62
+ "List all my datasets"
63
+ "Load quickstart dataset and show summary"
64
+ "Find similar images in my dataset"
65
+ ```
66
+
67
+ 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).
68
+
69
+ ## Available Tools
70
+
71
+ | Category | Tools | Description |
72
+ | ------------------------- | ----- | -------------------------------------------- |
73
+ | 📊 **Dataset Management** | 3 | List, load, and summarize datasets |
74
+ | ⚡ **Operator System** | 5 | Execute any FiftyOne operator dynamically |
75
+ | 🔌 **Plugin Management** | 5 | Discover and install FiftyOne plugins |
76
+ | 🖥️ **Session Management** | 3 | Control FiftyOne App for delegated execution |
77
+
78
+ **Design Philosophy:** Minimal tool count (16 tools), maximum flexibility (full operator & plugin ecosystem).
79
+
80
+ ## Quick Start
81
+
82
+ ### Step 1: Install the MCP Server
83
+
84
+ ```bash
85
+ pip install fiftyone-mcp-server
86
+ ```
87
+
88
+ > **⚠️ Important:** Make sure to use the same Python environment where you installed the MCP server when configuring your AI tool. If you installed it in a virtual environment or conda environment, you must activate that environment or specify the full path to the executable.
89
+
90
+ ### Step 2: Configure Your AI Tool
91
+
92
+ <details>
93
+ <summary><b>Claude Code</b> (Recommended)</summary>
94
+
95
+ ```bash
96
+ claude mcp add fiftyone -- fiftyone-mcp
97
+ ```
98
+
99
+ </details>
100
+
101
+ <details>
102
+ <summary><b>Claude Desktop</b></summary>
103
+
104
+ Edit `~/Library/Application Support/Claude/claude_desktop_config.json`:
105
+
106
+ ```json
107
+ {
108
+ "mcpServers": {
109
+ "fiftyone": {
110
+ "command": "fiftyone-mcp"
111
+ }
112
+ }
113
+ }
114
+ ```
115
+
116
+ </details>
117
+
118
+ <details>
119
+ <summary><b>Cursor</b></summary>
120
+
121
+ [![Install in Cursor](https://cursor.com/deeplink/mcp-install-dark.svg)](cursor://anysphere.cursor-deeplink/mcp/install?name=fiftyone&config=eyJjb21tYW5kIjoiZmlmdHlvbmUtbWNwIn0)
122
+
123
+ Add to `~/.cursor/mcp.json`:
124
+
125
+ ```json
126
+ {
127
+ "mcpServers": {
128
+ "fiftyone": {
129
+ "command": "fiftyone-mcp"
130
+ }
131
+ }
132
+ }
133
+ ```
134
+
135
+ </details>
136
+
137
+ <details>
138
+ <summary><b>VSCode</b></summary>
139
+
140
+ [![Install in VS Code](https://img.shields.io/badge/VS_Code-Install_Server-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://insiders.vscode.dev/redirect/mcp/install?name=fiftyone&config=%7B%22command%22%3A%22fiftyone-mcp%22%7D)
141
+
142
+ Add to `.vscode/mcp.json`:
143
+
144
+ ```json
145
+ {
146
+ "servers": {
147
+ "fiftyone": {
148
+ "command": "fiftyone-mcp"
149
+ }
150
+ }
151
+ }
152
+ ```
153
+
154
+ </details>
155
+
156
+ <details>
157
+ <summary><b>ChatGPT Desktop</b></summary>
158
+
159
+ Edit `~/Library/Application Support/ChatGPT/config.json`:
160
+
161
+ ```json
162
+ {
163
+ "mcpServers": {
164
+ "fiftyone": {
165
+ "command": "fiftyone-mcp"
166
+ }
167
+ }
168
+ }
169
+ ```
170
+
171
+ </details>
172
+
173
+ <details>
174
+ <summary><b>uvx (No Install Needed)</b></summary>
175
+
176
+ If you have [uv](https://github.com/astral-sh/uv) installed:
177
+
178
+ ```json
179
+ {
180
+ "mcpServers": {
181
+ "fiftyone": {
182
+ "command": "uvx",
183
+ "args": ["fiftyone-mcp-server"]
184
+ }
185
+ }
186
+ }
187
+ ```
188
+
189
+ This downloads and runs the latest version automatically.
190
+
191
+ </details>
192
+
193
+ ### Step 3: Use It
194
+
195
+ ```
196
+ "List all my datasets"
197
+ "Load quickstart dataset and show summary"
198
+ "What operators are available for managing samples?"
199
+ "Set context to my dataset, then tag high-confidence samples"
200
+ "What plugins are available? Install the brain plugin"
201
+ "Find similar images in my dataset"
202
+ ```
203
+
204
+ Claude will automatically discover operators and execute the appropriate tools.
205
+
206
+ ## Contributing
207
+
208
+ We welcome contributions! Here's how to set up a local development environment:
209
+
210
+ 1. **Clone** the repository
211
+
212
+ ```bash
213
+ git clone https://github.com/voxel51/fiftyone-mcp-server.git
214
+ cd fiftyone-mcp-server
215
+ ```
216
+
217
+ 2. **Install** dependencies
218
+
219
+ ```bash
220
+ poetry install
221
+ ```
222
+
223
+ 3. **Run** the server locally
224
+
225
+ ```bash
226
+ poetry run fiftyone-mcp
227
+ ```
228
+
229
+ 4. **Test** your changes
230
+
231
+ ```bash
232
+ poetry run pytest
233
+ poetry run black -l 79 src/
234
+ npx @modelcontextprotocol/inspector poetry run fiftyone-mcp
235
+ ```
236
+
237
+ 5. **Submit** a Pull Request
238
+
239
+ ## Resources
240
+
241
+ | Resource | Description |
242
+ | --------------------------------------------------------------- | ---------------------------------- |
243
+ | [FiftyOne Docs](https://docs.voxel51.com) | Official documentation |
244
+ | [FiftyOne Skills](https://github.com/voxel51/fiftyone-skills) | Expert workflows for AI assistants |
245
+ | [FiftyOne Plugins](https://github.com/voxel51/fiftyone-plugins) | Official plugin collection |
246
+ | [Model Context Protocol](https://modelcontextprotocol.io) | MCP specification |
247
+ | [PyPI Package](https://pypi.org/project/fiftyone-mcp-server/) | MCP server on PyPI |
248
+ | [Discord Community](https://discord.gg/fiftyone-community) | Get help and share ideas |
249
+
250
+ ## Community
251
+
252
+ Join the FiftyOne community to get help, share your ideas, and connect with other users:
253
+
254
+ - **Discord**: [FiftyOne Community](https://discord.gg/fiftyone-community)
255
+ - **GitHub Issues**: [Report bugs or request features](https://github.com/voxel51/fiftyone-mcp-server/issues)
256
+
257
+ ---
258
+
259
+ <div align="center">
260
+
261
+ Copyright 2017-2026, Voxel51, Inc. · [Apache 2.0 License](LICENSE)
262
+
263
+ </div>
264
+
@@ -0,0 +1,231 @@
1
+ # FiftyOne MCP Server
2
+
3
+ <!-- mcp-name: io.github.voxel51/fiftyone-mcp-server -->
4
+
5
+ <div align="center">
6
+ <p align="center">
7
+
8
+ <!-- prettier-ignore -->
9
+ <img src="https://user-images.githubusercontent.com/25985824/106288517-2422e000-6216-11eb-871d-26ad2e7b1e59.png" height="55px"> &nbsp;
10
+ <img src="https://user-images.githubusercontent.com/25985824/106288518-24bb7680-6216-11eb-8f10-60052c519586.png" height="50px">
11
+
12
+ </p>
13
+
14
+ **Control FiftyOne datasets through AI assistants using the Model Context Protocol**
15
+
16
+ [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](LICENSE)
17
+ [![PyPI](https://img.shields.io/pypi/v/fiftyone-mcp-server.svg)](https://pypi.org/project/fiftyone-mcp-server/)
18
+ [![Python](https://img.shields.io/pypi/pyversions/fiftyone-mcp-server.svg)](https://pypi.org/project/fiftyone-mcp-server/)
19
+ [![Discord](https://img.shields.io/badge/Discord-FiftyOne%20Community-7289DA.svg)](https://discord.gg/fiftyone-community)
20
+
21
+ [Documentation](https://docs.voxel51.com) · [FiftyOne Skills](https://github.com/voxel51/fiftyone-skills) · [FiftyOne Plugins](https://github.com/voxel51/fiftyone-plugins) · [Discord](https://discord.gg/fiftyone-community)
22
+
23
+ </div>
24
+
25
+ ## What is the FiftyOne MCP Server?
26
+
27
+ Enable Agents 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.
28
+
29
+ ```
30
+ "List all my datasets"
31
+ "Load quickstart dataset and show summary"
32
+ "Find similar images in my dataset"
33
+ ```
34
+
35
+ 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).
36
+
37
+ ## Available Tools
38
+
39
+ | Category | Tools | Description |
40
+ | ------------------------- | ----- | -------------------------------------------- |
41
+ | 📊 **Dataset Management** | 3 | List, load, and summarize datasets |
42
+ | ⚡ **Operator System** | 5 | Execute any FiftyOne operator dynamically |
43
+ | 🔌 **Plugin Management** | 5 | Discover and install FiftyOne plugins |
44
+ | 🖥️ **Session Management** | 3 | Control FiftyOne App for delegated execution |
45
+
46
+ **Design Philosophy:** Minimal tool count (16 tools), maximum flexibility (full operator & plugin ecosystem).
47
+
48
+ ## Quick Start
49
+
50
+ ### Step 1: Install the MCP Server
51
+
52
+ ```bash
53
+ pip install fiftyone-mcp-server
54
+ ```
55
+
56
+ > **⚠️ Important:** Make sure to use the same Python environment where you installed the MCP server when configuring your AI tool. If you installed it in a virtual environment or conda environment, you must activate that environment or specify the full path to the executable.
57
+
58
+ ### Step 2: Configure Your AI Tool
59
+
60
+ <details>
61
+ <summary><b>Claude Code</b> (Recommended)</summary>
62
+
63
+ ```bash
64
+ claude mcp add fiftyone -- fiftyone-mcp
65
+ ```
66
+
67
+ </details>
68
+
69
+ <details>
70
+ <summary><b>Claude Desktop</b></summary>
71
+
72
+ Edit `~/Library/Application Support/Claude/claude_desktop_config.json`:
73
+
74
+ ```json
75
+ {
76
+ "mcpServers": {
77
+ "fiftyone": {
78
+ "command": "fiftyone-mcp"
79
+ }
80
+ }
81
+ }
82
+ ```
83
+
84
+ </details>
85
+
86
+ <details>
87
+ <summary><b>Cursor</b></summary>
88
+
89
+ [![Install in Cursor](https://cursor.com/deeplink/mcp-install-dark.svg)](cursor://anysphere.cursor-deeplink/mcp/install?name=fiftyone&config=eyJjb21tYW5kIjoiZmlmdHlvbmUtbWNwIn0)
90
+
91
+ Add to `~/.cursor/mcp.json`:
92
+
93
+ ```json
94
+ {
95
+ "mcpServers": {
96
+ "fiftyone": {
97
+ "command": "fiftyone-mcp"
98
+ }
99
+ }
100
+ }
101
+ ```
102
+
103
+ </details>
104
+
105
+ <details>
106
+ <summary><b>VSCode</b></summary>
107
+
108
+ [![Install in VS Code](https://img.shields.io/badge/VS_Code-Install_Server-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://insiders.vscode.dev/redirect/mcp/install?name=fiftyone&config=%7B%22command%22%3A%22fiftyone-mcp%22%7D)
109
+
110
+ Add to `.vscode/mcp.json`:
111
+
112
+ ```json
113
+ {
114
+ "servers": {
115
+ "fiftyone": {
116
+ "command": "fiftyone-mcp"
117
+ }
118
+ }
119
+ }
120
+ ```
121
+
122
+ </details>
123
+
124
+ <details>
125
+ <summary><b>ChatGPT Desktop</b></summary>
126
+
127
+ Edit `~/Library/Application Support/ChatGPT/config.json`:
128
+
129
+ ```json
130
+ {
131
+ "mcpServers": {
132
+ "fiftyone": {
133
+ "command": "fiftyone-mcp"
134
+ }
135
+ }
136
+ }
137
+ ```
138
+
139
+ </details>
140
+
141
+ <details>
142
+ <summary><b>uvx (No Install Needed)</b></summary>
143
+
144
+ If you have [uv](https://github.com/astral-sh/uv) installed:
145
+
146
+ ```json
147
+ {
148
+ "mcpServers": {
149
+ "fiftyone": {
150
+ "command": "uvx",
151
+ "args": ["fiftyone-mcp-server"]
152
+ }
153
+ }
154
+ }
155
+ ```
156
+
157
+ This downloads and runs the latest version automatically.
158
+
159
+ </details>
160
+
161
+ ### Step 3: Use It
162
+
163
+ ```
164
+ "List all my datasets"
165
+ "Load quickstart dataset and show summary"
166
+ "What operators are available for managing samples?"
167
+ "Set context to my dataset, then tag high-confidence samples"
168
+ "What plugins are available? Install the brain plugin"
169
+ "Find similar images in my dataset"
170
+ ```
171
+
172
+ Claude will automatically discover operators and execute the appropriate tools.
173
+
174
+ ## Contributing
175
+
176
+ We welcome contributions! Here's how to set up a local development environment:
177
+
178
+ 1. **Clone** the repository
179
+
180
+ ```bash
181
+ git clone https://github.com/voxel51/fiftyone-mcp-server.git
182
+ cd fiftyone-mcp-server
183
+ ```
184
+
185
+ 2. **Install** dependencies
186
+
187
+ ```bash
188
+ poetry install
189
+ ```
190
+
191
+ 3. **Run** the server locally
192
+
193
+ ```bash
194
+ poetry run fiftyone-mcp
195
+ ```
196
+
197
+ 4. **Test** your changes
198
+
199
+ ```bash
200
+ poetry run pytest
201
+ poetry run black -l 79 src/
202
+ npx @modelcontextprotocol/inspector poetry run fiftyone-mcp
203
+ ```
204
+
205
+ 5. **Submit** a Pull Request
206
+
207
+ ## Resources
208
+
209
+ | Resource | Description |
210
+ | --------------------------------------------------------------- | ---------------------------------- |
211
+ | [FiftyOne Docs](https://docs.voxel51.com) | Official documentation |
212
+ | [FiftyOne Skills](https://github.com/voxel51/fiftyone-skills) | Expert workflows for AI assistants |
213
+ | [FiftyOne Plugins](https://github.com/voxel51/fiftyone-plugins) | Official plugin collection |
214
+ | [Model Context Protocol](https://modelcontextprotocol.io) | MCP specification |
215
+ | [PyPI Package](https://pypi.org/project/fiftyone-mcp-server/) | MCP server on PyPI |
216
+ | [Discord Community](https://discord.gg/fiftyone-community) | Get help and share ideas |
217
+
218
+ ## Community
219
+
220
+ Join the FiftyOne community to get help, share your ideas, and connect with other users:
221
+
222
+ - **Discord**: [FiftyOne Community](https://discord.gg/fiftyone-community)
223
+ - **GitHub Issues**: [Report bugs or request features](https://github.com/voxel51/fiftyone-mcp-server/issues)
224
+
225
+ ---
226
+
227
+ <div align="center">
228
+
229
+ Copyright 2017-2026, Voxel51, Inc. · [Apache 2.0 License](LICENSE)
230
+
231
+ </div>
@@ -1,13 +1,13 @@
1
1
  [tool.poetry]
2
2
  name = "fiftyone-mcp-server"
3
- version = "0.1.2"
3
+ version = "0.1.3"
4
4
  description = "MCP server exposing FiftyOne dataset analysis tools"
5
5
  authors = ["Adonai Vera <adonai.vera@gmail.com>"]
6
6
  license = "MIT"
7
7
  readme = "README.md"
8
- homepage = "https://github.com/AdonaiVera/fiftyone-mcp-server"
9
- repository = "https://github.com/AdonaiVera/fiftyone-mcp-server"
10
- documentation = "https://github.com/AdonaiVera/fiftyone-mcp-server#readme"
8
+ homepage = "https://github.com/voxel51/fiftyone-mcp-server"
9
+ repository = "https://github.com/voxel51/fiftyone-mcp-server"
10
+ documentation = "https://github.com/voxel51/fiftyone-mcp-server#readme"
11
11
  keywords = ["mcp", "fiftyone", "computer-vision", "ai", "datasets", "model-context-protocol"]
12
12
  classifiers = [
13
13
  "Development Status :: 4 - Beta",
@@ -26,11 +26,12 @@ packages = [{include = "fiftyone_mcp", from = "src"}]
26
26
 
27
27
  [tool.poetry.dependencies]
28
28
  python = ">=3.10,<3.14"
29
- fiftyone = "^1.0"
30
- mcp = "^0.9.0"
31
- torch = "^2.9.1"
32
- torchvision = "^0.24.1"
33
- ultralytics = "^8.3.240"
29
+ fiftyone = ">=1.0"
30
+ exceptiongroup = {version = ">=1.0", python = "<3.11"}
31
+ mcp = ">=0.9.0"
32
+ torch = ">=2.0"
33
+ torchvision = ">=0.15"
34
+ ultralytics = ">=8.0"
34
35
 
35
36
  [tool.poetry.group.dev.dependencies]
36
37
  pytest = "^8.0.0"
@@ -1,258 +0,0 @@
1
- Metadata-Version: 2.4
2
- Name: fiftyone-mcp-server
3
- Version: 0.1.2
4
- Summary: MCP server exposing FiftyOne dataset analysis tools
5
- License: MIT
6
- Keywords: mcp,fiftyone,computer-vision,ai,datasets,model-context-protocol
7
- Author: Adonai Vera
8
- Author-email: adonai.vera@gmail.com
9
- Requires-Python: >=3.10,<3.14
10
- Classifier: Development Status :: 4 - Beta
11
- Classifier: Intended Audience :: Developers
12
- Classifier: Intended Audience :: Science/Research
13
- Classifier: License :: OSI Approved :: MIT License
14
- Classifier: Operating System :: OS Independent
15
- Classifier: Programming Language :: Python :: 3
16
- Classifier: Programming Language :: Python :: 3.10
17
- Classifier: Programming Language :: Python :: 3.11
18
- Classifier: Programming Language :: Python :: 3.12
19
- Classifier: Programming Language :: Python :: 3.13
20
- Classifier: Programming Language :: Python :: 3.9
21
- Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
22
- Requires-Dist: fiftyone (>=1.0,<2.0)
23
- Requires-Dist: mcp (>=0.9.0,<0.10.0)
24
- Requires-Dist: torch (>=2.9.1,<3.0.0)
25
- Requires-Dist: torchvision (>=0.24.1,<0.25.0)
26
- Requires-Dist: ultralytics (>=8.3.240,<9.0.0)
27
- Project-URL: Documentation, https://github.com/AdonaiVera/fiftyone-mcp-server#readme
28
- Project-URL: Homepage, https://github.com/AdonaiVera/fiftyone-mcp-server
29
- Project-URL: Repository, https://github.com/AdonaiVera/fiftyone-mcp-server
30
- Description-Content-Type: text/markdown
31
-
32
- # FiftyOne MCP Server
33
-
34
- <!-- mcp-name: io.github.AdonaiVera/fiftyone-mcp-server -->
35
-
36
- <div align="center">
37
- <p align="center">
38
-
39
- <!-- prettier-ignore -->
40
- <img src="https://user-images.githubusercontent.com/25985824/106288517-2422e000-6216-11eb-871d-26ad2e7b1e59.png" height="55px"> &nbsp;
41
- <img src="https://user-images.githubusercontent.com/25985824/106288518-24bb7680-6216-11eb-8f10-60052c519586.png" height="50px">
42
-
43
- ![fo_agent](https://github.com/user-attachments/assets/ffba1886-125c-4c73-ae51-a300b652cffe)
44
-
45
- > Control FiftyOne datasets through AI assistants using the Model Context Protocol
46
-
47
- [![PyPI](https://img.shields.io/pypi/v/fiftyone-mcp-server.svg)](https://pypi.org/project/fiftyone-mcp-server/)
48
- [![Python](https://img.shields.io/pypi/pyversions/fiftyone-mcp-server.svg)](https://pypi.org/project/fiftyone-mcp-server/)
49
-
50
- </p>
51
- </div>
52
-
53
- ## Overview
54
-
55
- 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.
56
-
57
- ## Features
58
-
59
- - **Dataset Management (3 tools)** - List, load, and summarize datasets
60
- - **Operator System (5 tools)** - Execute any FiftyOne operator dynamically
61
- - **Plugin Management (5 tools)** - Discover and install FiftyOne plugins
62
- - **Session Management (3 tools)** - Control FiftyOne App for delegated execution
63
- - **Natural Language Workflows** - Multi-step operations through conversation
64
- - **ChatGPT & Claude Compatible** - Works with desktop apps
65
-
66
- ## Quick Start
67
-
68
- ### Option 1: pip (Simplest)
69
-
70
- ```bash
71
- pip install fiftyone-mcp-server
72
- ```
73
-
74
- Then add to your AI tool config and restart:
75
-
76
- <details>
77
- <summary><b>Claude Desktop</b></summary>
78
-
79
- Edit `~/Library/Application Support/Claude/claude_desktop_config.json`:
80
-
81
- ```json
82
- {
83
- "mcpServers": {
84
- "fiftyone": {
85
- "command": "fiftyone-mcp"
86
- }
87
- }
88
- }
89
- ```
90
-
91
- </details>
92
-
93
- <details>
94
- <summary><b>Claude Code</b></summary>
95
-
96
- ```bash
97
- claude mcp add fiftyone -- fiftyone-mcp
98
- ```
99
-
100
- </details>
101
-
102
- <details>
103
- <summary><b>Cursor</b></summary>
104
-
105
- Add to Cursor MCP settings:
106
-
107
- ```json
108
- {
109
- "fiftyone": {
110
- "command": "fiftyone-mcp"
111
- }
112
- }
113
- ```
114
-
115
- </details>
116
-
117
- <details>
118
- <summary><b>VSCode</b></summary>
119
-
120
- Add to `.vscode/mcp.json`:
121
-
122
- ```json
123
- {
124
- "servers": {
125
- "fiftyone": {
126
- "command": "fiftyone-mcp"
127
- }
128
- }
129
- }
130
- ```
131
-
132
- </details>
133
-
134
- <details>
135
- <summary><b>ChatGPT Desktop</b></summary>
136
-
137
- Edit `~/Library/Application Support/ChatGPT/config.json`:
138
-
139
- ```json
140
- {
141
- "mcpServers": {
142
- "fiftyone": {
143
- "command": "fiftyone-mcp"
144
- }
145
- }
146
- }
147
- ```
148
-
149
- </details>
150
-
151
- ### Option 2: uvx (No Install Needed)
152
-
153
- If you have [uv](https://github.com/astral-sh/uv) installed:
154
-
155
- ```json
156
- {
157
- "mcpServers": {
158
- "fiftyone": {
159
- "command": "uvx",
160
- "args": ["fiftyone-mcp-server"]
161
- }
162
- }
163
- }
164
- ```
165
-
166
- This downloads and runs the latest version automatically.
167
-
168
- ## Usage
169
-
170
- After configuration, restart your AI assistant and try:
171
-
172
- ```
173
- "List all my datasets"
174
- "Load quickstart dataset and show summary"
175
- "What operators are available for managing samples?"
176
- "Set context to my dataset, then tag high-confidence samples"
177
- "What plugins are available? Install the brain plugin"
178
- "Find similar images in my dataset"
179
- ```
180
-
181
- 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).
182
-
183
- ## Architecture
184
-
185
- | Component | Description |
186
- | ---------------------- | ------------------------------------------------ |
187
- | **Operator System** | 80+ FiftyOne operators through unified interface |
188
- | **Plugin System** | AI discovers and installs plugins on demand |
189
- | **Session System** | Launch FiftyOne App for delegated operators |
190
- | **Context Management** | Dataset, view, and selection state |
191
-
192
- **Design Philosophy:** Minimal tool count (16 tools), maximum flexibility (full operator & plugin ecosystem).
193
-
194
- ## Contributing
195
-
196
- We welcome contributions! Here's how to set up a local development environment.
197
-
198
- ### Local Development Setup
199
-
200
- ```bash
201
- # Clone the repository
202
- git clone https://github.com/AdonaiVera/fiftyone-mcp-server.git
203
- cd fiftyone-mcp-server
204
-
205
- # Install Poetry (if not installed)
206
- curl -sSL https://install.python-poetry.org | python3 -
207
-
208
- # Install dependencies
209
- poetry install
210
-
211
- # Run the server locally
212
- poetry run fiftyone-mcp
213
- ```
214
-
215
- ### Testing Your Changes
216
-
217
- ```bash
218
- # Run tests
219
- poetry run pytest
220
-
221
- # Code formatting
222
- poetry run black -l 79 src/
223
-
224
- # Linting
225
- poetry run pylint --errors-only src/
226
-
227
- # Test with MCP Inspector
228
- npx @modelcontextprotocol/inspector poetry run fiftyone-mcp
229
- ```
230
-
231
- ### Using Local Version with Claude
232
-
233
- To test your local changes with Claude Desktop, update your config:
234
-
235
- ```json
236
- {
237
- "mcpServers": {
238
- "fiftyone": {
239
- "command": "poetry",
240
- "args": ["run", "fiftyone-mcp"],
241
- "cwd": "/absolute/path/to/fiftyone-mcp-server"
242
- }
243
- }
244
- }
245
- ```
246
-
247
- ## Resources
248
-
249
- - [FiftyOne Docs](https://docs.voxel51.com/)
250
- - [FiftyOne Operators](https://docs.voxel51.com/plugins/developing_plugins.html)
251
- - [Model Context Protocol](https://modelcontextprotocol.io)
252
- - [MCP Inspector](https://github.com/modelcontextprotocol/inspector)
253
- - [PyPI Package](https://pypi.org/project/fiftyone-mcp-server/)
254
-
255
- ---
256
-
257
- Built with [FiftyOne](https://voxel51.com/fiftyone) and [Model Context Protocol](https://modelcontextprotocol.io)
258
-
@@ -1,226 +0,0 @@
1
- # FiftyOne MCP Server
2
-
3
- <!-- mcp-name: io.github.AdonaiVera/fiftyone-mcp-server -->
4
-
5
- <div align="center">
6
- <p align="center">
7
-
8
- <!-- prettier-ignore -->
9
- <img src="https://user-images.githubusercontent.com/25985824/106288517-2422e000-6216-11eb-871d-26ad2e7b1e59.png" height="55px"> &nbsp;
10
- <img src="https://user-images.githubusercontent.com/25985824/106288518-24bb7680-6216-11eb-8f10-60052c519586.png" height="50px">
11
-
12
- ![fo_agent](https://github.com/user-attachments/assets/ffba1886-125c-4c73-ae51-a300b652cffe)
13
-
14
- > Control FiftyOne datasets through AI assistants using the Model Context Protocol
15
-
16
- [![PyPI](https://img.shields.io/pypi/v/fiftyone-mcp-server.svg)](https://pypi.org/project/fiftyone-mcp-server/)
17
- [![Python](https://img.shields.io/pypi/pyversions/fiftyone-mcp-server.svg)](https://pypi.org/project/fiftyone-mcp-server/)
18
-
19
- </p>
20
- </div>
21
-
22
- ## Overview
23
-
24
- 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.
25
-
26
- ## Features
27
-
28
- - **Dataset Management (3 tools)** - List, load, and summarize datasets
29
- - **Operator System (5 tools)** - Execute any FiftyOne operator dynamically
30
- - **Plugin Management (5 tools)** - Discover and install FiftyOne plugins
31
- - **Session Management (3 tools)** - Control FiftyOne App for delegated execution
32
- - **Natural Language Workflows** - Multi-step operations through conversation
33
- - **ChatGPT & Claude Compatible** - Works with desktop apps
34
-
35
- ## Quick Start
36
-
37
- ### Option 1: pip (Simplest)
38
-
39
- ```bash
40
- pip install fiftyone-mcp-server
41
- ```
42
-
43
- Then add to your AI tool config and restart:
44
-
45
- <details>
46
- <summary><b>Claude Desktop</b></summary>
47
-
48
- Edit `~/Library/Application Support/Claude/claude_desktop_config.json`:
49
-
50
- ```json
51
- {
52
- "mcpServers": {
53
- "fiftyone": {
54
- "command": "fiftyone-mcp"
55
- }
56
- }
57
- }
58
- ```
59
-
60
- </details>
61
-
62
- <details>
63
- <summary><b>Claude Code</b></summary>
64
-
65
- ```bash
66
- claude mcp add fiftyone -- fiftyone-mcp
67
- ```
68
-
69
- </details>
70
-
71
- <details>
72
- <summary><b>Cursor</b></summary>
73
-
74
- Add to Cursor MCP settings:
75
-
76
- ```json
77
- {
78
- "fiftyone": {
79
- "command": "fiftyone-mcp"
80
- }
81
- }
82
- ```
83
-
84
- </details>
85
-
86
- <details>
87
- <summary><b>VSCode</b></summary>
88
-
89
- Add to `.vscode/mcp.json`:
90
-
91
- ```json
92
- {
93
- "servers": {
94
- "fiftyone": {
95
- "command": "fiftyone-mcp"
96
- }
97
- }
98
- }
99
- ```
100
-
101
- </details>
102
-
103
- <details>
104
- <summary><b>ChatGPT Desktop</b></summary>
105
-
106
- Edit `~/Library/Application Support/ChatGPT/config.json`:
107
-
108
- ```json
109
- {
110
- "mcpServers": {
111
- "fiftyone": {
112
- "command": "fiftyone-mcp"
113
- }
114
- }
115
- }
116
- ```
117
-
118
- </details>
119
-
120
- ### Option 2: uvx (No Install Needed)
121
-
122
- If you have [uv](https://github.com/astral-sh/uv) installed:
123
-
124
- ```json
125
- {
126
- "mcpServers": {
127
- "fiftyone": {
128
- "command": "uvx",
129
- "args": ["fiftyone-mcp-server"]
130
- }
131
- }
132
- }
133
- ```
134
-
135
- This downloads and runs the latest version automatically.
136
-
137
- ## Usage
138
-
139
- After configuration, restart your AI assistant and try:
140
-
141
- ```
142
- "List all my datasets"
143
- "Load quickstart dataset and show summary"
144
- "What operators are available for managing samples?"
145
- "Set context to my dataset, then tag high-confidence samples"
146
- "What plugins are available? Install the brain plugin"
147
- "Find similar images in my dataset"
148
- ```
149
-
150
- 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).
151
-
152
- ## Architecture
153
-
154
- | Component | Description |
155
- | ---------------------- | ------------------------------------------------ |
156
- | **Operator System** | 80+ FiftyOne operators through unified interface |
157
- | **Plugin System** | AI discovers and installs plugins on demand |
158
- | **Session System** | Launch FiftyOne App for delegated operators |
159
- | **Context Management** | Dataset, view, and selection state |
160
-
161
- **Design Philosophy:** Minimal tool count (16 tools), maximum flexibility (full operator & plugin ecosystem).
162
-
163
- ## Contributing
164
-
165
- We welcome contributions! Here's how to set up a local development environment.
166
-
167
- ### Local Development Setup
168
-
169
- ```bash
170
- # Clone the repository
171
- git clone https://github.com/AdonaiVera/fiftyone-mcp-server.git
172
- cd fiftyone-mcp-server
173
-
174
- # Install Poetry (if not installed)
175
- curl -sSL https://install.python-poetry.org | python3 -
176
-
177
- # Install dependencies
178
- poetry install
179
-
180
- # Run the server locally
181
- poetry run fiftyone-mcp
182
- ```
183
-
184
- ### Testing Your Changes
185
-
186
- ```bash
187
- # Run tests
188
- poetry run pytest
189
-
190
- # Code formatting
191
- poetry run black -l 79 src/
192
-
193
- # Linting
194
- poetry run pylint --errors-only src/
195
-
196
- # Test with MCP Inspector
197
- npx @modelcontextprotocol/inspector poetry run fiftyone-mcp
198
- ```
199
-
200
- ### Using Local Version with Claude
201
-
202
- To test your local changes with Claude Desktop, update your config:
203
-
204
- ```json
205
- {
206
- "mcpServers": {
207
- "fiftyone": {
208
- "command": "poetry",
209
- "args": ["run", "fiftyone-mcp"],
210
- "cwd": "/absolute/path/to/fiftyone-mcp-server"
211
- }
212
- }
213
- }
214
- ```
215
-
216
- ## Resources
217
-
218
- - [FiftyOne Docs](https://docs.voxel51.com/)
219
- - [FiftyOne Operators](https://docs.voxel51.com/plugins/developing_plugins.html)
220
- - [Model Context Protocol](https://modelcontextprotocol.io)
221
- - [MCP Inspector](https://github.com/modelcontextprotocol/inspector)
222
- - [PyPI Package](https://pypi.org/project/fiftyone-mcp-server/)
223
-
224
- ---
225
-
226
- Built with [FiftyOne](https://voxel51.com/fiftyone) and [Model Context Protocol](https://modelcontextprotocol.io)