{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_ufnqxgkjesa9","handle":"heart-routes","url":"https://wellknown.network/agents/heart-routes","links":{"self":"https://wellknown.network/agents/heart-routes/record.json","html":"https://wellknown.network/agents/heart-routes","markdown":"https://wellknown.network/agents/heart-routes/record.md","api":"https://wellknown.network/api/v1/agents/heart-routes","status":"https://wellknown.network/api/v1/agents/heart-routes/status","claim":"https://wellknown.network/agents/heart-routes/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/heart-routes/claim.json","badge":"https://wellknown.network/agents/heart-routes/badge.svg","openapi":"https://wellknown.network/openapi.json"},"ard":{"identifier":"urn:air:zhenwiaphfwetckfysod.supabase.co:server:heart-routes","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"heart-routes","summary":"Heart-shaped GPS running routes in 200+ cities — charity, gift, memorial, anniversary.","description":"Heart-shaped GPS running routes in 200+ cities — charity, gift, memorial, anniversary.","publisher":{"name":"run.cityheart","url":null},"homepage":"https://cityheart.run/mcp","repository":"https://github.com/secupunk/scenic-pathfinder-ai","version":"1.0.0","license":null,"protocols":["mcp"],"tags":[],"pricing":null,"endpoints":[{"url":"https://zhenwiaphfwetckfysod.supabase.co/functions/v1/mcp","type":"mcp_streamable_http","auth":null,"probeable":true}],"skills":null,"tools":null,"extra":{"updatedAt":"2026-05-22T20:16:12.190463Z","publishedAt":"2026-05-22T20:16:12.190463Z","registryName":"run.cityheart/heart-routes"},"attribution":{"kind":"mcp_registry","name":"mcp_registry","repoUrl":"mcp_registry","summary":"mcp_registry","version":"mcp_registry","description":"mcp_registry","homepageUrl":"mcp_registry","publisherName":"mcp_registry"}},"derived":{"capabilities":[{"slug":"commerce.payments","name":"Payments","confidence":1,"provenance":"derived"},{"slug":"geo.maps","name":"Maps & Places","confidence":1,"provenance":"derived"},{"slug":"commerce.ecommerce","name":"E-commerce Operations","confidence":0.54,"provenance":"derived"}],"categories":["commerce","geo"]},"observed":{"status":"live","statusReason":"Responded 9h ago.","lastOkAt":"2026-09-08T12:23:37.988Z","lastProbedAt":"2026-09-08T12:23:37.988Z","statusComputedAt":"2026-09-08T12:45:08.508Z","reliability30d":{"probes":5,"successRate":1,"p50Ms":257},"latestObservations":[{"at":"2026-09-08T19:21:00.100Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":171,"error":null,"detail":{"tools":[{"name":"find_heart_route_in_city","description":"Find an existing heart-shaped running route in a given city. Returns up to 5 AI-validated routes matching the city (and optionally a target distance). Use this "},{"name":"get_route_details","description":"Get full details for a specific heart route by its slug. Use after find_heart_route_in_city when the user picks one. Returns: city, distance, image URL, share U"},{"name":"list_supported_cities","description":"List cities that have at least one heart route available. Use when the user asks \"where can I run a heart?\" or hasn't picked a city yet. Returns city names + ro"},{"name":"generate_heart_route","description":"Start a new heart-shaped route for a given city. Returns existing AI-validated matches from inventory PLUS a deep-link to the live builder for an on-demand fres"},{"name":"add_dedication","description":"Compose a builder URL with a dedication pre-filled — the name shows on the runner's GPS watch and in the Strava activity title. Use after the user picks a route"},{"name":"add_cause","description":"Compose a builder URL with a fundraising link pre-filled — the URL is embedded into the GPX metadata (description, filename) so it surfaces in the runner's Stra"},{"name":"export_gpx","description":"Return the GPX download / checkout URL for a specific public route. The download itself happens on cityheart.run after a one-time €7.99 payment (Stripe — CityHe"}],"toolCount":7,"serverName":"cityheart","capabilities":["tools"],"serverVersion":"1.0.0","protocolVersion":"2024-11-05"}},{"at":"2026-09-08T12:23:37.988Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":209,"error":null,"detail":{"tools":[{"name":"find_heart_route_in_city","description":"Find an existing heart-shaped running route in a given city. Returns up to 5 AI-validated routes matching the city (and optionally a target distance). Use this "},{"name":"get_route_details","description":"Get full details for a specific heart route by its slug. Use after find_heart_route_in_city when the user picks one. Returns: city, distance, image URL, share U"},{"name":"list_supported_cities","description":"List cities that have at least one heart route available. Use when the user asks \"where can I run a heart?\" or hasn't picked a city yet. Returns city names + ro"},{"name":"generate_heart_route","description":"Start a new heart-shaped route for a given city. Returns existing AI-validated matches from inventory PLUS a deep-link to the live builder for an on-demand fres"},{"name":"add_dedication","description":"Compose a builder URL with a dedication pre-filled — the name shows on the runner's GPS watch and in the Strava activity title. Use after the user picks a route"},{"name":"add_cause","description":"Compose a builder URL with a fundraising link pre-filled — the URL is embedded into the GPX metadata (description, filename) so it surfaces in the runner's Stra"},{"name":"export_gpx","description":"Return the GPX download / checkout URL for a specific public route. The download itself happens on cityheart.run after a one-time €7.99 payment (Stripe — CityHe"}],"toolCount":7,"serverName":"cityheart","capabilities":["tools"],"serverVersion":"1.0.0","protocolVersion":"2024-11-05"}},{"at":"2026-09-08T06:24:43.418Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":139,"error":null,"detail":{"tools":[{"name":"find_heart_route_in_city","description":"Find an existing heart-shaped running route in a given city. Returns up to 5 AI-validated routes matching the city (and optionally a target distance). Use this "},{"name":"get_route_details","description":"Get full details for a specific heart route by its slug. Use after find_heart_route_in_city when the user picks one. Returns: city, distance, image URL, share U"},{"name":"list_supported_cities","description":"List cities that have at least one heart route available. Use when the user asks \"where can I run a heart?\" or hasn't picked a city yet. Returns city names + ro"},{"name":"generate_heart_route","description":"Start a new heart-shaped route for a given city. Returns existing AI-validated matches from inventory PLUS a deep-link to the live builder for an on-demand fres"},{"name":"add_dedication","description":"Compose a builder URL with a dedication pre-filled — the name shows on the runner's GPS watch and in the Strava activity title. Use after the user picks a route"},{"name":"add_cause","description":"Compose a builder URL with a fundraising link pre-filled — the URL is embedded into the GPX metadata (description, filename) so it surfaces in the runner's Stra"},{"name":"export_gpx","description":"Return the GPX download / checkout URL for a specific public route. The download itself happens on cityheart.run after a one-time €7.99 payment (Stripe — CityHe"}],"toolCount":7,"serverName":"cityheart","capabilities":["tools"],"serverVersion":"1.0.0","protocolVersion":"2024-11-05"}},{"at":"2026-09-07T23:24:16.860Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":146,"error":null,"detail":{"tools":[{"name":"find_heart_route_in_city","description":"Find an existing heart-shaped running route in a given city. Returns up to 5 AI-validated routes matching the city (and optionally a target distance). Use this "},{"name":"get_route_details","description":"Get full details for a specific heart route by its slug. Use after find_heart_route_in_city when the user picks one. Returns: city, distance, image URL, share U"},{"name":"list_supported_cities","description":"List cities that have at least one heart route available. Use when the user asks \"where can I run a heart?\" or hasn't picked a city yet. Returns city names + ro"},{"name":"generate_heart_route","description":"Start a new heart-shaped route for a given city. Returns existing AI-validated matches from inventory PLUS a deep-link to the live builder for an on-demand fres"},{"name":"add_dedication","description":"Compose a builder URL with a dedication pre-filled — the name shows on the runner's GPS watch and in the Strava activity title. Use after the user picks a route"},{"name":"add_cause","description":"Compose a builder URL with a fundraising link pre-filled — the URL is embedded into the GPX metadata (description, filename) so it surfaces in the runner's Stra"},{"name":"export_gpx","description":"Return the GPX download / checkout URL for a specific public route. The download itself happens on cityheart.run after a one-time €7.99 payment (Stripe — CityHe"}],"toolCount":7,"serverName":"cityheart","capabilities":["tools"],"serverVersion":"1.0.0","protocolVersion":"2024-11-05"}},{"at":"2026-09-07T16:26:01.462Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":339,"error":null,"detail":{"tools":[{"name":"find_heart_route_in_city","description":"Find an existing heart-shaped running route in a given city. Returns up to 5 AI-validated routes matching the city (and optionally a target distance). Use this "},{"name":"get_route_details","description":"Get full details for a specific heart route by its slug. Use after find_heart_route_in_city when the user picks one. Returns: city, distance, image URL, share U"},{"name":"list_supported_cities","description":"List cities that have at least one heart route available. Use when the user asks \"where can I run a heart?\" or hasn't picked a city yet. Returns city names + ro"},{"name":"generate_heart_route","description":"Start a new heart-shaped route for a given city. Returns existing AI-validated matches from inventory PLUS a deep-link to the live builder for an on-demand fres"},{"name":"add_dedication","description":"Compose a builder URL with a dedication pre-filled — the name shows on the runner's GPS watch and in the Strava activity title. Use after the user picks a route"},{"name":"add_cause","description":"Compose a builder URL with a fundraising link pre-filled — the URL is embedded into the GPX metadata (description, filename) so it surfaces in the runner's Stra"},{"name":"export_gpx","description":"Return the GPX download / checkout URL for a specific public route. The download itself happens on cityheart.run after a one-time €7.99 payment (Stripe — CityHe"}],"toolCount":7,"serverName":"cityheart","capabilities":["tools"],"serverVersion":"1.0.0","protocolVersion":"2024-11-05"}},{"at":"2026-09-07T09:30:01.616Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":978,"error":null,"detail":{"tools":[{"name":"find_heart_route_in_city","description":"Find an existing heart-shaped running route in a given city. Returns up to 5 AI-validated routes matching the city (and optionally a target distance). Use this "},{"name":"get_route_details","description":"Get full details for a specific heart route by its slug. Use after find_heart_route_in_city when the user picks one. Returns: city, distance, image URL, share U"},{"name":"list_supported_cities","description":"List cities that have at least one heart route available. Use when the user asks \"where can I run a heart?\" or hasn't picked a city yet. Returns city names + ro"},{"name":"generate_heart_route","description":"Start a new heart-shaped route for a given city. Returns existing AI-validated matches from inventory PLUS a deep-link to the live builder for an on-demand fres"},{"name":"add_dedication","description":"Compose a builder URL with a dedication pre-filled — the name shows on the runner's GPS watch and in the Strava activity title. Use after the user picks a route"},{"name":"add_cause","description":"Compose a builder URL with a fundraising link pre-filled — the URL is embedded into the GPX metadata (description, filename) so it surfaces in the runner's Stra"},{"name":"export_gpx","description":"Return the GPX download / checkout URL for a specific public route. The download itself happens on cityheart.run after a one-time €7.99 payment (Stripe — CityHe"}],"toolCount":7,"serverName":"cityheart","capabilities":["tools"],"serverVersion":"1.0.0","protocolVersion":"2024-11-05"}}],"tools":[{"name":"find_heart_route_in_city","description":"Find an existing heart-shaped running route in a given city. Returns up to 5 AI-validated routes matching the city (and optionally a target distance). Use this "},{"name":"get_route_details","description":"Get full details for a specific heart route by its slug. Use after find_heart_route_in_city when the user picks one. Returns: city, distance, image URL, share U"},{"name":"list_supported_cities","description":"List cities that have at least one heart route available. Use when the user asks \"where can I run a heart?\" or hasn't picked a city yet. Returns city names + ro"},{"name":"generate_heart_route","description":"Start a new heart-shaped route for a given city. Returns existing AI-validated matches from inventory PLUS a deep-link to the live builder for an on-demand fres"},{"name":"add_dedication","description":"Compose a builder URL with a dedication pre-filled — the name shows on the runner's GPS watch and in the Strava activity title. Use after the user picks a route"},{"name":"add_cause","description":"Compose a builder URL with a fundraising link pre-filled — the URL is embedded into the GPX metadata (description, filename) so it surfaces in the runner's Stra"},{"name":"export_gpx","description":"Return the GPX download / checkout URL for a specific public route. The download itself happens on cityheart.run after a one-time €7.99 payment (Stripe — CityHe"}],"package":null},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"mcp_registry","key":"run.cityheart/heart-routes","url":"https://registry.modelcontextprotocol.io/v0/servers/run.cityheart%2Fheart-routes","firstSeenAt":"2026-09-07T08:21:16.262Z","fetchedAt":"2026-09-07T08:21:16.262Z","normalizedAt":"2026-09-07T08:21:16.262Z"}]},"firstSeenAt":"2026-09-07T08:21:16.262Z","updatedAt":"2026-09-08T12:45:40.926Z"}