Skip to main content
Glama

Neo MCP: Your autonomous AI engineering agent

PyPI Python License: MIT Downloads

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

See it in action

Neo MCP demo: Codex + Neo in action

Click to watch the full demo with sound.

Related MCP server: Nexus-MCP

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.

  • ๐Ÿ”ฌ Go deeper on AI/ML. Autonomous planning, experiments, evaluation, and iteration tuned for real ML work, not just one-shot answers.

  • ๐Ÿ’พ 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 and injected as env vars.

Built for data scientists, ML engineers, analysts, researchers, and PMs who want results, not boilerplate.


Try it

Ask your agent to use Neo. For example:

Use Neo to fix the failing training run and re-run with logging
Benchmark these prompts on our eval set using Neo
Build or debug an end-to-end ML pipeline using Neo
Train a fraud detection model on fraud.csv, optimize for recall
Fine-tune a text classifier on my training data with 5-fold cross-validation

Neo runs the ML work. Your editor handles everything else.


Install

pip install neo-mcp

Requires Python 3.11+.

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

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.


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, not mid-session.

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

You should see neo with a green checkmark.


Cursor

Open the config:

  • GUI: Ctrl+Shift+J (Windows/Linux) or Cmd+Shift+J (Mac) โ†’ Tools & MCP โ†’ New MCP Server

  • Or edit the file directly: ~/.cursor/mcp.json

{
  "mcpServers": {
    "neo": {
      "command": "neo-mcp",
      "env": { "NEO_SECRET_KEY": "sk-v1-YOUR_KEY" }
    }
  }
}

Restart Cursor after editing the file directly. Changes via the GUI apply immediately.


OpenAI Codex CLI

Open the config:

  • Run codex mcp to manage servers interactively via CLI

  • Or edit the file directly: ~/.codex/config.json

{
  "mcpServers": {
    "neo": {
      "command": "neo-mcp",
      "env": { "NEO_SECRET_KEY": "sk-v1-YOUR_KEY" }
    }
  }
}

Also works with

Windsurf (~/.codeium/windsurf/mcp_config.json):

{
  "mcpServers": {
    "neo": {
      "command": "neo-mcp",
      "env": { "NEO_SECRET_KEY": "sk-v1-YOUR_KEY" }
    }
  }
}

VS Code (GitHub Copilot) (.vscode/mcp.json in your workspace root; requires VS Code 1.99+ and Agent mode):

{
  "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.yaml):

mcpServers:
  - name: neo
    command: neo-mcp
    env:
      NEO_SECRET_KEY: sk-v1-YOUR_KEY

More GUI paths and per-editor notes: docs/GUIDE.md


How it works

Your editor  โ”€โ”€MCPโ”€โ”€โ–ถ  neo-mcp server  โ”€โ”€APIโ”€โ”€โ–ถ  Neo backend
                            โ”‚                          โ”‚
                            โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–ถ  Local daemon
                                                  (writes files,
                                                   runs scripts)
  1. You describe a task: "Train a fraud detection model on data.csv"

  2. The editor calls neo_submit_task via MCP

  3. Neo's backend processes the task and sends commands to the local daemon

  4. The daemon runs on your machine, writing files, running scripts, and installing packages

  5. Output files appear directly in your workspace

Files 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.


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.

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 0o600 under ~/.neo/integrations/, or native tool files like ~/.aws/credentials, ~/.netrc, ~/.kaggle/kaggle.json), or your OS keyring if NEO_INTEGRATIONS_BACKEND=keyring. Keys never leave your machine. Full guide: docs/INTEGRATIONS.md.


Workflow

Standard (tasks over a few minutes):

neo_submit_task  โ†’  returns thread_id
      โ†“
neo_task_status  โ†’  poll until COMPLETED or WAITING_FOR_FEEDBACK
      โ†“
neo_get_messages โ†’  read full output

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:

neo_list_tasks   โ†’  all tasks with live status + thread IDs
neo_task_status  โ†’  check the specific task you care about
neo_get_messages โ†’  read output of any COMPLETED task

Environment variables

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


Diagnostics

neo-mcp status      # daemon and key status
neo-mcp doctor      # full health check; identifies common issues
neo-mcp list        # list known threads
neo-mcp logs --source neo-mcp --lines 100   # MCP server logs
neo-mcp logs --source daemon --lines 100    # daemon logs

# JSON output
neo-mcp status --json
neo-mcp doctor --json

Claude Code logs:

claude mcp logs neo

Troubleshooting

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

A
license - permissive license
-
quality - not tested
B
maintenance

Maintenance

โ€“Maintainers
โ€“Response time
โ€“Release cycle
โ€“Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

View all related MCP servers

Related MCP Connectors

  • A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yoโ€ฆ

  • User-owned memory for AI agents, Copilot, Claude, IDEs, CLIs, and chat apps over remote MCP.

  • Build, validate, and deploy multi-agent AI solutions from any AI environment.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/NeoAIResearch/neo-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server