MCP API Overview

CLANKER.NET implements the Model Context Protocol (MCP), allowing AI assistants to interact with skills, artifacts, and executions through a standardized interface.

What is MCP?

The Model Context Protocol is an open standard that enables AI assistants to use external tools and access data sources. When you connect clanker to Claude Desktop, Cursor, or VS Code, your AI assistant gains access to our complete tool suite.

Endpoints

EndpointTransportDescription
/mcp/Streamable HTTPRecommended — single bidirectional HTTP endpoint, lower overhead than SSE
/.well-known/mcp/server-card.jsondiscoveryPublic MCP server card

MCP traffic is served by the dedicated MCP edge worker rather than the Express backend. Clients still point at https://clanker.net/mcp/ — routing is transparent.

Authentication

All MCP endpoints require authentication via API key:

{
  "headers": {
    "x-api-key": "ck_live_xxxxxxxxxxxxx"
  }
}

See Authentication for details on obtaining an API key.

Available Tools

Tools are organized by function:

Skills

ToolDescription
list-installed-skillsList your installed skills
get-skill-detailsGet full details of a skill
install-skillAdd a skill to your library
uninstall-skillRemove a skill from your library
search-marketplaceSearch the skill marketplace by name, category, or capability

Executions

ToolDescription
get-execution-statusCheck current/recent execution status
cancel-executionCancel an active execution
list-executionsList recent skill executions

Artifacts

ToolDescription
list-artifactsList your generated artifacts
get-artifactGet details of a specific artifact
download-artifactGet download URL for an artifact
save-artifactSave content as a new artifact
delete-artifactRemove an artifact

Billing

ToolDescription
get-credit-balanceCheck your credit balance

Connectors

The unified connector surface — sources (code repos, files) and actions (SaaS operations) all live here. The previously-separate “Integrations” tool family was consolidated into the connector family.

ToolDescription
list-connectorsList available connectors and their connection status
list-github-reposList GitHub repositories you have access to
list-sourcesList sources for a connector (e.g., GitHub repos)
list-branchesList branches for a source
get-source-contentGet file/directory contents from a source
get-connector-statusCheck if a connector is authenticated
connect-connectorGet OAuth URL to connect a connector
disconnect-connectorDisconnect and revoke access
search-connector-actionsSearch available actions for connected connectors
run-connector-actionExecute an action from a connected connector
list-connector-triggersList event triggers a workflow can subscribe to

Workflows

ToolDescription
start-workflowStart a workflow execution by ID

Install & Resources

ToolDescription
install-resourceInstall an agent, workflow, skill, or whole template workspace into the current workspace (from a GitHub repo, an uploaded R2 object, or the marketplace)
request-upload-urlMint a short-lived presigned URL for uploading bundle bytes directly to storage; pair with install-resource to finalize

Threads

ToolDescription
thread-membersList clients currently active in a thread inside this workspace (presence snapshot)

Response Format

All tools return a standardized response:

Success Response

{
  "success": true,
  "data": { ... },
  "pagination": {
    "cursor": "...",
    "hasMore": true
  }
}

Error Response

{
  "success": false,
  "error": {
    "code": "NOT_FOUND",
    "message": "Resource not found"
  }
}

Rate Limiting

MCP requests are rate-limited to 60 requests per minute per user.

Rate limit info is returned in HTTP response headers.

Pagination

List operations support cursor-based pagination:

{
  "tool": "list-installed-skills",
  "arguments": {
    "limit": 20,
    "cursor": "previous_cursor_value"
  }
}

Response includes pagination metadata at the top level:

{
  "success": true,
  "data": [...],
  "pagination": {
    "cursor": "next_cursor_value",
    "hasMore": true
  }
}

Note: Some tools (such as list-executions) use offset-based pagination instead of cursor-based. These tools accept an offset parameter rather than a cursor.

Client Configuration

See MCP Client Setup for detailed setup instructions for:

  • Claude Desktop
  • Cursor
  • VS Code
  • Custom clients

Error Codes

CodeDescription
NOT_FOUNDResource doesn’t exist
ALREADY_EXISTSResource already exists
INSUFFICIENT_CREDITSNot enough credits
EXECUTION_RUNNINGAnother execution is active
EXECUTION_FAILEDSkill execution failed
RATE_LIMITEDToo many requests
UNAUTHORIZEDInvalid or missing auth, or connector not connected
LIMIT_REACHEDTier limit exceeded
INVALID_INPUTInvalid connector type or connector not configured
CONNECTOR_ERRORConnector-specific operational error
GITHUB_ERRORGitHub API error
TIMEOUTRequest exceeded timeout limit

Best Practices

  1. Check status first - Before executing, verify no execution is running
  2. Handle pagination - Always check hasMore and use cursors
  3. Respect rate limits - Check x-ratelimit-remaining in response headers
  4. Handle timeouts gracefully - Long-running operations may timeout