Skip to main content
Glama
ProCyclingStats MCP Server

ProCyclingStats MCP Server

ProCyclingStats MCP Server

An MCP (Model Context Protocol) server that provides professional cycling data from ProCyclingStats.

Tools

Tool

Description

discover_races

Find races from the PCS calendar for a given year and tier

get_race_overview

Get race metadata — name, dates, category, stages list

get_stage_results

Get full stage/one-day race results with metadata

get_rider_profile

Get rider bio, physical stats, specialty scores, palmares

get_race_startlist

Get the startlist for a race grouped by team

search_pcs

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.git

Or 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-mcp

Configure 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/2025

  • Stages: race/tour-de-france/2025/stage-1

  • One-day results: race/milano-sanremo/2025/result

  • Riders: 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 tools
discover_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

    A3.7/5.0

    Scored across 6 tools

    Disambiguation5/5

    Each tool has a distinct purpose: discovering races, getting race overview, startlist, rider profile, stage results, and general search. No overlap or ambiguity.

    Naming Consistency5/5

    All tool names follow a consistent verb_noun pattern with snake_case, e.g., discover_races, get_race_overview, get_rider_profile. No deviations.

    Tool Count5/5

    6 tools is well-scoped for a cycling statistics server. Each tool covers a necessary operation without being excessive or insufficient.

    Completeness4/5

    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

    ActivityInactive
    ResponsivenessLimited data

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      A
      quality
      D
      maintenance
      Provides 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.
      18
      18
      MIT
    • F
      license
      Not graded
      quality
      D
      maintenance
      MCP server exposing ProCyclingStats teams, riders, and races data by scraping site pages, enabling custom rankings and historical result analysis.
      -
    • F
      license
      Not graded
      quality
      C
      maintenance
      Exposes 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.
      -
    • A
      license
      Not graded
      quality
      C
      maintenance
      Enables MCP clients to access FantasyPros data through tools for injury news, player lookup, consensus rankings, and projections.
      1
      MIT