fiftyone-mcp-server 0.1.0__py3-none-any.whl → 0.1.1__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.1
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,111 @@ 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
79
-
80
- ## Configuration
74
+ Then add to your AI tool config and restart:
81
75
 
82
- Add to MCP config:
76
+ <details>
77
+ <summary><b>Claude Desktop</b></summary>
83
78
 
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
  ```
90
+ </details>
98
91
 
99
- Restart your AI assistant.
92
+ <details>
93
+ <summary><b>Claude Code</b></summary>
100
94
 
101
- ## Usage
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>
102
116
 
117
+ Add to `.vscode/mcp.json`:
118
+
119
+ ```json
120
+ {
121
+ "servers": {
122
+ "fiftyone": {
123
+ "command": "fiftyone-mcp"
124
+ }
125
+ }
126
+ }
103
127
  ```
104
- # Run
105
- poetry run fiftyone-mcp
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
+ }
106
143
  ```
144
+ </details>
145
+
146
+ ### Option 2: uvx (No Install Needed)
107
147
 
108
- And then you can query directly the agent:
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:
109
166
 
110
167
  ```
111
168
  "List all my datasets"
@@ -116,57 +173,78 @@ And then you can query directly the agent:
116
173
  "Find similar images in my dataset"
117
174
  ```
118
175
 
119
- Example of functionality:
120
-
121
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).
122
177
 
123
178
  ## Architecture
124
179
 
125
- **Operator-Based Design:**
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 |
126
186
 
127
- - Exposes 80+ FiftyOne operators through unified interface
128
- - Dynamic schema resolution based on current context
129
- - Context state management (dataset, view, selection)
187
+ **Design Philosophy:** Minimal tool count (16 tools), maximum flexibility (full operator & plugin ecosystem).
130
188
 
131
- **Plugin Architecture:**
189
+ ## Contributing
132
190
 
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
191
+ We welcome contributions! Here's how to set up a local development environment.
137
192
 
138
- **Session Architecture:**
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
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
+ # Install Poetry (if not installed)
201
+ curl -sSL https://install.python-poetry.org | python3 -
143
202
 
144
- **Design Philosophy:**
203
+ # Install dependencies
204
+ poetry install
145
205
 
146
- - Minimal tool count (16 tools total)
147
- - Maximum flexibility (access to full operator & plugin ecosystem)
148
- - Mirrors FiftyOne App's execution model
206
+ # Run the server locally
207
+ poetry run fiftyone-mcp
208
+ ```
149
209
 
150
- ## Development
210
+ ### Testing Your Changes
151
211
 
152
212
  ```bash
153
213
  # Run tests
154
214
  poetry run pytest
155
215
 
156
- # Code quality
216
+ # Code formatting
157
217
  poetry run black -l 79 src/
218
+
219
+ # Linting
158
220
  poetry run pylint --errors-only src/
159
221
 
160
222
  # Test with MCP Inspector
161
223
  npx @modelcontextprotocol/inspector poetry run fiftyone-mcp
162
224
  ```
163
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
+ ```
164
241
  ## Resources
165
242
 
166
243
  - [FiftyOne Docs](https://docs.voxel51.com/)
167
244
  - [FiftyOne Operators](https://docs.voxel51.com/plugins/developing_plugins.html)
168
245
  - [Model Context Protocol](https://modelcontextprotocol.io)
169
246
  - [MCP Inspector](https://github.com/modelcontextprotocol/inspector)
247
+ - [PyPI Package](https://pypi.org/project/fiftyone-mcp-server/)
170
248
 
171
249
  ---
172
250
 
@@ -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.1.dist-info/METADATA,sha256=dy8MpPrxDXe-rrSOILX_OmiBxc2QaBmg51RKZ0woTJ0,6665
11
+ fiftyone_mcp_server-0.1.1.dist-info/WHEEL,sha256=zp0Cn7JsFoX2ATtOhtaFYIiE2rmFAD4OcMhtUki8W3U,88
12
+ fiftyone_mcp_server-0.1.1.dist-info/entry_points.txt,sha256=SaZqYMrreTAYdbR5Dtle_pMKL5hFpi95dVPWMmlDXHs,56
13
+ fiftyone_mcp_server-0.1.1.dist-info/RECORD,,