Integrate

Model Context Protocol

Connect ChatGPT, Claude, Codex, and other MCP clients to the same remote Endurance HQ server. Tools are filtered by the delegated OAuth scopes or API key scopes, then every operation checks the person's Endurance HQ permissions.

Remote endpoint

https://api.endurancehq.app/mcp

OAuth client configuration

{
  "mcpServers": {
    "endurance-hq": {
      "url": "https://api.endurancehq.app/mcp"
    }
  }
}

API key configuration

{
  "mcpServers": {
    "endurance-hq": {
      "url": "https://api.endurancehq.app/mcp",
      "headers": {
        "Authorization": "Bearer ${EHQ_API_KEY}"
      }
    }
  }
}

Public tools

Without a credential the endpoint serves two read-only tools: ehq_platform_overview (what Endurance HQ is, who it is for, and how to integrate; the same content as /llms.txt) and ehq_public_event (the published facts of a race website hosted on Endurance HQ, by host or event slug: dates, distances, prices, registration status, pages, FAQ, schedule). Every other tool appears once the client authenticates.

curl -X POST https://api.endurancehq.app/mcp \
  -H 'content-type: application/json' -H 'accept: application/json' \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"ehq_public_event","arguments":{"host":"hardrock.endurancehq.app"}}}'

Task references

Agents can pass a short reference such as EHQ-184 to ehq_tasks_get, ehq_tasks_update, or ehq_tasks_comment. The same permission checks apply as when opening the Task in Endurance HQ.

Discovery

The endpoint implements Streamable HTTP, stateless compatibility for older clients, and RFC 9728 protected-resource discovery. Schedule and Task writes use the same canonical services as the Endurance HQ dashboard and Cairn.