{"servers":[{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.ljcl/intervals-mcp","description":"Remote MCP server for intervals.icu run data and analysis","repository":{"url":"https://github.com/ljcl/intervals-mcp","source":"github"},"version":"0.2.0","websiteUrl":"https://github.com/ljcl/intervals-mcp#readme","packages":[{"registryType":"oci","identifier":"ghcr.io/ljcl/intervals-mcp:0.2.0","runtimeHint":"docker","transport":{"type":"streamable-http","url":"http://localhost:3000/mcp"},"environmentVariables":[{"description":"intervals.icu personal API key (Settings, Developer Settings)","isRequired":true,"format":"string","isSecret":true,"name":"INTERVALS_API_KEY"},{"description":"Athlete id; default 0 means the API key's own athlete","format":"string","name":"INTERVALS_ATHLETE_ID"},{"description":"IANA time zone for local dates, e.g. Australia/Sydney","format":"string","name":"TZ"},{"description":"Shared secret gating /mcp and detailed /health (recommended when internet-facing)","format":"string","isSecret":true,"name":"MCP_AUTH_TOKEN"},{"description":"Server port (default 3000)","format":"number","name":"PORT"},{"description":"Public URL, used only to warn when /mcp is exposed without MCP_AUTH_TOKEN","format":"string","name":"PUBLIC_URL"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-09-25T23:40:44.993093Z","publishedAt":"2026-09-25T23:40:44.993093Z","updatedAt":"2026-09-25T23:40:44.993093Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.ljcl/intervals-mcp","description":"Remote MCP server for intervals.icu run data and analysis","repository":{"url":"https://github.com/ljcl/intervals-mcp","source":"github"},"version":"1.0.0","websiteUrl":"https://github.com/ljcl/intervals-mcp#readme","packages":[{"registryType":"oci","identifier":"ghcr.io/ljcl/intervals-mcp:1.0.0","runtimeHint":"docker","transport":{"type":"streamable-http","url":"http://localhost:3000/mcp"},"environmentVariables":[{"description":"intervals.icu personal API key (Settings, Developer Settings)","isRequired":true,"format":"string","isSecret":true,"name":"INTERVALS_API_KEY"},{"description":"Athlete id; default 0 means the API key's own athlete","format":"string","name":"INTERVALS_ATHLETE_ID"},{"description":"IANA time zone for local dates, e.g. Australia/Sydney","format":"string","name":"TZ"},{"description":"Shared secret gating /mcp and detailed /health (recommended when internet-facing)","format":"string","isSecret":true,"name":"MCP_AUTH_TOKEN"},{"description":"Server port (default 3000)","format":"number","name":"PORT"},{"description":"Public URL, used only to warn when /mcp is exposed without MCP_AUTH_TOKEN","format":"string","name":"PUBLIC_URL"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-09-26T00:47:33.337384Z","publishedAt":"2026-09-26T00:47:33.337384Z","updatedAt":"2026-09-26T00:47:33.337384Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.ljcl/intervals-mcp","description":"Remote MCP server for intervals.icu run data and analysis","repository":{"url":"https://github.com/ljcl/intervals-mcp","source":"github"},"version":"1.0.1","websiteUrl":"https://github.com/ljcl/intervals-mcp#readme","packages":[{"registryType":"oci","identifier":"ghcr.io/ljcl/intervals-mcp:1.0.1","runtimeHint":"docker","transport":{"type":"streamable-http","url":"http://localhost:3000/mcp"},"environmentVariables":[{"description":"intervals.icu personal API key (Settings, Developer Settings)","isRequired":true,"format":"string","isSecret":true,"name":"INTERVALS_API_KEY"},{"description":"Athlete id; default 0 means the API key's own athlete","format":"string","name":"INTERVALS_ATHLETE_ID"},{"description":"IANA time zone for local dates, e.g. Australia/Sydney","format":"string","name":"TZ"},{"description":"Shared secret gating /mcp and detailed /health (recommended when internet-facing)","format":"string","isSecret":true,"name":"MCP_AUTH_TOKEN"},{"description":"Server port (default 3000)","format":"number","name":"PORT"},{"description":"Public URL, used only to warn when /mcp is exposed without MCP_AUTH_TOKEN","format":"string","name":"PUBLIC_URL"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-09-26T01:18:55.628136Z","publishedAt":"2026-09-26T01:18:55.628136Z","updatedAt":"2026-09-26T01:18:55.628136Z","isLatest":false}}},{"server":{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.ljcl/intervals-mcp","description":"Remote MCP server for intervals.icu run data and analysis","repository":{"url":"https://github.com/ljcl/intervals-mcp","source":"github"},"version":"2.0.0","websiteUrl":"https://github.com/ljcl/intervals-mcp#readme","packages":[{"registryType":"oci","identifier":"ghcr.io/ljcl/intervals-mcp:2.0.0","runtimeHint":"docker","transport":{"type":"streamable-http","url":"http://localhost:3000/mcp"},"environmentVariables":[{"description":"intervals.icu personal API key (Settings, Developer Settings)","isRequired":true,"format":"string","isSecret":true,"name":"INTERVALS_API_KEY"},{"description":"Athlete id; default 0 means the API key's own athlete","format":"string","name":"INTERVALS_ATHLETE_ID"},{"description":"IANA time zone for local dates, e.g. Australia/Sydney","format":"string","name":"TZ"},{"description":"Shared secret gating /mcp and detailed /health (recommended when internet-facing)","format":"string","isSecret":true,"name":"MCP_AUTH_TOKEN"},{"description":"Server port (default 3000)","format":"number","name":"PORT"},{"description":"Public URL, used only to warn when /mcp is exposed without MCP_AUTH_TOKEN","format":"string","name":"PUBLIC_URL"}]}]},"_meta":{"io.modelcontextprotocol.registry/official":{"status":"active","statusChangedAt":"2026-09-26T01:38:44.406481Z","publishedAt":"2026-09-26T01:38:44.406481Z","updatedAt":"2026-09-26T01:38:44.406481Z","isLatest":true}}}],"metadata":{"count":4}}
