fiftyone-mcp-server 0.1.0__py3-none-any.whl → 0.1.2__py3-none-any.whl

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.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: fiftyone-mcp-server
3
- Version: 0.1.0
3
+ Version: 0.1.2
4
4
  Summary: MCP server exposing FiftyOne dataset analysis tools
5
5
  License: MIT
6
6
  Keywords: mcp,fiftyone,computer-vision,ai,datasets,model-context-protocol
@@ -17,8 +17,8 @@ Classifier: Programming Language :: Python :: 3.10
17
17
  Classifier: Programming Language :: Python :: 3.11
18
18
  Classifier: Programming Language :: Python :: 3.12
19
19
  Classifier: Programming Language :: Python :: 3.13
20
+ Classifier: Programming Language :: Python :: 3.9
20
21
  Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
21
- Classifier: Topic :: Scientific/Engineering :: Image Recognition
22
22
  Requires-Dist: fiftyone (>=1.0,<2.0)
23
23
  Requires-Dist: mcp (>=0.9.0,<0.10.0)
24
24
  Requires-Dist: torch (>=2.9.1,<3.0.0)
@@ -31,6 +31,8 @@ Description-Content-Type: text/markdown
31
31
 
32
32
  # FiftyOne MCP Server
33
33
 
34
+ <!-- mcp-name: io.github.AdonaiVera/fiftyone-mcp-server -->
35
+
34
36
  <div align="center">
35
37
  <p align="center">
36
38
 
@@ -42,6 +44,9 @@ Description-Content-Type: text/markdown
42
44
 
43
45
  > Control FiftyOne datasets through AI assistants using the Model Context Protocol
44
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
+
45
50
  </p>
46
51
  </div>
47
52
 
@@ -53,59 +58,116 @@ Enable ChatGPT and Claude to explore datasets, execute operators, and build comp
53
58
 
54
59
  - **Dataset Management (3 tools)** - List, load, and summarize datasets
55
60
  - **Operator System (5 tools)** - Execute any FiftyOne operator dynamically
56
- - Context management (dataset/view/selection)
57
- - Operator discovery and schema resolution
58
- - Dynamic execution interface
59
61
  - **Plugin Management (5 tools)** - Discover and install FiftyOne plugins
60
- - List available plugins and their operators
61
- - Install plugins from GitHub on demand
62
- - Enable/disable plugins dynamically
63
62
  - **Session Management (3 tools)** - Control FiftyOne App for delegated execution
64
- - Launch/close FiftyOne App server
65
- - Required for background operators (brain, evaluation, etc.)
66
- - Session info and status monitoring
67
63
  - **Natural Language Workflows** - Multi-step operations through conversation
68
64
  - **ChatGPT & Claude Compatible** - Works with desktop apps
69
65
 
70
- ## Installation
66
+ ## Quick Start
67
+
68
+ ### Option 1: pip (Simplest)
71
69
 
72
70
  ```bash
73
- git clone https://github.com/AdonaiVera/fiftyone-mcp-server.git
74
- cd fiftyone-mcp-server
75
- poetry install
71
+ pip install fiftyone-mcp-server
76
72
  ```
77
73
 
78
- **Requirements:** Python 3.10-3.13, Poetry, FiftyOne
74
+ Then add to your AI tool config and restart:
79
75
 
80
- ## Configuration
76
+ <details>
77
+ <summary><b>Claude Desktop</b></summary>
81
78
 
82
- Add to MCP config:
83
-
84
- - ChatGPT: `~/Library/Application Support/ChatGPT/config.json`
85
- - Claude: `~/Library/Application Support/Claude/claude_desktop_config.json`
79
+ Edit `~/Library/Application Support/Claude/claude_desktop_config.json`:
86
80
 
87
81
  ```json
88
82
  {
89
83
  "mcpServers": {
90
84
  "fiftyone": {
91
- "command": "poetry",
92
- "args": ["run", "fiftyone-mcp"],
93
- "cwd": "/absolute/path/to/fiftyone-mcp-server"
85
+ "command": "fiftyone-mcp"
94
86
  }
95
87
  }
96
88
  }
97
89
  ```
98
90
 
99
- Restart your AI assistant.
91
+ </details>
100
92
 
101
- ## Usage
93
+ <details>
94
+ <summary><b>Claude Code</b></summary>
102
95
 
96
+ ```bash
97
+ claude mcp add fiftyone -- fiftyone-mcp
103
98
  ```
104
- # Run
105
- poetry run fiftyone-mcp
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
+ }
106
147
  ```
107
148
 
108
- And then you can query directly the agent:
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:
109
171
 
110
172
  ```
111
173
  "List all my datasets"
@@ -116,57 +178,79 @@ And then you can query directly the agent:
116
178
  "Find similar images in my dataset"
