
AI/ML engineering MCP server for Neo β submit tasks, track execution, and retrieve outputs.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
π‘ Paste into ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows)
neo-mcp is the Model Context Protocol server that plugs Neo into Claude Code, Cursor, Codex, and the editors you already use. Neo is an autonomous AI engineer: describe any AI/ML task in plain English and it plans, builds, runs, and evaluates the full workflow.
Everything lands in your repo on your machine (code, models, metrics, reports). Nothing is stored remotely.
Neo is built for AI engineering, not general code chat, so it goes deeper on ML, LLM, and data workflows than a typical coding agent.
π Neo Β· π Docs Β· π Get an API key: Neo dashboard
Click to watch the full demo with sound.
Built for data scientists, ML engineers, analysts, researchers, and PMs who want results, not boilerplate.
Ask your agent to use Neo. For example:
Neo runs the ML work. Your editor handles everything else.
Requires Python 3.11+.
Tip: use
pipx install neo-mcpto install in an isolated environment and avoid conflicts with your project's virtualenv.
Replace sk-v1-YOUR_KEY with your actual API key.
After setup, ask your agent: "What Neo tools do you have available?" You should see neo_submit_task, neo_task_status, neo_get_messages, and the rest.
Open a new Claude Code session after running this. Neo tools load at session start, not mid-session.
Scope options:
--scope user(global, recommended) Β·--scope project(writes.mcp.jsonin current repo) Β·--scope local(this machine only)
Verify it registered:
You should see neo with a green checkmark.
Open the config:
Ctrl+Shift+J (Windows/Linux) or Cmd+Shift+J (Mac) β Tools & MCP β New MCP Server~/.cursor/mcp.jsonRestart Cursor after editing the file directly. Changes via the GUI apply immediately.
Open the config:
codex mcp to manage servers interactively via CLI~/.codex/config.jsonWindsurf (~/.codeium/windsurf/mcp_config.json):
VS Code (GitHub Copilot) (.vscode/mcp.json in your workspace root; requires VS Code 1.99+ and Agent mode):
Zed (~/.config/zed/settings.json):
Continue.dev (~/.continue/config.yaml):
More GUI paths and per-editor notes: docs/GUIDE.md
neo_submit_task via MCPFiles are always written to your machine, never stored remotely.
Neo can also store third-party API keys locally (GitHub, HuggingFace, Anthropic, OpenRouter, OpenAI, AWS S3, Weights & Biases, Kaggle) so tasks can use them without asking every time. Keys stay on your machine and are never sent to Neo's backend. Full guide: docs/INTEGRATIONS.md.
| 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. |
neo_list_integrations | List stored third-party API keys (names only, never the value). |
neo_add_integration | Register a GitHub PAT, HuggingFace token, Anthropic key, or OpenRouter key for Neo tasks. |
neo_test_integration | Call the provider's API to confirm a stored key is still valid. |
neo_remove_integration | Delete a stored key from this machine. |
Integration tools store credentials locally (file mode
0o600under~/.neo/integrations/, or native tool files like~/.aws/credentials,~/.netrc,~/.kaggle/kaggle.json), or your OS keyring ifNEO_INTEGRATIONS_BACKEND=keyring. Keys never leave your machine. Full guide: docs/INTEGRATIONS.md.
Standard (tasks over a few minutes):
Quick task: Pass wait_for_completion: true to neo_submit_task. It blocks until done and returns output directly. No polling needed.
Mid-task question: When status is WAITING_FOR_FEEDBACK, call neo_send_feedback with your reply. Neo resumes automatically.
Reconnecting after closing your editor:
| Variable | Required | Description |
|---|---|---|
NEO_SECRET_KEY | Yes | API key (sk-v1-...) from heyneo.com/dashboard β Settings β API Keys |
NEO_DEPLOYMENT_ID | No | Pin a specific daemon UUID (auto-generated by default) |
NEO_WORKSPACE_DIR | No | Override workspace directory (useful in Docker or CI) |
NEO_READ_ONLY | No | true = expose only status/message tools; disables submit, stop, and pause |
Claude Code logs:
| Symptom | Fix |
|---|---|
neo-mcp: command not found | Re-run pip install neo-mcp, verify with which neo-mcp |
β Failed to connect in claude mcp list | Run claude mcp logs neo. Most common cause: NEO_SECRET_KEY not set |
| Neo tools don't appear | Open a new session. Tools load at session start, not mid-session |
Invalid API key (401) | Re-check your key at heyneo.com/dashboard β Settings β API Keys |
Trial or quota ended (403) | Top up at the Neo dashboard |
No healthy deployments available (400) | Daemon failed to auto-start. Restart the MCP server and try again |
| Task submitted but no files written | Daemon stopped mid-task. Check neo-mcp status and restart |
Status stuck on RUNNING | Run neo-mcp doctor to diagnose; restart the MCP server |
| Output truncated | ~20 000 token cap. Use neo_task_status for progress, neo_get_messages for final output only |
Full setup guide (all editors, GUI paths): docs/GUIDE.md Β· Docs
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/neo-ai-ml-engineering)<a href="https://allmcps.com/mcp/neo-ai-ml-engineering"><img src="https://allmcps.com/api/badge/neo-ai-ml-engineering?style=directory" alt="ML Engineering on AllMCPs" /></a>