{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_68q2uzcsrgsj","handle":"semipro-cycling-intelligence","url":"https://wellknown.network/agents/semipro-cycling-intelligence","links":{"self":"https://wellknown.network/agents/semipro-cycling-intelligence/record.json","html":"https://wellknown.network/agents/semipro-cycling-intelligence","markdown":"https://wellknown.network/agents/semipro-cycling-intelligence/record.md","api":"https://wellknown.network/api/v1/agents/semipro-cycling-intelligence","status":"https://wellknown.network/api/v1/agents/semipro-cycling-intelligence/status","claim":"https://wellknown.network/agents/semipro-cycling-intelligence/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/semipro-cycling-intelligence/claim.json","badge":"https://wellknown.network/agents/semipro-cycling-intelligence/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/semipro-cycling-intelligence/history","tools":"https://wellknown.network/api/v1/agents/semipro-cycling-intelligence/tools"},"ard":{"identifier":"urn:air:api.semipro.coach:server:semipro-cycling-intelligence","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"SEMIPRO Cycling Intelligence","summary":"Analyse cycling-event GPX routes and build bounded, practical ride-fuelling carry plans.","description":"Analyse cycling-event GPX routes and build bounded, practical ride-fuelling carry plans.","publisher":{"name":"damianruse","url":null},"homepage":"https://semipro.coach/agents","repository":null,"version":"1.1.0","license":null,"protocols":["mcp"],"tags":[],"pricing":null,"endpoints":[{"url":"https://api.semipro.coach/mcp","type":"mcp_streamable_http","auth":null,"probeable":true}],"skills":null,"tools":null,"extra":{"updatedAt":"2026-08-15T11:29:41.892832Z","publishedAt":"2026-08-15T11:29:41.892832Z","registryName":"io.github.damianruse/semipro-intelligence"},"attribution":{"kind":"mcp_registry","name":"mcp_registry","summary":"mcp_registry","version":"mcp_registry","description":"mcp_registry","homepageUrl":"mcp_registry","publisherName":"mcp_registry"}},"derived":{"capabilities":[],"categories":[],"language":"en"},"observed":{"status":"live","statusReason":"Responded 5h ago.","lastOkAt":"2026-10-10T10:29:14.713Z","lastProbedAt":"2026-10-10T10:29:14.713Z","statusComputedAt":"2026-10-10T10:30:12.427Z","reliability30d":{"probes":109,"successRate":0.9908,"p50Ms":1217,"basis":"service","measures":{"availability":"availability","latency":"response time","tools":"tool surface observed","summary":"Checks reached the service itself."},"checks":{"total":107,"ok":106,"authBoundaryOk":0,"serviceOk":106,"note":"Counted from the observation rows for the window, checks of the server only (HTTP, A2A card, MCP initialize). ok = authBoundaryOk + serviceOk. `probes` is the sum of daily rollups and includes registry checks, so it can differ from `total`."}},"latestObservations":[{"at":"2026-10-10T10:29:14.713Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":1629,"error":null,"detail":{"tools":[{"name":"analyse_event_route","description":"Analyse a cycling-event GPX using SEMIPRO Event Demand Intelligence. Use this when a rider, coach or agent asks what a route will demand, which climbs or sectio"},{"name":"plan_ride_fuelling","description":"Turn a cycling session duration, broad work type and current carbohydrate tolerance into a bounded carbohydrate target, carry plan and timing guide. Use this wh"}],"toolCount":2,"toolsHash":"0724cfa427afec58bf10b049db29b09893691cc0ebfb311aff6288a3512b850a","serverName":"semipro-cycling-intelligence","capabilities":["tools","resources"],"serverVersion":"1.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-10T04:31:03.183Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":1316,"error":null,"detail":{"tools":[{"name":"analyse_event_route","description":"Analyse a cycling-event GPX using SEMIPRO Event Demand Intelligence. Use this when a rider, coach or agent asks what a route will demand, which climbs or sectio"},{"name":"plan_ride_fuelling","description":"Turn a cycling session duration, broad work type and current carbohydrate tolerance into a bounded carbohydrate target, carry plan and timing guide. Use this wh"}],"toolCount":2,"toolsHash":"0724cfa427afec58bf10b049db29b09893691cc0ebfb311aff6288a3512b850a","serverName":"semipro-cycling-intelligence","capabilities":["tools","resources"],"serverVersion":"1.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T21:26:38.425Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":1107,"error":null,"detail":{"tools":[{"name":"analyse_event_route","description":"Analyse a cycling-event GPX using SEMIPRO Event Demand Intelligence. Use this when a rider, coach or agent asks what a route will demand, which climbs or sectio"},{"name":"plan_ride_fuelling","description":"Turn a cycling session duration, broad work type and current carbohydrate tolerance into a bounded carbohydrate target, carry plan and timing guide. Use this wh"}],"toolCount":2,"toolsHash":"0724cfa427afec58bf10b049db29b09893691cc0ebfb311aff6288a3512b850a","serverName":"semipro-cycling-intelligence","capabilities":["tools","resources"],"serverVersion":"1.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T14:31:16.658Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":827,"error":null,"detail":{"tools":[{"name":"analyse_event_route","description":"Analyse a cycling-event GPX using SEMIPRO Event Demand Intelligence. Use this when a rider, coach or agent asks what a route will demand, which climbs or sectio"},{"name":"plan_ride_fuelling","description":"Turn a cycling session duration, broad work type and current carbohydrate tolerance into a bounded carbohydrate target, carry plan and timing guide. Use this wh"}],"toolCount":2,"toolsHash":"0724cfa427afec58bf10b049db29b09893691cc0ebfb311aff6288a3512b850a","serverName":"semipro-cycling-intelligence","capabilities":["tools","resources"],"serverVersion":"1.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T08:28:31.468Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":551,"error":null,"detail":{"tools":[{"name":"analyse_event_route","description":"Analyse a cycling-event GPX using SEMIPRO Event Demand Intelligence. Use this when a rider, coach or agent asks what a route will demand, which climbs or sectio"},{"name":"plan_ride_fuelling","description":"Turn a cycling session duration, broad work type and current carbohydrate tolerance into a bounded carbohydrate target, carry plan and timing guide. Use this wh"}],"toolCount":2,"toolsHash":"0724cfa427afec58bf10b049db29b09893691cc0ebfb311aff6288a3512b850a","serverName":"semipro-cycling-intelligence","capabilities":["tools","resources"],"serverVersion":"1.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T01:26:19.827Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":1289,"error":null,"detail":{"tools":[{"name":"analyse_event_route","description":"Analyse a cycling-event GPX using SEMIPRO Event Demand Intelligence. Use this when a rider, coach or agent asks what a route will demand, which climbs or sectio"},{"name":"plan_ride_fuelling","description":"Turn a cycling session duration, broad work type and current carbohydrate tolerance into a bounded carbohydrate target, carry plan and timing guide. Use this wh"}],"toolCount":2,"toolsHash":"0724cfa427afec58bf10b049db29b09893691cc0ebfb311aff6288a3512b850a","serverName":"semipro-cycling-intelligence","capabilities":["tools","resources"],"serverVersion":"1.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T19:22:56.022Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":1094,"error":null,"detail":{"tools":[{"name":"analyse_event_route","description":"Analyse a cycling-event GPX using SEMIPRO Event Demand Intelligence. Use this when a rider, coach or agent asks what a route will demand, which climbs or sectio"},{"name":"plan_ride_fuelling","description":"Turn a cycling session duration, broad work type and current carbohydrate tolerance into a bounded carbohydrate target, carry plan and timing guide. Use this wh"}],"toolCount":2,"toolsHash":"0724cfa427afec58bf10b049db29b09893691cc0ebfb311aff6288a3512b850a","serverName":"semipro-cycling-intelligence","capabilities":["tools","resources"],"serverVersion":"1.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T12:25:20.209Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":1132,"error":null,"detail":{"tools":[{"name":"analyse_event_route","description":"Analyse a cycling-event GPX using SEMIPRO Event Demand Intelligence. Use this when a rider, coach or agent asks what a route will demand, which climbs or sectio"},{"name":"plan_ride_fuelling","description":"Turn a cycling session duration, broad work type and current carbohydrate tolerance into a bounded carbohydrate target, carry plan and timing guide. Use this wh"}],"toolCount":2,"toolsHash":"0724cfa427afec58bf10b049db29b09893691cc0ebfb311aff6288a3512b850a","serverName":"semipro-cycling-intelligence","capabilities":["tools","resources"],"serverVersion":"1.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T05:20:54.828Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":892,"error":null,"detail":{"tools":[{"name":"analyse_event_route","description":"Analyse a cycling-event GPX using SEMIPRO Event Demand Intelligence. Use this when a rider, coach or agent asks what a route will demand, which climbs or sectio"},{"name":"plan_ride_fuelling","description":"Turn a cycling session duration, broad work type and current carbohydrate tolerance into a bounded carbohydrate target, carry plan and timing guide. Use this wh"}],"toolCount":2,"toolsHash":"0724cfa427afec58bf10b049db29b09893691cc0ebfb311aff6288a3512b850a","serverName":"semipro-cycling-intelligence","capabilities":["tools","resources"],"serverVersion":"1.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-07T22:23:41.363Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":1292,"error":null,"detail":{"tools":[{"name":"analyse_event_route","description":"Analyse a cycling-event GPX using SEMIPRO Event Demand Intelligence. Use this when a rider, coach or agent asks what a route will demand, which climbs or sectio"},{"name":"plan_ride_fuelling","description":"Turn a cycling session duration, broad work type and current carbohydrate tolerance into a bounded carbohydrate target, carry plan and timing guide. Use this wh"}],"toolCount":2,"toolsHash":"0724cfa427afec58bf10b049db29b09893691cc0ebfb311aff6288a3512b850a","serverName":"semipro-cycling-intelligence","capabilities":["tools","resources"],"serverVersion":"1.1.0","protocolVersion":"2025-06-18"}}],"tools":[{"name":"analyse_event_route","description":"Analyse a cycling-event GPX using SEMIPRO Event Demand Intelligence. Use this when a rider, coach or agent asks what a route will demand, which climbs or sectio"},{"name":"plan_ride_fuelling","description":"Turn a cycling session duration, broad work type and current carbohydrate tolerance into a bounded carbohydrate target, carry plan and timing guide. Use this wh"}],"package":null,"toolSurface":{"id":"ts_52fp5p7pcuc8","endpointId":"ep_3pv4xnvn8tv2","hash":"0724cfa427afec58bf10b049db29b09893691cc0ebfb311aff6288a3512b850a","toolCount":2,"serverName":"semipro-cycling-intelligence","serverVersion":"1.1.0","protocolVersion":"2025-06-18","firstSeenAt":"2026-09-12T09:27:52.562Z","lastSeenAt":"2026-10-10T10:29:14.707Z","observations":101,"toolNames":["analyse_event_route","plan_ride_fuelling"],"distinctSurfaces":1},"endpointFacts":[{"id":"ep_3pv4xnvn8tv2","url":"https://api.semipro.coach/mcp","type":"mcp_streamable_http","factsCheckedAt":"2026-10-10T04:31:03.201Z","auth":{"observedAt":"2026-10-10T04:31:03.225Z","authRequired":false,"scheme":null,"resourceMetadata":null,"authorizationServer":null,"conformance":{"dpop":false,"rfc8414":false,"rfc9728":false,"pkceS256":false,"clientIdMetadataDocument":false,"dynamicClientRegistration":false}},"tls":{"observedAt":"2026-10-10T04:31:03.245Z","protocol":"TLSv1.3","chainValid":true,"chainError":null,"hostMatches":true,"subject":"semipro.coach","issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validFrom":"2026-09-25T02:58:58.000Z","validTo":"2026-12-24T02:58:57.000Z","daysToExpiry":74,"sanCount":2,"fingerprint256":"0E:A7:AC:F8:B8:2E:67:76:E9:CD:A6:55:D3:2B:38:9E:8A:47:0D:34:13:ED:FB:22:E0:6F:E9:F6:83:34:F6:E8"}}]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"mcp_registry","key":"io.github.damianruse/semipro-intelligence","url":"https://registry.modelcontextprotocol.io/v0/servers/io.github.damianruse%2Fsemipro-intelligence","firstSeenAt":"2026-09-06T12:19:19.868Z","fetchedAt":"2026-10-10T08:21:41.241Z","normalizedAt":"2026-10-10T08:21:41.241Z"}]},"firstSeenAt":"2026-09-06T12:19:19.868Z","updatedAt":"2026-10-10T10:31:17.827Z"}