About Neo — AI/ML Engineering
neo-mcp connects Neo, an autonomous AI/ML engineering service, to MCP-enabled coding tools so data scientists, ML engineers, and researchers can delegate workflows from their editor. It tracks tasks and writes resulting artifacts to the local repository.
Key features
- 01Submit and manage AI/ML tasks
- 02Track status and retrieve outputs
- 03Pause, resume, and stop tasks
- 04Register and test integrations
- 05Verify local artifacts and evidence
Use cases
- 01Delegate model training and evaluation
- 02Build RAG or semantic search workflows
- 03Run data analysis and forecasting
- 04Generate vision or speech workflows
MCP support
neo-mcp is an MCP server that exposes task submission, status, output, feedback, control, integration, and verification tools to coding clients. It is configured with the Neo API key and communicates with Neo while outputs are written locally.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
uvx neo-mcpNEO_SECRET_KEYSecretYour Neo API secret key (starts with sk-v1-). Get one at https://heyneo.com.NEO_ENVIRONMENTNeo backend environment: 'production' (default) or 'staging'.NEO_WORKSPACE_DIRProject root where Neo tasks read and write files. Must be the git/project root.Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMENeo MCP — AI engineering, without leaving your editor
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-mcpto 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.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 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
0o600under~/.neo/integrations/, or OS keyring withNEO_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 |
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.