Reference

API Reference

Complete reference for all Agent Dojo MCP API endpoints. Base URL: https://api.agentdojo.dev/mcp

Authentication

All endpoints require an API key passed via the X-API-Key header unless noted otherwise.

curl https://api.agentdojo.dev/mcp/servers \
  -H "X-API-Key: your-api-key"

MCP Protocol

The core JSON-RPC 2.0 endpoint for MCP clients (Claude Desktop, Cursor, etc.).

MethodPathDescriptionRate Limit
POST/{slug}JSON-RPC 2.0 protocol endpoint (initialize, tools/list, tools/call, resources/*, prompts/*, ping)100/min

Supports methods: initialize, tools/list, tools/call, resources/list, resources/read, prompts/list, prompts/get, ping

Servers

MethodPathDescriptionRate Limit
POST/serversCreate a new MCP server20/min
GET/serversList all servers for the authenticated project60/min
GET/servers/{id}Get server details with tools and credential status60/min
DELETE/servers/{id}Delete an MCP server20/min
POST/servers/{server_id}/toolsAdd tools to a server30/min
PATCH/servers/{server_id}/tools/{tool_id}Update a server tool's credential or settings30/min
DELETE/servers/{server_id}/toolsRemove tools from a server30/min

Toolkits

MethodPathDescriptionRate Limit
POST/toolkitsRegister a new toolkit10/min
GET/toolkitsList registered toolkits100/min
GET/toolkits/{id}Get toolkit details100/min
PUT/toolkits/{id}Update a toolkit50/min
DELETE/toolkits/{id}Delete a toolkit20/min

Tools

MethodPathDescriptionRate Limit
POST/toolsRegister a new tool50/min
GET/toolsList available tools100/min
POST/tools/listList tools (MCP-compatible)100/min
POST/tools/callCall a tool with arguments1000/min

Resources

MethodPathDescriptionRate Limit
POST/resourcesRegister a new resource50/min
POST/resources/listList available resources100/min
POST/resources/readRead content from a resource500/min
POST/resources/subscribeSubscribe to resource changes100/min
POST/resources/unsubscribeUnsubscribe from resource changes100/min
POST/resources/subscriptionsList active resource subscriptions100/min

Prompts

MethodPathDescriptionRate Limit
POST/promptsRegister a new prompt50/min
POST/prompts/listList available prompts100/min
POST/prompts/getGet a prompt with arguments500/min

Credentials

MethodPathDescriptionRate Limit
POST/credentialsCreate a new credential30/min
GET/credentialsList credentials for the current project100/min
DELETE/credentials/{id}Delete a credential30/min
GET/providersList authentication providers100/min

OAuth

MethodPathDescriptionRate Limit
POST/oauth/initInitialize OAuth flow50/min
POST/oauth/build-auth-urlBuild OAuth authorization URL100/min
GET/oauth/callbackHandle OAuth callback100/min
POST/oauth/exchange-tokenExchange code for access token50/min
POST/oauth/refresh-tokenRefresh OAuth access token100/min
GET/oauth/statusCheck OAuth flow status100/min
POST/oauth/cancelCancel OAuth flow50/min

Subscriptions & Webhooks

MethodPathDescriptionRate Limit
POST/subscribeSubscribe to webhook events-
POST/unsubscribeUnsubscribe from webhook events-
GET/subscriptionsList active subscriptions-
POST/subscription/updateUpdate a subscription-
POST/webhooks/listList available webhook events100/min
POST/webhooks/{subscription_id}Receive webhook from external service-

Health

MethodPathDescriptionRate Limit
GET/healthHealth check (no auth required)100/min
POST/initializeInitialize MCP connection (standalone)10/min

Error Codes

HTTP StatusMeaning
200Success (also used for JSON-RPC errors in protocol endpoint)
202Accepted (notifications, no response body)
400Bad request (missing or invalid parameters)
401Unauthorized (missing, invalid, or expired API key)
404Not found (server, tool, resource, or credential not found)
429Rate limit exceeded
500Internal server error

JSON-RPC Error Codes

When using the protocol endpoint (POST /mcp/{slug}), errors are returned in JSON-RPC format with HTTP 200:

CodeMeaning
-32600Invalid request (bad JSON-RPC format, invalid slug, invalid API key)
-32601Method not found
-32602Invalid params (tool not found, missing required arguments)
-32603Internal error (tool execution failure, no function config)

Example JSON-RPC error response:

{
  "jsonrpc": "2.0",
  "id": 1,
  "error": {
    "code": -32602,
    "message": "Tool 'unknown-tool' not found in this endpoint"
  }
}