Server data from the Official MCP Registry
AI/ML engineering MCP server for Neo — submit tasks, track execution, and retrieve outputs.
AI/ML engineering MCP server for Neo — submit tasks, track execution, and retrieve outputs.
Neo MCP is a well-structured tool integration server with proper API key authentication and reasonable permission scoping for its purpose. However, it has moderate security concerns around subprocess command execution (path traversal in command strings, incomplete remapping), insufficient input validation on file paths, and some error handling gaps. The server's ability to execute arbitrary subprocess commands with limited sanitization, combined with path remapping complexities that may bypass isolation, creates exploitable attack vectors. Users should be aware these issues may allow tasks to escape workspace boundaries. Supply chain analysis found 4 known vulnerabilities in dependencies (2 critical, 2 high severity). Package verification found 1 issue.
4 files analyzed · 14 issues found
Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.
This plugin requests these system permissions. Most are normal for its category.
Set these up before or after installing:
Environment variable: NEO_SECRET_KEY
Environment variable: NEO_ENVIRONMENT
Environment variable: NEO_WORKSPACE_DIR
Add this to your MCP configuration file:
{
"mcpServers": {
"io-github-neoairesearch-neo-mcp": {
"env": {
"NEO_SECRET_KEY": "your-neo-secret-key-here",
"NEO_ENVIRONMENT": "your-neo-environment-here",
"NEO_WORKSPACE_DIR": "your-neo-workspace-dir-here"
},
"args": [
"-y",
"neo-mcp"
],
"command": "npx"
}
}
}From the project's GitHub README.
Connect your AI editor to Neo's remote execution backend. Describe an AI/ML task in plain language — Neo trains the model, builds the pipeline, or runs the workload on its backend, then writes all output files directly to your local machine.
Works with Claude Code, Cursor, Windsurf, VS Code (GitHub Copilot), Zed, Continue.dev, and OpenAI Codex CLI.
Get your API key at heyneo.com/dashboard → Settings → API Keys.
Your editor ──MCP──▶ neo-mcp server ──API──▶ Neo backend
│ │
└──────────────────▶ Local daemon
(writes files,
runs scripts)
neo_submit_task via MCPFiles are always written to your machine, never stored remotely.
Neo can also hold your third-party API keys (GitHub, HuggingFace, Anthropic, OpenRouter, OpenAI, AWS S3, Weights & Biases, Kaggle) locally so it can use them in tasks without re-prompting — keys stay on your machine, never sent to Neo's backend. Full guide: docs/INTEGRATIONS.md.
Pick pip (Python 3.11+) or npm (Node.js 18+) — both work identically from the editor's perspective.
pip install neo-mcp
Use
pipx install neo-mcpto avoid virtualenv conflicts.
npm install -g neo-mcp
Install Node.js 18+ if needed:
curl -fsSL https://deb.nodesource.com/setup_20.x | bash - && apt-get install -y nodejs
Replace sk-v1-YOUR_KEY with your actual API key. Pick the pip or npm command based on which you installed.
pip:
claude mcp add --scope user neo \
-e NEO_SECRET_KEY=sk-v1-YOUR_KEY \
-- neo-mcp
npm:
claude mcp add --scope user neo \
-e NEO_SECRET_KEY=sk-v1-YOUR_KEY \
-- neo-mcp-daemon --mcp
Open a new Claude Code session after running — tools load at session start, not mid-session.
Open the config:
Ctrl+Shift+J (Windows/Linux) or Cmd+Shift+J (Mac) → Tools & MCP → New MCP Server~/.cursor/mcp.jsonpip:
{
"mcpServers": {
"neo": {
"command": "neo-mcp",
"env": { "NEO_SECRET_KEY": "sk-v1-YOUR_KEY" }
}
}
}
npm:
{
"mcpServers": {
"neo": {
"command": "neo-mcp-daemon",
"args": ["--mcp"],
"env": { "NEO_SECRET_KEY": "sk-v1-YOUR_KEY" }
}
}
}
Restart Cursor after editing the file directly. Changes via the GUI apply immediately.
Open the config:
Ctrl+, (Windows/Linux) or Cmd+, (Mac) → Cascade → Plugins (MCP servers) → Manage Plugins → View raw config~/.codeium/windsurf/mcp_config.jsonpip:
{
"mcpServers": {
"neo": {
"command": "neo-mcp",
"env": { "NEO_SECRET_KEY": "sk-v1-YOUR_KEY" }
}
}
}
npm:
{
"mcpServers": {
"neo": {
"command": "neo-mcp-daemon",
"args": ["--mcp"],
"env": { "NEO_SECRET_KEY": "sk-v1-YOUR_KEY" }
}
}
}
Changes apply on save — no restart needed.
Requires VS Code 1.99+.
Open the config:
Ctrl+Shift+P (Windows/Linux) or Cmd+Shift+P (Mac) → "Chat: Open Chat Customizations".vscode/mcp.json in your workspace root (create if it doesn't exist)pip:
{
"servers": {
"neo": {
"type": "stdio",
"command": "neo-mcp",
"env": { "NEO_SECRET_KEY": "sk-v1-YOUR_KEY" }
}
}
}
npm:
{
"servers": {
"neo": {
"type": "stdio",
"command": "neo-mcp-daemon",
"args": ["--mcp"],
"env": { "NEO_SECRET_KEY": "sk-v1-YOUR_KEY" }
}
}
}
MCP tools only work in Copilot Agent mode — switch to Agent mode in the chat panel.
Open the config:
Ctrl+Alt+, (Windows/Linux) or Cmd+Alt+, (Mac) — opens settings.json directlyAdd inside ~/.config/zed/settings.json:
pip:
{
"context_servers": {
"neo": {
"source": "custom",
"command": {
"path": "neo-mcp",
"args": [],
"env": { "NEO_SECRET_KEY": "sk-v1-YOUR_KEY" }
}
}
}
}
npm:
{
"context_servers": {
"neo": {
"source": "custom",
"command": {
"path": "neo-mcp-daemon",
"args": ["--mcp"],
"env": { "NEO_SECRET_KEY": "sk-v1-YOUR_KEY" }
}
}
}
}
Changes apply on save — no restart needed.
Open the config:
Ctrl+L (VS Code) or Ctrl+J (JetBrains) to open the sidebar → click Agent selector above the chat input → click the gear icon~/.continue/config.yamlpip:
mcpServers:
- name: neo
command: neo-mcp
env:
NEO_SECRET_KEY: sk-v1-YOUR_KEY
npm:
mcpServers:
- name: neo
command: neo-mcp-daemon
args:
- --mcp
env:
NEO_SECRET_KEY: sk-v1-YOUR_KEY
MCP tools only work in Agent mode — switch to Agent in the mode selector.
Open the config:
codex mcp to manage servers interactively via CLI~/.codex/config.jsonpip:
{
"mcpServers": {
"neo": {
"command": "neo-mcp",
"env": { "NEO_SECRET_KEY": "sk-v1-YOUR_KEY" }
}
}
}
npm:
{
"mcpServers": {
"neo": {
"command": "neo-mcp-daemon",
"args": ["--mcp"],
"env": { "NEO_SECRET_KEY": "sk-v1-YOUR_KEY" }
}
}
}
Claude Code:
claude mcp list
You should see neo with a green checkmark. Then open a new session and ask:
"What Neo tools do you have available?"
The assistant should list neo_submit_task, neo_task_status, neo_get_messages, and more.
| Tool | Description |
|---|---|
neo_submit_task | Submit a task to Neo. Returns thread_id immediately. |
neo_list_tasks | List all running and recent tasks — useful after reopening your editor. |
neo_task_status | Check status: RUNNING / COMPLETED / WAITING_FOR_FEEDBACK / PAUSED / TERMINATED. |
neo_get_messages | Read full task output once status is COMPLETED. Capped at ~20 000 tokens. |
neo_send_feedback | Reply to Neo when it asks a clarifying question (WAITING_FOR_FEEDBACK). |
neo_pause_task | Pause a running task. Can be resumed. |
neo_resume_task | Resume a paused task. |
neo_stop_task | Permanently stop and clean up a task. |
neo_list_integrations | List stored third-party API keys (names only — never the value). |
neo_add_integration | Register a credential (GitHub, HuggingFace, Anthropic, OpenRouter, OpenAI, AWS S3, Weights & Biases, Kaggle) 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. |
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):
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
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
| 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 |
| Symptom | Fix |
|---|---|
neo-mcp: command not found | Re-run pip install neo-mcp, verify with which neo-mcp |
neo-mcp-daemon: command not found | Re-run npm install -g neo-mcp, verify with which neo-mcp-daemon |
✗ Failed to connect in claude mcp list | Run claude mcp logs neo — most common cause is 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 |
Train a fraud detection model on fraud.csv, optimize for recall
Build a sentiment analysis pipeline for product reviews and save the model
Analyse sales_data.csv and produce a feature importance report
Fine-tune a text classifier on my training data with 5-fold cross-validation
Neo handles the ML execution — your editor handles everything else.
For a full setup guide including all editor options: docs/GUIDE.md
Be the first to review this server!
by Toleno · Developer Tools
Toleno Network MCP Server — Manage your Toleno mining account with Claude AI using natural language.
by mcp-marketplace · Developer Tools
Create, build, and publish Python MCP servers to PyPI — conversationally.
by Microsoft · Content & Media
Convert files (PDF, Word, Excel, images, audio) to Markdown for LLM consumption