A Model Context Protocol (MCP) server that exposes the Strava API v3 as tools, resources, and prompts for AI agents.
Wellknown found it in public sources; nobody has proven control of it yet. Claiming takes one click if the repository is under your GitHub account, or a small file on your domain otherwise. Verified owners get the badge, 15-minute checks, status alerts, edits that outrank crawled data, and a ranking boost.
Agents can do it too: POST https://wellknown.network/api/v1/claims with {"agent":"strava-mcp-server-hnrx","method":"well_known_file"} — machine-readable steps at claim.json, guide at /docs/claim.
Everything here was measured by our prober or read from a registry. Nothing is self-reported.
Attributed to the source that supplied each field. Treated as claims, not facts.
# 🚴 Strava MCP Server A 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. Built 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. --- ## ✨ Features - 🛠️ **25+ MCP Tools** covering all major Strava API read endpoints (including athlete profile & stats) - 💬 **2 MCP Prompts** for structured AI-driven training analysis - 🔄 **Automated OAuth** — authentication flow via a standalone setup script with auto-rotation - 🐳 **Multi-Arch Docker** — optimized builds for `linux/amd64` and `linux/arm64` powered by `uv` - 🏷️ **Dynamic Versioning** — versions are automatically derived from Git tags (powered by `hatch-vcs`) - 🤖 **Agent-First Design** — includes specific instructions for LLMs on handling European date formats (DD.MM.YYYY) - 🌐 **Streamable HTTP transport** for broad client compatibility (SSE) - 🔒 **Read-only** — no write operations, safe to use with AI agents - 📝 **Design Decisions** — documented architectural choices in `docs/DESIGN_DECISIONS.md` --- ## 📋 Table of Contents - [Requirements](#requirements) - [Installation & Deployment](#installation--deployment) - [Docker (Recommended)](#docker-recommended) - [Local Python (uv)](#local-python-uv) - [Strava API Setup](#strava-api-setup) - [Connecting with MCP Clients](#connecting-with-mcp-clients) - [MCP Primitives](#mcp-primitives) - [Project Structure](#project-structure) - [Design Decisions](#design-decisions) - [CI/CD (Gitea Actions)](#cicd-gitea-actions) - [Development & Testing](#️-development--testing) - [Git Hooks](#git-hooks) - [Known Strava API Limitations](#known-strava-api-limitations) - [Troubleshooting](#troubleshooting) --- ## R…
Mapped onto the structured taxonomy from declared text and observed tool names. Confidence shown for derived entries.
Every source is kept verbatim. Field changes are logged as events.