Nova supports the Model Context Protocol (MCP) for extending agent capabilities with external tool servers. MCP servers run as subprocesses managed by the Orchestrator, and their tools become available to all agents automatically.
The Model Context Protocol is an open standard for connecting AI models to external tools and data sources. An MCP server exposes a set of tools (functions) that agents can call during their execution. Nova’s Orchestrator connects to MCP servers at startup and makes their tools available alongside the built-in tools (file I/O, shell, git).
The Orchestrator loads MCP server configurations from the database at startup
It connects to each enabled server and discovers its available tools
When an agent runs, get_all_tools() returns both built-in tools and MCP tools
The agent can call any MCP tool by name (prefixed with mcp__<server>__<tool>)
The Orchestrator dispatches the call to the appropriate MCP server and returns the result
Nova ships with a built-in catalog of pre-configured MCP servers. You can add any of these from the Dashboard’s MCP page with one click.
Server Description Package Filesystem Read, write, and navigate files @modelcontextprotocol/server-filesystemGit Inspect and operate on Git repositories — log, diff, status, commit mcp-server-git (uvx)Memory Persistent key-value memory store that survives across sessions @modelcontextprotocol/server-memory
Server Description Package GitHub Manage repos, issues, pull requests, and code search @modelcontextprotocol/server-githubGitLab Interact with GitLab projects, merge requests, and issues @modelcontextprotocol/server-gitlab
Server Description Package Brave Search Web and local search via the Brave Search API @modelcontextprotocol/server-brave-searchFetch Fetch URLs and convert web pages to Markdown mcp-server-fetch (uvx)Puppeteer Browser automation — screenshot, click, fill forms, scrape @modelcontextprotocol/server-puppeteer
Server Description Package PostgreSQL Query a PostgreSQL database @modelcontextprotocol/server-postgresSQLite Read and query SQLite database files @modelcontextprotocol/server-sqlite
Server Description Package Sequential Thinking Structured multi-step reasoning for complex problem decomposition @modelcontextprotocol/server-sequential-thinking
Server Description Package Slack Read channels, send messages, and search Slack workspaces @modelcontextprotocol/server-slack
Server Description Package Cloudflare Manage Workers, KV, R2, D1, DNS, and Tunnels @cloudflare/mcp-server-cloudflareTailscale Manage devices, ACLs, DNS, and network configuration @hexsleeves/tailscale-mcp-server
Navigate to MCP in the Dashboard sidebar
Click Add from Catalog to browse available servers
Select a server and fill in any required configuration (API keys, paths)
Click Add — the Orchestrator will connect to the server and discover its tools
The server’s tools are immediately available to all agents
You can register any MCP server, not just those in the catalog. From the Dashboard’s MCP page:
Click Add Custom Server
Provide the server name, command, arguments, and any environment variables
The Orchestrator will attempt to connect and discover tools
Or via the API:
curl -X POST http://localhost:8000/api/v1/mcp-servers \
-H " X-Admin-Secret: your-admin-secret " \
-H " Content-Type: application/json " \
"args": ["-y", "@my-org/mcp-server-custom"],
"env": {"API_KEY": "..."},
Action API Dashboard List servers GET /api/v1/mcp-serversMCP page Add server POST /api/v1/mcp-serversAdd from Catalog / Add Custom Update config PATCH /api/v1/mcp-servers/{id}Edit button Remove server DELETE /api/v1/mcp-servers/{id}Delete button Reconnect POST /api/v1/mcp-servers/{id}/reloadReload button
Some MCP servers require API keys or configuration via environment variables. These are set per-server and passed to the subprocess when it starts. Required variables for catalog entries are documented in the catalog and prompted during setup.
Server Required variables Brave Search BRAVE_API_KEYGitHub GITHUB_PERSONAL_ACCESS_TOKENGitLab GITLAB_PERSONAL_ACCESS_TOKEN, optionally GITLAB_API_URLSlack SLACK_BOT_TOKEN, SLACK_TEAM_IDCloudflare CLOUDFLARE_API_TOKEN, CLOUDFLARE_ACCOUNT_IDTailscale TAILSCALE_API_KEY, TAILSCALE_TAILNET