This is a Model Context Protocol (MCP) server that provides professional cycling data from FirstCycling. It allows you to retrieve information about professional cyclists, race results, and more.
This is a Model Context Protocol (MCP) server that provides professional cycling data from FirstCycling. It allows you to retrieve comprehensive information about professional cyclists, race results, race details, and historical cycling data.
This MCP server offers rich access to professional cycling data, providing tools for:
With this MCP server, you can use Claude to:
uv
package manager (recommended)pyproject.toml
, including:
uv venv
source .venv/bin/activate # On macOS/Linux
# or
.venv\Scripts\activate # On Windows
uv pip install -e .
This server uses the FirstCycling API, which has been integrated directly into the project. The API provides methods to fetch data from the FirstCycling website through web scraping.
The server exposes the following tools through the Model Context Protocol:
Tool | Description |
---|---|
get_rider_info | Get basic biographical information about a rider including nationality, birthdate, weight, height, and current team |
get_rider_best_results | Retrieve a rider's best career results, sorted by importance |
get_rider_grand_tour_results | Get a rider's results in Grand Tours (Tour de France, Giro d'Italia, Vuelta a España) |
get_rider_monument_results | Retrieve a rider's results in cycling's Monument classics |
get_rider_team_and_ranking | Get a rider's team history and UCI ranking evolution over time |
get_rider_race_history | Retrieve a rider's complete race participation history, optionally filtered by year |
get_rider_one_day_races | Get a rider's results in one-day races, optionally filtered by year |
get_rider_stage_races | Get a rider's results in multi-day stage races, optionally filtered by year |
get_rider_teams | Retrieve the complete team history of a rider throughout their career |
get_rider_victories | Get a list of a rider's career victories, with optional filters for WorldTour or UCI races |
Tool | Description |
---|---|
get_race_results | Retrieve results for a specific race edition by race ID and year |
get_race_overview | Get general information about a race including history, records, and past winners |
get_race_stage_profiles | Retrieve stage profiles and details for multi-stage races |
get_race_startlist | Get the startlist for a specific race edition with detailed or basic team information |
get_race_victory_table | Retrieve the all-time victory table for a race showing riders with most wins |
get_race_year_by_year | Get year-by-year results for a race with optional classification filter |
get_race_youngest_oldest_winners | Retrieve information about the youngest and oldest winners of a race |
get_race_stage_victories | Get information about stage victories in multi-stage races |
Tool | Description |
---|---|
search_rider | Search for riders by name, returning their IDs and basic information |
search_race | Search for races by name, returning their IDs and basic information |
You can test the server with MCP Inspector by running:
uv run mcp dev firstcycling.py
This will start the server and open the MCP Inspector in your browser, allowing you to test the available tools.
To integrate this server with Claude for Desktop:
Edit the Claude for Desktop config file, located at:
~/Library/Application Support/Claude/claude_desktop_config.json
%APPDATA%\Claude\claude_desktop_config.json
Add the server to your configuration:
{
"mcpServers": {
"firstcycling": {
"command": "uv",
"args": ["--directory", "/path/to/server/directory", "run", "firstcycling.py"]
}
}
}
Restart Claude for Desktop
MIT