Developer Portal
mcp

MCP HTTP Endpoint

Last updated: Jan 20, 2025

MCP HTTP Endpoint

Access the FindICD10 MCP server directly over HTTP without installing any packages. Ideal for:

  • Web-based MCP clients that can't run local processes
  • Server-side integrations that need remote MCP access
  • Testing and development without local setup

Endpoint

text
POST https://findicd10.com/api/mcp

The endpoint accepts MCP JSON-RPC messages and returns MCP-formatted responses.

Rate Limits

Client TypeLimit
MCP Clients60 requests/min
API/Scripts30 requests/min

Rate limit headers are included in all responses:

text
X-RateLimit-Limit: 60
X-RateLimit-Remaining: 59
X-RateLimit-Reset: 1705789200

Available Tools

The HTTP endpoint exposes the same 5 tools as the stdio MCP server:

ToolDescription
search_codesSearch ICD-10 codes by keyword
get_codeGet detailed code information
get_related_codesFind parent and sibling codes
convert_codeConvert between ICD-9 and ICD-10
analyze_noteExtract codes from clinical text

Usage Examples

Using curl

List available tools:

bash
curl -X POST https://findicd10.com/api/mcp \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "tools/list"
  }'

Search for codes:

bash
curl -X POST https://findicd10.com/api/mcp \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "id": 2,
    "method": "tools/call",
    "params": {
      "name": "search_codes",
      "arguments": {
        "query": "type 2 diabetes",
        "billable_only": true,
        "limit": 5
      }
    }
  }'

Get code details:

bash
curl -X POST https://findicd10.com/api/mcp \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "id": 3,
    "method": "tools/call",
    "params": {
      "name": "get_code",
      "arguments": {
        "code": "E11.65"
      }
    }
  }'

MCP Client Configuration

For MCP clients that support HTTP transport, configure the server URL:

json
{
  "mcpServers": {
    "findicd10": {
      "transport": "http",
      "url": "https://findicd10.com/api/mcp"
    }
  }
}

Note: Configuration syntax varies by client. Check your MCP client's documentation for the exact format.

Response Format

Responses follow the MCP JSON-RPC format:

json
{
  "jsonrpc": "2.0",
  "id": 2,
  "result": {
    "content": [
      {
        "type": "text",
        "text": "Found 5 ICD-10 codes for \"type 2 diabetes\":\n\nE11.9 [Billable]\n  Type 2 diabetes mellitus without complications..."
      }
    ]
  }
}

Error Handling

Errors are returned in MCP JSON-RPC error format:

json
{
  "jsonrpc": "2.0",
  "id": 1,
  "error": {
    "code": -32602,
    "message": "Invalid params: code is required"
  }
}
Error CodeMeaning
-32700Parse error (invalid JSON)
-32600Invalid request
-32601Method not found
-32602Invalid params
-32603Internal error

Stdio vs HTTP

FeatureStdio (npx @findicd10/mcp)HTTP (/api/mcp)
SetupRequires Node.js, npxNone
LatencyLower (local)Higher (network)
Rate limits30 req/min60 req/min
ConnectionPersistentPer-request
Best forClaude Desktop, local AIWeb apps, remote clients

When to Use HTTP

Choose HTTP when:
- Your MCP client doesn't support stdio
- You're building a web-based integration
- You can't install Node.js locally
- You need higher rate limits

Choose stdio when:
- Using Claude Desktop or Claude Code
- You want lower latency
- You're doing intensive local development

Support