MCP server for the Neo AI/ML backend — submit tasks, poll status, read output
Project description
neo-mcp (pip)
Python MCP server for Neo — submit AI/ML tasks, poll status, read output, and control task lifecycle from any AI editor.
Install it, set your API key, register with your editor — that's it. Everything else is handled automatically.
Get your API key at app.heyneo.so → Settings → API Keys.
Install
pip install neo-mcp
Requires Python 3.11+.
Tip: use
pipx install neo-mcpto install in an isolated environment and avoid conflicts with your project's virtualenv.
Connecting to editors
Replace sk-v1-YOUR_KEY with your actual key.
Claude Code
claude mcp add --scope user neo \
-e NEO_SECRET_KEY=sk-v1-YOUR_KEY \
-- neo-mcp
Open a new Claude Code session after running this. Neo tools load at session start.
Scope options:
--scope user(global, recommended) ·--scope project(writes.mcp.jsonin current repo) ·--scope local(this machine only)
Verify it registered:
claude mcp list
Cursor
~/.cursor/mcp.json:
{
"mcpServers": {
"neo": {
"command": "neo-mcp",
"env": {
"NEO_SECRET_KEY": "sk-v1-YOUR_KEY"
}
}
}
}
Restart Cursor after editing.
Windsurf
~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"neo": {
"command": "neo-mcp",
"env": {
"NEO_SECRET_KEY": "sk-v1-YOUR_KEY"
}
}
}
}
Restart Windsurf after editing.
VS Code (GitHub Copilot)
.vscode/mcp.json in your workspace root (requires VS Code 1.99+):
{
"servers": {
"neo": {
"type": "stdio",
"command": "neo-mcp",
"env": {
"NEO_SECRET_KEY": "sk-v1-YOUR_KEY"
}
}
}
}
Zed
~/.config/zed/settings.json:
{
"context_servers": {
"neo": {
"source": "custom",
"command": {
"path": "neo-mcp",
"args": [],
"env": {
"NEO_SECRET_KEY": "sk-v1-YOUR_KEY"
}
}
}
}
}
Continue.dev
~/.continue/config.json:
{
"mcpServers": [
{
"name": "neo",
"transport": {
"type": "stdio",
"command": "neo-mcp",
"env": {
"NEO_SECRET_KEY": "sk-v1-YOUR_KEY"
}
}
}
]
}
OpenAI Codex CLI
~/.codex/config.json:
{
"mcpServers": {
"neo": {
"command": "neo-mcp",
"env": {
"NEO_SECRET_KEY": "sk-v1-YOUR_KEY"
}
}
}
}
Tools
| Tool | Description |
|---|---|
neo_submit_task |
Submit an AI/ML task. Returns thread_id immediately. |
neo_list_tasks |
List running and recent tasks — reconnects pollers automatically. |
neo_task_status |
Check status: RUNNING / COMPLETED / WAITING_FOR_FEEDBACK / PAUSED / TERMINATED. |
neo_get_messages |
Read full task output when COMPLETED. Capped at ~20 000 tokens. |
neo_send_feedback |
Reply when Neo asks a question (WAITING_FOR_FEEDBACK). |
neo_pause_task |
Pause a running task. |
neo_resume_task |
Resume a paused task. |
neo_stop_task |
Stop and clean up a task permanently. |
Environment variables
| Variable | Required | Description |
|---|---|---|
NEO_SECRET_KEY |
Yes | Your Neo API key (sk-v1-...) from app.heyneo.so |
NEO_DEPLOYMENT_ID |
No | Pin a specific deployment UUID (auto-generated and persisted by default) |
NEO_WORKSPACE_DIR |
No | Override working directory (useful in Docker) |
NEO_READ_ONLY |
No | true — expose only status/message tools, disable submit/stop/pause |
Troubleshooting
| Symptom | Fix |
|---|---|
neo-mcp: command not found |
Re-run pip install neo-mcp and verify your PATH with which neo-mcp |
| Tools don't appear after registering | Open a new session — MCP tools load at session start, not mid-session |
Invalid API key (401) |
Re-check your key at app.heyneo.so → Settings → API Keys |
Trial or quota ended (403) |
Top up at the Neo dashboard |
| Task submitted but no files written | Daemon failed to start — run neo-mcp doctor to diagnose |
| Status stuck on RUNNING | Call neo_task_status to check; run neo-mcp status to inspect the daemon |
Project details
Release history Release notifications | RSS feed
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 neo_mcp-0.4.28.tar.gz.
File metadata
- Download URL: neo_mcp-0.4.28.tar.gz
- Upload date:
- Size: 73.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ac9bc049f20c3885181eaeee6adca7a1b7b87a116a42f0bb3d70792cd40ea3d5
|
|
| MD5 |
b5370053a50306f1c0a460a900eeefef
|
|
| BLAKE2b-256 |
bf75c43e3e6a0214c162a652a319f1faede0573b2279585e33d93ce5122e2124
|
File details
Details for the file neo_mcp-0.4.28-py3-none-any.whl.
File metadata
- Download URL: neo_mcp-0.4.28-py3-none-any.whl
- Upload date:
- Size: 46.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ac56aa78b183ccff94ef21bb08f5730b7ccb99a6effff1b27cf674f8ed6e9809
|
|
| MD5 |
697f6a5633f57e7bc965c7f37fe34dba
|
|
| BLAKE2b-256 |
ae34d471870db0dc50c71da40888cd7ba0732adf7777f0436876f87af91b1437
|