fiftyone-mcp-server 0.1.1__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.
- fiftyone_mcp_server-0.1.3/PKG-INFO +264 -0
- fiftyone_mcp_server-0.1.3/README.md +231 -0
- {fiftyone_mcp_server-0.1.1 → fiftyone_mcp_server-0.1.3}/pyproject.toml +10 -9
- fiftyone_mcp_server-0.1.1/PKG-INFO +0 -252
- fiftyone_mcp_server-0.1.1/README.md +0 -220
- {fiftyone_mcp_server-0.1.1 → fiftyone_mcp_server-0.1.3}/src/fiftyone_mcp/__init__.py +0 -0
- {fiftyone_mcp_server-0.1.1 → fiftyone_mcp_server-0.1.3}/src/fiftyone_mcp/config/settings.json +0 -0
- {fiftyone_mcp_server-0.1.1 → fiftyone_mcp_server-0.1.3}/src/fiftyone_mcp/server.py +0 -0
- {fiftyone_mcp_server-0.1.1 → fiftyone_mcp_server-0.1.3}/src/fiftyone_mcp/tools/__init__.py +0 -0
- {fiftyone_mcp_server-0.1.1 → fiftyone_mcp_server-0.1.3}/src/fiftyone_mcp/tools/datasets.py +0 -0
- {fiftyone_mcp_server-0.1.1 → fiftyone_mcp_server-0.1.3}/src/fiftyone_mcp/tools/operators.py +0 -0
- {fiftyone_mcp_server-0.1.1 → fiftyone_mcp_server-0.1.3}/src/fiftyone_mcp/tools/plugins.py +0 -0
- {fiftyone_mcp_server-0.1.1 → fiftyone_mcp_server-0.1.3}/src/fiftyone_mcp/tools/session.py +0 -0
- {fiftyone_mcp_server-0.1.1 → fiftyone_mcp_server-0.1.3}/src/fiftyone_mcp/tools/utils.py +0 -0
|
@@ -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">
|
|
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)
|
|
49
|
+
[](https://pypi.org/project/fiftyone-mcp-server/)
|
|
50
|
+
[](https://pypi.org/project/fiftyone-mcp-server/)
|
|
51
|
+
[](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
|
+
[](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
|
+
[](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">
|
|
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)
|
|
17
|
+
[](https://pypi.org/project/fiftyone-mcp-server/)
|
|
18
|
+
[](https://pypi.org/project/fiftyone-mcp-server/)
|
|
19
|
+
[](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
|
+
[](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
|
+
[](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.
|
|
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/
|
|
9
|
-
repository = "https://github.com/
|
|
10
|
-
documentation = "https://github.com/
|
|
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 = "
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
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,252 +0,0 @@
|
|
|
1
|
-
Metadata-Version: 2.4
|
|
2
|
-
Name: fiftyone-mcp-server
|
|
3
|
-
Version: 0.1.1
|
|
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">
|
|
41
|
-
<img src="https://user-images.githubusercontent.com/25985824/106288518-24bb7680-6216-11eb-8f10-60052c519586.png" height="50px">
|
|
42
|
-
|
|
43
|
-

|
|
44
|
-
|
|
45
|
-
> Control FiftyOne datasets through AI assistants using the Model Context Protocol
|
|
46
|
-
|
|
47
|
-
[](https://pypi.org/project/fiftyone-mcp-server/)
|
|
48
|
-
[](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
|
-
</details>
|
|
91
|
-
|
|
92
|
-
<details>
|
|
93
|
-
<summary><b>Claude Code</b></summary>
|
|
94
|
-
|
|
95
|
-
```bash
|
|
96
|
-
claude mcp add fiftyone -- fiftyone-mcp
|
|
97
|
-
```
|
|
98
|
-
</details>
|
|
99
|
-
|
|
100
|
-
<details>
|
|
101
|
-
<summary><b>Cursor</b></summary>
|
|
102
|
-
|
|
103
|
-
Add to Cursor MCP settings:
|
|
104
|
-
|
|
105
|
-
```json
|
|
106
|
-
{
|
|
107
|
-
"fiftyone": {
|
|
108
|
-
"command": "fiftyone-mcp"
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
```
|
|
112
|
-
</details>
|
|
113
|
-
|
|
114
|
-
<details>
|
|
115
|
-
<summary><b>VSCode</b></summary>
|
|
116
|
-
|
|
117
|
-
Add to `.vscode/mcp.json`:
|
|
118
|
-
|
|
119
|
-
```json
|
|
120
|
-
{
|
|
121
|
-
"servers": {
|
|
122
|
-
"fiftyone": {
|
|
123
|
-
"command": "fiftyone-mcp"
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
```
|
|
128
|
-
</details>
|
|
129
|
-
|
|
130
|
-
<details>
|
|
131
|
-
<summary><b>ChatGPT Desktop</b></summary>
|
|
132
|
-
|
|
133
|
-
Edit `~/Library/Application Support/ChatGPT/config.json`:
|
|
134
|
-
|
|
135
|
-
```json
|
|
136
|
-
{
|
|
137
|
-
"mcpServers": {
|
|
138
|
-
"fiftyone": {
|
|
139
|
-
"command": "fiftyone-mcp"
|
|
140
|
-
}
|
|
141
|
-
}
|
|
142
|
-
}
|
|
143
|
-
```
|
|
144
|
-
</details>
|
|
145
|
-
|
|
146
|
-
### Option 2: uvx (No Install Needed)
|
|
147
|
-
|
|
148
|
-
If you have [uv](https://github.com/astral-sh/uv) installed:
|
|
149
|
-
|
|
150
|
-
```json
|
|
151
|
-
{
|
|
152
|
-
"mcpServers": {
|
|
153
|
-
"fiftyone": {
|
|
154
|
-
"command": "uvx",
|
|
155
|
-
"args": ["fiftyone-mcp-server"]
|
|
156
|
-
}
|
|
157
|
-
}
|
|
158
|
-
}
|
|
159
|
-
```
|
|
160
|
-
|
|
161
|
-
This downloads and runs the latest version automatically.
|
|
162
|
-
|
|
163
|
-
## Usage
|
|
164
|
-
|
|
165
|
-
After configuration, restart your AI assistant and try:
|
|
166
|
-
|
|
167
|
-
```
|
|
168
|
-
"List all my datasets"
|
|
169
|
-
"Load quickstart dataset and show summary"
|
|
170
|
-
"What operators are available for managing samples?"
|
|
171
|
-
"Set context to my dataset, then tag high-confidence samples"
|
|
172
|
-
"What plugins are available? Install the brain plugin"
|
|
173
|
-
"Find similar images in my dataset"
|
|
174
|
-
```
|
|
175
|
-
|
|
176
|
-
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).
|
|
177
|
-
|
|
178
|
-
## Architecture
|
|
179
|
-
|
|
180
|
-
| Component | Description |
|
|
181
|
-
|-----------|-------------|
|
|
182
|
-
| **Operator System** | 80+ FiftyOne operators through unified interface |
|
|
183
|
-
| **Plugin System** | AI discovers and installs plugins on demand |
|
|
184
|
-
| **Session System** | Launch FiftyOne App for delegated operators |
|
|
185
|
-
| **Context Management** | Dataset, view, and selection state |
|
|
186
|
-
|
|
187
|
-
**Design Philosophy:** Minimal tool count (16 tools), maximum flexibility (full operator & plugin ecosystem).
|
|
188
|
-
|
|
189
|
-
## Contributing
|
|
190
|
-
|
|
191
|
-
We welcome contributions! Here's how to set up a local development environment.
|
|
192
|
-
|
|
193
|
-
### Local Development Setup
|
|
194
|
-
|
|
195
|
-
```bash
|
|
196
|
-
# Clone the repository
|
|
197
|
-
git clone https://github.com/AdonaiVera/fiftyone-mcp-server.git
|
|
198
|
-
cd fiftyone-mcp-server
|
|
199
|
-
|
|
200
|
-
# Install Poetry (if not installed)
|
|
201
|
-
curl -sSL https://install.python-poetry.org | python3 -
|
|
202
|
-
|
|
203
|
-
# Install dependencies
|
|
204
|
-
poetry install
|
|
205
|
-
|
|
206
|
-
# Run the server locally
|
|
207
|
-
poetry run fiftyone-mcp
|
|
208
|
-
```
|
|
209
|
-
|
|
210
|
-
### Testing Your Changes
|
|
211
|
-
|
|
212
|
-
```bash
|
|
213
|
-
# Run tests
|
|
214
|
-
poetry run pytest
|
|
215
|
-
|
|
216
|
-
# Code formatting
|
|
217
|
-
poetry run black -l 79 src/
|
|
218
|
-
|
|
219
|
-
# Linting
|
|
220
|
-
poetry run pylint --errors-only src/
|
|
221
|
-
|
|
222
|
-
# Test with MCP Inspector
|
|
223
|
-
npx @modelcontextprotocol/inspector poetry run fiftyone-mcp
|
|
224
|
-
```
|
|
225
|
-
|
|
226
|
-
### Using Local Version with Claude
|
|
227
|
-
|
|
228
|
-
To test your local changes with Claude Desktop, update your config:
|
|
229
|
-
|
|
230
|
-
```json
|
|
231
|
-
{
|
|
232
|
-
"mcpServers": {
|
|
233
|
-
"fiftyone": {
|
|
234
|
-
"command": "poetry",
|
|
235
|
-
"args": ["run", "fiftyone-mcp"],
|
|
236
|
-
"cwd": "/absolute/path/to/fiftyone-mcp-server"
|
|
237
|
-
}
|
|
238
|
-
}
|
|
239
|
-
}
|
|
240
|
-
```
|
|
241
|
-
## Resources
|
|
242
|
-
|
|
243
|
-
- [FiftyOne Docs](https://docs.voxel51.com/)
|
|
244
|
-
- [FiftyOne Operators](https://docs.voxel51.com/plugins/developing_plugins.html)
|
|
245
|
-
- [Model Context Protocol](https://modelcontextprotocol.io)
|
|
246
|
-
- [MCP Inspector](https://github.com/modelcontextprotocol/inspector)
|
|
247
|
-
- [PyPI Package](https://pypi.org/project/fiftyone-mcp-server/)
|
|
248
|
-
|
|
249
|
-
---
|
|
250
|
-
|
|
251
|
-
Built with [FiftyOne](https://voxel51.com/fiftyone) and [Model Context Protocol](https://modelcontextprotocol.io)
|
|
252
|
-
|
|
@@ -1,220 +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">
|
|
10
|
-
<img src="https://user-images.githubusercontent.com/25985824/106288518-24bb7680-6216-11eb-8f10-60052c519586.png" height="50px">
|
|
11
|
-
|
|
12
|
-

|
|
13
|
-
|
|
14
|
-
> Control FiftyOne datasets through AI assistants using the Model Context Protocol
|
|
15
|
-
|
|
16
|
-
[](https://pypi.org/project/fiftyone-mcp-server/)
|
|
17
|
-
[](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
|
-
</details>
|
|
60
|
-
|
|
61
|
-
<details>
|
|
62
|
-
<summary><b>Claude Code</b></summary>
|
|
63
|
-
|
|
64
|
-
```bash
|
|
65
|
-
claude mcp add fiftyone -- fiftyone-mcp
|
|
66
|
-
```
|
|
67
|
-
</details>
|
|
68
|
-
|
|
69
|
-
<details>
|
|
70
|
-
<summary><b>Cursor</b></summary>
|
|
71
|
-
|
|
72
|
-
Add to Cursor MCP settings:
|
|
73
|
-
|
|
74
|
-
```json
|
|
75
|
-
{
|
|
76
|
-
"fiftyone": {
|
|
77
|
-
"command": "fiftyone-mcp"
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
```
|
|
81
|
-
</details>
|
|
82
|
-
|
|
83
|
-
<details>
|
|
84
|
-
<summary><b>VSCode</b></summary>
|
|
85
|
-
|
|
86
|
-
Add to `.vscode/mcp.json`:
|
|
87
|
-
|
|
88
|
-
```json
|
|
89
|
-
{
|
|
90
|
-
"servers": {
|
|
91
|
-
"fiftyone": {
|
|
92
|
-
"command": "fiftyone-mcp"
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
```
|
|
97
|
-
</details>
|
|
98
|
-
|
|
99
|
-
<details>
|
|
100
|
-
<summary><b>ChatGPT Desktop</b></summary>
|
|
101
|
-
|
|
102
|
-
Edit `~/Library/Application Support/ChatGPT/config.json`:
|
|
103
|
-
|
|
104
|
-
```json
|
|
105
|
-
{
|
|
106
|
-
"mcpServers": {
|
|
107
|
-
"fiftyone": {
|
|
108
|
-
"command": "fiftyone-mcp"
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
```
|
|
113
|
-
</details>
|
|
114
|
-
|
|
115
|
-
### Option 2: uvx (No Install Needed)
|
|
116
|
-
|
|
117
|
-
If you have [uv](https://github.com/astral-sh/uv) installed:
|
|
118
|
-
|
|
119
|
-
```json
|
|
120
|
-
{
|
|
121
|
-
"mcpServers": {
|
|
122
|
-
"fiftyone": {
|
|
123
|
-
"command": "uvx",
|
|
124
|
-
"args": ["fiftyone-mcp-server"]
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
```
|
|
129
|
-
|
|
130
|
-
This downloads and runs the latest version automatically.
|
|
131
|
-
|
|
132
|
-
## Usage
|
|
133
|
-
|
|
134
|
-
After configuration, restart your AI assistant and try:
|
|
135
|
-
|
|
136
|
-
```
|
|
137
|
-
"List all my datasets"
|
|
138
|
-
"Load quickstart dataset and show summary"
|
|
139
|
-
"What operators are available for managing samples?"
|
|
140
|
-
"Set context to my dataset, then tag high-confidence samples"
|
|
141
|
-
"What plugins are available? Install the brain plugin"
|
|
142
|
-
"Find similar images in my dataset"
|
|
143
|
-
```
|
|
144
|
-
|
|
145
|
-
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).
|
|
146
|
-
|
|
147
|
-
## Architecture
|
|
148
|
-
|
|
149
|
-
| Component | Description |
|
|
150
|
-
|-----------|-------------|
|
|
151
|
-
| **Operator System** | 80+ FiftyOne operators through unified interface |
|
|
152
|
-
| **Plugin System** | AI discovers and installs plugins on demand |
|
|
153
|
-
| **Session System** | Launch FiftyOne App for delegated operators |
|
|
154
|
-
| **Context Management** | Dataset, view, and selection state |
|
|
155
|
-
|
|
156
|
-
**Design Philosophy:** Minimal tool count (16 tools), maximum flexibility (full operator & plugin ecosystem).
|
|
157
|
-
|
|
158
|
-
## Contributing
|
|
159
|
-
|
|
160
|
-
We welcome contributions! Here's how to set up a local development environment.
|
|
161
|
-
|
|
162
|
-
### Local Development Setup
|
|
163
|
-
|
|
164
|
-
```bash
|
|
165
|
-
# Clone the repository
|
|
166
|
-
git clone https://github.com/AdonaiVera/fiftyone-mcp-server.git
|
|
167
|
-
cd fiftyone-mcp-server
|
|
168
|
-
|
|
169
|
-
# Install Poetry (if not installed)
|
|
170
|
-
curl -sSL https://install.python-poetry.org | python3 -
|
|
171
|
-
|
|
172
|
-
# Install dependencies
|
|
173
|
-
poetry install
|
|
174
|
-
|
|
175
|
-
# Run the server locally
|
|
176
|
-
poetry run fiftyone-mcp
|
|
177
|
-
```
|
|
178
|
-
|
|
179
|
-
### Testing Your Changes
|
|
180
|
-
|
|
181
|
-
```bash
|
|
182
|
-
# Run tests
|
|
183
|
-
poetry run pytest
|
|
184
|
-
|
|
185
|
-
# Code formatting
|
|
186
|
-
poetry run black -l 79 src/
|
|
187
|
-
|
|
188
|
-
# Linting
|
|
189
|
-
poetry run pylint --errors-only src/
|
|
190
|
-
|
|
191
|
-
# Test with MCP Inspector
|
|
192
|
-
npx @modelcontextprotocol/inspector poetry run fiftyone-mcp
|
|
193
|
-
```
|
|
194
|
-
|
|
195
|
-
### Using Local Version with Claude
|
|
196
|
-
|
|
197
|
-
To test your local changes with Claude Desktop, update your config:
|
|
198
|
-
|
|
199
|
-
```json
|
|
200
|
-
{
|
|
201
|
-
"mcpServers": {
|
|
202
|
-
"fiftyone": {
|
|
203
|
-
"command": "poetry",
|
|
204
|
-
"args": ["run", "fiftyone-mcp"],
|
|
205
|
-
"cwd": "/absolute/path/to/fiftyone-mcp-server"
|
|
206
|
-
}
|
|
207
|
-
}
|
|
208
|
-
}
|
|
209
|
-
```
|
|
210
|
-
## Resources
|
|
211
|
-
|
|
212
|
-
- [FiftyOne Docs](https://docs.voxel51.com/)
|
|
213
|
-
- [FiftyOne Operators](https://docs.voxel51.com/plugins/developing_plugins.html)
|
|
214
|
-
- [Model Context Protocol](https://modelcontextprotocol.io)
|
|
215
|
-
- [MCP Inspector](https://github.com/modelcontextprotocol/inspector)
|
|
216
|
-
- [PyPI Package](https://pypi.org/project/fiftyone-mcp-server/)
|
|
217
|
-
|
|
218
|
-
---
|
|
219
|
-
|
|
220
|
-
Built with [FiftyOne](https://voxel51.com/fiftyone) and [Model Context Protocol](https://modelcontextprotocol.io)
|
|
File without changes
|
{fiftyone_mcp_server-0.1.1 → fiftyone_mcp_server-0.1.3}/src/fiftyone_mcp/config/settings.json
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|