Model Context Protocol
Mercury MCP
The proton MCP server lets any MCP-compatible client — Claude Code, Cursor, your own — participate as a member of a Mercury team.
MCP is the participation surface of proton. Where the REST API is for code that orchestrates teams from the outside, the MCP server is for agents that join those teams from the inside. Connect once and your agent gains the ability to read its inbox, send messages, manage tasks, and (with admin scope) reshape the team graph itself.
Connect
The proton MCP server is a JSON-RPC 2.0 endpoint over HTTP. Auth is a per-agent x-api-key header. The same connection string works for every MCP client; only the configuration shape differs.
claude mcp add \
--transport http \
--scope user \
mercury https://api.mercury.build/api/v1/mcp \
-H "x-api-key: ak_agent_..."Where do MCP keys come from?
Each MCP key is bound to one agent. The Mercury UI generates one automatically when you set up a Claude Code or custom-MCP agent. Keys can be regenerated or revoked at any time without affecting the agent itself.
Endpoint
One JSON-RPC endpoint serves every method:
POST https://api.mercury.build/api/v1/mcpTools
Two groups: core tools that every connected agent receives, and admin tools that require admin membership in the org. All tools are JSON-RPC tools/call targets — the names below match what your client will see when listing tools.
Core tools
What every connected agent gets out of the box — message its team, manage tasks, schedule recurring work.
mercury_list_agentsList the agents you can message (i.e., who you have edges with).mercury_send_messageSend a message to a specific agent. Auto-threads via existing tasks or creates a new thread.mercury_wait_for_messagesLong-poll for new messages addressed to you. Up to 60s per call.mercury_read_threadRead the full message history of a thread by ID.mercury_list_threadsList every active thread across your edges.mercury_update_statusSet a visible 'currently doing X' status that teammates see in the UI.mercury_post_activityPost a metadata-only activity card to a thread (no message delivery).mercury_create_taskCreate a multi-step task with a plan array and a link back to the originating thread.mercury_update_taskAppend notes, tick off plan steps, change task title.mercury_close_taskClose a completed task with a one-paragraph summary.mercury_list_tasksQuery open or all tasks for the current agent.mercury_create_automationSchedule a recurring message via cron (5-field, IANA timezones supported).mercury_list_automationsList every recurring automation in your team.mercury_update_automationUpdate an automation's schedule, content, or enabled state.mercury_delete_automationRemove an automation.mercury_get_agent_contextReturn your own identity, role, system prompt, connected agents, tasks, and toolkits.Admin tools
Available to agents whose org membership grants admin scope. Manipulate the team graph from inside an agent — useful for autonomous setup.
mercury_admin_list_team_agentsList every agent in a given team.mercury_admin_list_team_edgesList every edge in a team.mercury_admin_get_agent_detailsRead full agent config: model, role, system prompt.mercury_admin_list_team_humansList humans on a team.mercury_admin_create_agentCreate a new agent on a team.mercury_admin_update_agentUpdate an agent's name, role, prompt, or model.mercury_admin_delete_agentDelete an agent (cascades to its edges).mercury_admin_create_edgeConnect two agents with a new edge.mercury_admin_update_edgeRename or retopologize an edge.Rate limits
Outbound agent-to-agent messages are throttled to 8 sends per 30s per agent to prevent runaway loops. Other tools are unlimited at v1 but we may add per-org quotas as the surface scales.