ProCyclingStats MCP Server
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@ProCyclingStats MCP Server Show me the startlist for the 2025 Tour de France"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
ProCyclingStats MCP Server
An MCP (Model Context Protocol) server that provides professional cycling data from ProCyclingStats.
Tools
Tool | Description |
| Find races from the PCS calendar for a given year and tier |
| Get race metadata — name, dates, category, stages list |
| Get full stage/one-day race results with metadata |
| Get rider bio, physical stats, specialty scores, palmares |
| Get the startlist for a race grouped by team |
| Free-text search for riders, races, and teams |
Related MCP server: pcs-mcp
Installation
pip install git+https://github.com/lewis-mcgillion/procyclingstats-mcp-server.gitOr clone and install locally:
git clone https://github.com/lewis-mcgillion/procyclingstats-mcp-server.git
cd procyclingstats-mcp-server
pip install -e .Usage
Run the server directly
procyclingstats-mcpConfigure in your MCP client
Add to your MCP client config (e.g. Claude Desktop, VS Code GitHub Copilot).
Recommended — using uvx (no manual install needed):
{
"mcpServers": {
"procyclingstats": {
"command": "uvx",
"args": ["--from", "git+https://github.com/lewis-mcgillion/procyclingstats-mcp-server.git", "procyclingstats-mcp"]
}
}
}Using a local clone with uv:
{
"mcpServers": {
"procyclingstats": {
"command": "uv",
"args": ["run", "--directory", "/path/to/procyclingstats-mcp-server", "procyclingstats-mcp"]
}
}
}Using a global install:
{
"mcpServers": {
"procyclingstats": {
"command": "procyclingstats-mcp",
"args": []
}
}
}Example Queries
"What WorldTour races are happening in 2025?"
"Show me the results of Tour de France 2025 Stage 1"
"What's Tadej Pogačar's rider profile?"
"Who's on the startlist for the Giro d'Italia 2025?"
"Search for Remco Evenepoel"
URL Format
All PCS URLs use the slug format:
Races:
race/tour-de-france/2025Stages:
race/tour-de-france/2025/stage-1One-day results:
race/milano-sanremo/2025/resultRiders:
rider/tadej-pogacar
Rate Limiting
The server enforces a 0.5s delay between requests to PCS and retries automatically on server errors (500/502/503/429).
Credits
Built on top of the procyclingstats Python library.
Available Tools
6 toolsdiscover_racesA
Discover professional cycling races from the PCS calendar for a given year.
Inputs: year (required), tiers. Returns: result
get_race_overviewA
Get metadata and stage list for a race.
Inputs: race_url (required). Returns: result
get_race_startlistB
Get the startlist for a race.
Inputs: race_url (required). Returns: result
get_rider_profileC
Get a professional cyclist's profile from PCS.
Inputs: rider_url (required). Returns: result
get_stage_resultsA
Get results and metadata for a specific stage or one-day race.
Inputs: stage_url (required). Returns: result
search_pcsB
Search ProCyclingStats for riders, races, or teams.
Inputs: query (required), max_results. Returns: result
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 6 tools
Each tool has a distinct purpose: discovering races, getting race overview, startlist, rider profile, stage results, and general search. No overlap or ambiguity.
All tool names follow a consistent verb_noun pattern with snake_case, e.g., discover_races, get_race_overview, get_rider_profile. No deviations.
6 tools is well-scoped for a cycling statistics server. Each tool covers a necessary operation without being excessive or insufficient.
The set covers core operations: race discovery, details, participants, rider profiles, stage results, and search. Missing team profiles and detailed rider season results, but the essential domain is covered.
Maintenance
Related MCP Connectors
BetsAPI MCP — wraps BetsAPI (betsapi.com) sports events + odds.
Football-Data.org MCP — soccer competitions, matches, standings
API-Football MCP — comprehensive soccer/football data
Related MCP Servers
- AlicenseAqualityDmaintenanceProvides professional cycling data from FirstCycling, allowing users to retrieve comprehensive information about cyclists, race results, historical cycling data, and team information through natural language queries.1818MIT
- FlicenseNot gradedqualityDmaintenanceMCP server exposing ProCyclingStats teams, riders, and races data by scraping site pages, enabling custom rankings and historical result analysis.-
- FlicenseNot gradedqualityCmaintenanceExposes Zwift training history stored in a local SQLite database to MCP clients and a REST API, enabling queries for activities, power curves, race results, and training load.-
- AlicenseNot gradedqualityCmaintenanceEnables MCP clients to access FantasyPros data through tools for injury news, player lookup, consensus rankings, and projections.1MIT