{
  "name": "Cycling Coach AI public API",
  "description": "Read-only discovery API for AI agents. No authentication required. Everything here is public product data: pricing, features, integrations, device compatibility and competitor comparisons.",
  "documentation": "https://cyclingcoachai.com/docs/",
  "openapi": "https://cyclingcoachai.com/openapi.json",
  "llms_txt": "https://cyclingcoachai.com/llms.txt",
  "mcp": {
    "endpoint": "https://cyclingcoachai.com/api/mcp/public",
    "manifest": "https://cyclingcoachai.com/.well-known/mcp.json",
    "transport": "streamable-http",
    "protocol_version": "2025-06-18",
    "server": {
      "name": "cycling-coach-ai-discovery",
      "version": "1.0.0"
    },
    "tools": [
      "get_pricing",
      "get_features",
      "get_supported_integrations",
      "check_device_compatibility",
      "compare_with_alternatives",
      "get_use_cases",
      "get_languages_supported",
      "get_company_info"
    ],
    "authentication": "none"
  },
  "endpoints": [
    {
      "method": "GET",
      "path": "/api/mcp/public",
      "description": "MCP server info."
    },
    {
      "method": "POST",
      "path": "/api/mcp/public",
      "description": "MCP JSON-RPC 2.0 endpoint. Start with the initialize method."
    },
    {
      "method": "GET",
      "path": "/api/mcp/public/health",
      "description": "Liveness probe for the MCP server."
    },
    {
      "method": "GET",
      "path": "/api/ab/status",
      "description": "Whether a site-wide A/B test is currently running."
    },
    {
      "method": "GET",
      "path": "/api/strava-live",
      "description": "Latest public Strava activity shown on the homepage widget."
    }
  ],
  "errors": {
    "format": "{ \"error\": { \"code\", \"message\", \"hint\", \"docs_url\" } }",
    "codes": [
      "bad_request",
      "invalid_json",
      "unauthorized",
      "not_found",
      "method_not_allowed",
      "not_acceptable",
      "unprocessable_entity",
      "rate_limited",
      "internal_error"
    ]
  },
  "contact": "support@cyclingcoachai.com"
}