117
179
  ```
118
180
 
119
- Example of functionality:
120
-
121
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).
122
182
 
123
183
  ## Architecture
124
184
 
125
- **Operator-Based Design:**
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 |
126
191
 
127
- - Exposes 80+ FiftyOne operators through unified interface
128
- - Dynamic schema resolution based on current context
129
- - Context state management (dataset, view, selection)
192
+ **Design Philosophy:** Minimal tool count (16 tools), maximum flexibility (full operator & plugin ecosystem).
130
193
 
131
- **Plugin Architecture:**
194
+ ## Contributing
132
195
 
133
- - AI discovers plugins on demand through `list_plugins`
134
- - Installs plugins automatically when needed
135
- - All plugin operators immediately available after installation
136
- - Self-expanding capability set
196
+ We welcome contributions! Here's how to set up a local development environment.
137
197
 
138
- **Session Architecture:**
198
+ ### Local Development Setup
139
199
 
140
- - AI can launch FiftyOne App when needed for delegated operators
141
- - Enables background execution for compute-intensive operations
142
- - Automatic session management through natural conversation
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 -
143
207
 
144
- **Design Philosophy:**
208
+ # Install dependencies
209
+ poetry install
145
210
 
146
- - Minimal tool count (16 tools total)
147
- - Maximum flexibility (access to full operator & plugin ecosystem)
148
- - Mirrors FiftyOne App's execution model
211
+ # Run the server locally
212
+ poetry run fiftyone-mcp
213
+ ```
149
214
 
150
- ## Development
215
+ ### Testing Your Changes
151
216
 
152
217
  ```bash
153
218
  # Run tests
154
219
  poetry run pytest
155
220
 
156
- # Code quality
221
+ # Code formatting
157
222
  poetry run black -l 79 src/
223
+
224
+ # Linting
158
225
  poetry run pylint --errors-only src/
159
226
 
160
227
  # Test with MCP Inspector
161
228
  npx @modelcontextprotocol/inspector poetry run fiftyone-mcp
162
229
  ```
163
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
+
164
247
  ## Resources
165
248
 
166
249
  - [FiftyOne Docs](https://docs.voxel51.com/)
167
250
  - [FiftyOne Operators](https://docs.voxel51.com/plugins/developing_plugins.html)
168
251
  - [Model Context Protocol](https://modelcontextprotocol.io)
169
252
  - [MCP Inspector](https://github.com/modelcontextprotocol/inspector)
253
+ - [PyPI Package](https://pypi.org/project/fiftyone-mcp-server/)
170
254
 
171
255
  ---
172
256
 
@@ -7,7 +7,7 @@ fiftyone_mcp/tools/operators.py,sha256=bek1o1GjOsy8o4WAtv1DcMm35wvLbi2fcsOKsnIY9
7
7
  fiftyone_mcp/tools/plugins.py,sha256=nwITl1k2cbhsP4hjuZvbwVOFe5-GQARrqghltpWOwUY,10509
8
8
  fiftyone_mcp/tools/session.py,sha256=AYBaj6pugyC1w-hHf4EZJ149Edvy0amweZeoZ4h71Fw,10721
9
9
  fiftyone_mcp/tools/utils.py,sha256=kAswqiJugRBuC4ZFaeA8mKPchDVQzic7mrSMR1zGTug,2660
10
- fiftyone_mcp_server-0.1.0.dist-info/METADATA,sha256=fN33anNo53vLQGV15clsqddob10M-BzYXBY4V_sF-xg,5649
11
- fiftyone_mcp_server-0.1.0.dist-info/WHEEL,sha256=zp0Cn7JsFoX2ATtOhtaFYIiE2rmFAD4OcMhtUki8W3U,88
12
- fiftyone_mcp_server-0.1.0.dist-info/entry_points.txt,sha256=SaZqYMrreTAYdbR5Dtle_pMKL5hFpi95dVPWMmlDXHs,56
13
- fiftyone_mcp_server-0.1.0.dist-info/RECORD,,
10
+ fiftyone_mcp_server-0.1.2.dist-info/METADATA,sha256=cveI1NVlOoH5NexWeb1oNisF2iJEtvQ5FdS9khrBuu4,6807
11
+ fiftyone_mcp_server-0.1.2.dist-info/WHEEL,sha256=zp0Cn7JsFoX2ATtOhtaFYIiE2rmFAD4OcMhtUki8W3U,88
12
+ fiftyone_mcp_server-0.1.2.dist-info/entry_points.txt,sha256=SaZqYMrreTAYdbR5Dtle_pMKL5hFpi95dVPWMmlDXHs,56
13
+ fiftyone_mcp_server-0.1.2.dist-info/RECORD,,