{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_25m9gqemg55r","handle":"strava-mcp-server-hnrx","url":"https://wellknown.network/agents/strava-mcp-server-hnrx","links":{"self":"https://wellknown.network/agents/strava-mcp-server-hnrx/record.json","html":"https://wellknown.network/agents/strava-mcp-server-hnrx","markdown":"https://wellknown.network/agents/strava-mcp-server-hnrx/record.md","api":"https://wellknown.network/api/v1/agents/strava-mcp-server-hnrx","status":"https://wellknown.network/api/v1/agents/strava-mcp-server-hnrx/status","claim":"https://wellknown.network/agents/strava-mcp-server-hnrx/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/strava-mcp-server-hnrx/claim.json","badge":"https://wellknown.network/agents/strava-mcp-server-hnrx/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/strava-mcp-server-hnrx/history","tools":"https://wellknown.network/api/v1/agents/strava-mcp-server-hnrx/tools"},"ard":{"identifier":"urn:air::server:strava-mcp-server-hnrx","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"strava-mcp-server-hnrx","summary":"A Model Context Protocol (MCP) server that exposes the Strava API v3 as tools, resources, and prompts for AI agents.","description":"# 🚴 Strava MCP Server\n\nA production-ready **Model Context Protocol (MCP) server** that exposes the Strava API v3 as MCP-compatible tools, resources, and prompts — enabling AI agents and LLM-based applications to query your Strava training data through a standardized interface.\n\nBuilt with [FastMCP](https://github.com/jlowin/fastmcp) and the [MCP Python SDK](https://github.com/modelcontextprotocol/python-sdk), compatible with MCP Inspector, Claude Desktop, and any MCP-compliant client.\n\n---\n\n## ✨ Features\n\n- 🛠️ **25+ MCP Tools** covering all major Strava API read endpoints (including athlete profile & stats)\n- 💬 **2 MCP Prompts** for structured AI-driven training analysis\n- 🔄 **Automated OAuth** — authentication flow via a standalone setup script with auto-rotation\n- 🐳 **Multi-Arch Docker** — optimized builds for `linux/amd64` and `linux/arm64` powered by `uv`\n- 🏷️ **Dynamic Versioning** — versions are automatically derived from Git tags (powered by `hatch-vcs`)\n- 🤖 **Agent-First Design** — includes specific instructions for LLMs on handling European date formats (DD.MM.YYYY)\n- 🌐 **Streamable HTTP transport** for broad client compatibility (SSE)\n- 🔒 **Read-only** — no write operations, safe to use with AI agents\n- 📝 **Design Decisions** — documented architectural choices in `docs/DESIGN_DECISIONS.md`\n\n---\n\n## 📋 Table of Contents\n\n- [Requirements](#requirements)\n- [Installation & Deployment](#installation--deployment)\n  - [Docker (Recommended)](#docker-recommended)\n  - [Local Python (uv)](#local-python-uv)\n- [Strava API Setup](#strava-api-setup)\n- [Connecting with MCP Clients](#connecting-with-mcp-clients)\n- [MCP Primitives](#mcp-primitives)\n- [Project Structure](#project-structure)\n- [Design Decisions](#design-decisions)\n- [CI/CD (Gitea Actions)](#cicd-gitea-actions)\n- [Development & Testing](#️-development--testing)\n  - [Git Hooks](#git-hooks)\n- [Known Strava API Limitations](#known-strava-api-limitations)\n- [Troubleshooting](#troubleshooting)\n\n---\n\n## R…","publisher":null,"homepage":"https://strava-mcp.web.s3.hnrx.net","repository":"https://git.hnrx.net/hnrx/strava-mcp-server","version":"0.2.13","license":"MIT","protocols":["mcp"],"tags":["ai","fitness","llm","mcp","model-context-protocol","strava"],"pricing":null,"endpoints":[{"url":"pypi:strava-mcp-server-hnrx","type":"package_pypi","auth":null,"probeable":false}],"skills":null,"tools":null,"extra":null,"attribution":{"kind":"pypi","name":"pypi","license":"pypi","repoUrl":"pypi","summary":"pypi","version":"pypi","description":"pypi","homepageUrl":"pypi"}},"derived":{"capabilities":[{"slug":"dev.ci-cd","name":"CI/CD & Deploy","confidence":1,"provenance":"derived"},{"slug":"security.identity","name":"Identity & Access","confidence":0.836,"provenance":"derived"},{"slug":"dev.version-control","name":"Version Control","confidence":0.745,"provenance":"derived"}],"categories":["dev","security"],"language":"en"},"observed":{"status":"unknown","statusReason":"Distributed as a package to run locally; no network endpoint to check.","lastOkAt":null,"lastProbedAt":null,"statusComputedAt":null,"reliability30d":null,"latestObservations":[],"tools":null,"package":{"name":"strava-mcp-server-hnrx","registry":"pypi","observedAt":"2026-11-04T01:24:57.603Z","publishedAt":"2026-05-30T19:34:57.357260Z","latestVersion":"0.2.13"},"toolSurface":null,"endpointFacts":[]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"pypi","key":"strava-mcp-server-hnrx","url":"https://pypi.org/project/strava-mcp-server-hnrx/","firstSeenAt":"2026-09-10T13:19:54.242Z","fetchedAt":"2026-11-04T01:24:01.672Z","normalizedAt":"2026-11-04T01:24:01.672Z"}]},"firstSeenAt":"2026-09-10T13:19:54.242Z","updatedAt":"2026-11-04T01:24:57.603Z"}