Skip to main content

Neo MCP — AI engineering, without leaving your editor

PyPI Python License: MIT Downloads

Stay in Claude Code, Cursor, or Codex and hand your AI/ML work to Neo — an autonomous AI engineer that plans, builds, runs, and evaluates entire workflows from a plain-English request. neo-mcp is the Model Context Protocol server that connects Neo to the AI coding tools you already use, so you never switch tabs: ask your agent to send a task to Neo, and a local daemon writes the resulting code, models, metrics, and reports straight into your repo — on your machine, nothing stored remotely.

Because Neo is purpose-optimized for AI engineering — not a general-purpose coding assistant — it goes deeper on ML, LLM, and data workflows than a general coding agent can.

📚 Docs: https://docs.heyneo.com/neo-mcp · 🔑 Get an API key: Neo dashboard

What MCP unlocks

  • 🧩 Stay in your editor — drive Neo from Claude Code, Cursor, VS Code (Copilot), Windsurf, Zed, Continue, or Codex. No new app, no context switching.
  • 🔬 More depth — autonomous planning, experiments, evaluation, and iteration tuned for AI/ML, beyond what a generic coding agent attempts.
  • 💾 Local-first — every output file is written to your machine; nothing is stored remotely.

What you can build with Neo

  • 🤖 Generative AI & LLMs — RAG & semantic search, agents & chatbots, fine-tuning (Llama, Qwen, Gemma), document analysis
  • 🧠 ML & deep learning — PyTorch / TensorFlow / scikit-learn training, architecture search, evaluation
  • 📊 Data science & analytics — EDA, feature engineering, forecasting, segmentation, A/B testing, reporting
  • 👁️ Computer vision — image classification, object detection, OCR
  • 🎤 Speech & audio — speech-to-text, text-to-speech, audio classification
  • 🔌 Bring your own keys — GitHub, HuggingFace, Anthropic, OpenRouter, OpenAI, AWS S3, Weights & Biases, Kaggle — stored locally, injected as env vars

For data scientists, ML & LLM engineers, analysts, researchers, and PMs who want results, not boilerplate.


Install

pip install neo-mcp

Requires Python 3.11+ on Linux, macOS, or Windows through WSL. Native Windows cmd.exe/PowerShell execution is intentionally unsupported because Neo commands use POSIX shell and container-path semantics.

Tip: use pipx install neo-mcp to install in an isolated environment and avoid conflicts with your project's virtualenv.


Use Neo from your editor

Neo runs in every major MCP-enabled AI editor — set it up once below. 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.json in 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 a locally destructive AI/ML task; one active owner per workspace.
neo_list_tasks List running and recent tasks — reconnects pollers automatically.
neo_task_status Compact live backend-reported status; telemetry is not independent proof.
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 / OpenRouter key so Neo tasks can use it as an env var.
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.
neo_get_execution_evidence Read bounded, hash-chained local execution observations.
neo_verify_task Verify local artifacts with explicit file assertions and acceptance commands.

Integration tools store credentials locally (file 0o600 under ~/.neo/integrations/, or OS keyring with NEO_INTEGRATIONS_BACKEND=keyring). Keys never leave your machine. See the full guide at docs/INTEGRATIONS.md.


Environment variables

Variable Required Description
NEO_SECRET_KEY Yes Your Neo API key (sk-v1-...) from the Neo dashboard
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, messages, task/evidence reads, integration-test/list, and BYOK-list tools; reject every mutation and verification command
NEO_INIT_CHAT_TIMEOUT_SECONDS No Submit timeout in seconds; defaults to 60 to match the production VS Code client
NEO_POLLER_READY_TIMEOUT_SECONDS No Maximum pre-submit wait for the local daemon to establish its backend poll connection; defaults to 15

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 in the Neo dashboard
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

Release files for neo-mcp 0.5.16

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for neo-mcp 0.5.16
File Size Uploaded
neo_mcp-0.5.16.tar.gz 180.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for neo-mcp 0.5.16
File Interpreter ABI Platform
neo_mcp-0.5.16-py3-none-any.whl Python 3 none any Details

Total release size: 319.6 kB

Release files / neo_mcp-0.5.16.tar.gz

Download URL neo_mcp-0.5.16.tar.gz
Size 180.5 kB
Tags Source
SHA-256 checksum
How to use checksums
e397d4564efee1789d9b621c8574c0df89ae4e6de74dd5a0469802aee9a64dfb
BLAKE2b-256 checksum
How to use checksums
9e5ddaff43fcc531ecfe60e355f51712069e21a4804a7f82204a8a56ea84f4e4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.10

Release files / neo_mcp-0.5.16-py3-none-any.whl

Download URL neo_mcp-0.5.16-py3-none-any.whl
Size 139.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d2679d0a7d6590edced164cc65fb2c6dec8fd5a3c0ce55b783764326bfdf3dbd
BLAKE2b-256 checksum
How to use checksums
6d17b68d11bab5202c6cf71270e7e78022767486a66bb6b0b1e28db150b8aaf1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.10

Release history Release notifications | RSS feed

This release

0.5.16 This release

2 release files

0.5.12

2 release files

0.5.11

2 release files

0.5.10

2 release files

0.5.9

2 release files

0.5.8

2 release files

0.5.7

2 release files

0.5.6

2 release files

0.5.5

2 release files

0.5.4

2 release files

0.5.3

2 release files

0.5.2

2 release files

0.5.1

2 release files

0.4.47

2 release files

0.4.46

2 release files

0.4.45

2 release files

0.4.44

2 release files

0.4.43

2 release files

0.4.42

2 release files

0.4.41

2 release files

0.4.40

2 release files

0.4.34

2 release files

0.4.32

2 release files

0.4.31

2 release files

0.4.30

2 release files

0.4.21

1 release file

0.4.20

1 release file

0.4.19

1 release file

0.4.7

1 release file

0.4.6

1 release file

0.4.5

1 release file

0.4.4

1 release file

0.4.3

1 release file

0.2.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page