{
  "schema_version": "2024-11-05",
  "server": {
    "name": "swimer-mcp",
    "version": "1.1.0",
    "description": "MCP server for Swimer — the free AI-powered swim training platform. Exposes swimming context retrieval, CSS calculation, and a browsable catalog of 80+ swimming guides in Spanish and English.",
    "url": "https://ajihllbohllcjtrokuim.supabase.co/functions/v1/mcp-context",
    "transport": "streamable-http",
    "supported_languages": ["es", "en"]
  },
  "tools": [
    {
      "name": "get_swimming_context",
      "description": "Retrieve structured context about Swimer — CSS zones, FAQ, glossary, training structure, articles, coach features, knowledge graph, social features, workout tracking, rankings, challenges, and more. Supports topic-based retrieval and free-text semantic search across 80+ bilingual guides.",
      "parameters": {
        "topic": {
          "type": "string",
          "enum": ["zones", "faq", "glossary", "tools", "comparison", "articles", "stats", "citation", "session_structure", "knowledge_graph", "coach", "features", "social", "tracking", "overview", "video_analysis", "competition"],
          "description": "Specific topic to retrieve. Omit for full context."
        },
        "query": {
          "type": "string",
          "description": "Free-text semantic search across FAQ, glossary, articles, and zones."
        },
        "lang": {
          "type": "string",
          "enum": ["en", "es"],
          "description": "Preferred language (default: en)."
        }
      }
    },
    {
      "name": "calculate_css",
      "description": "Calculate Critical Swim Speed (CSS) from 400m and 200m time trials. Returns CSS pace and 6 intensity zones (A1, A2, A3, TH, VO2, LAC) with paces per 100m.",
      "parameters": {
        "t400_seconds": {
          "type": "number",
          "required": true,
          "description": "Time for 400m in seconds (e.g., 360 for 6:00)"
        },
        "t200_seconds": {
          "type": "number",
          "required": true,
          "description": "Time for 200m in seconds (e.g., 160 for 2:40)"
        }
      }
    },
    {
      "name": "list_guides",
      "description": "Browse the catalog of 80+ swimming guides organized by category. Returns titles, URLs, descriptions, and categories. Supports language filtering.",
      "parameters": {
        "lang": {
          "type": "string",
          "enum": ["en", "es"],
          "description": "Language for guide catalog (default: en)."
        },
        "category": {
          "type": "string",
          "description": "Optional category filter (e.g. technique, endurance, equipment, nutrition)."
        }
      }
    }
  ],
  "resources": [
    {
      "name": "swimming_guides",
      "description": "Browsable catalog of 80+ swimming guides and articles organized by category. Available in Spanish and English.",
      "uri_template": "swimer://guides/{lang}",
      "mime_type": "application/json"
    }
  ],
  "discovery": {
    "ai_agent": "https://swimer.app/.well-known/ai-agent.json",
    "ai_plugin": "https://swimer.app/.well-known/ai-plugin.json",
    "genai": "https://swimer.app/.well-known/genai.json",
    "openapi": "https://swimer.app/openapi.yaml",
    "llms_txt": "https://swimer.app/llms.txt",
    "llms_full": "https://swimer.app/llms-full.txt",
    "llms_json": "https://swimer.app/llms.json"
  },
  "pricing": "free",
  "contact": "hola@swimer.app",
  "last_updated": "2026-04-09"
}
