firstcycling.com
firstcycling.com logo

FirstCycling

Provides a bridge to FirstCycling.com for retrieving professional cycling statistics, race results, rider profiles, and...

Created byApr 23, 2025

FirstCycling MCP Server

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.

Features

This MCP server offers rich access to professional cycling data, providing tools for:
  • Finding information about professional cyclists
  • Retrieving race results and details
  • Exploring historical race data
  • Analyzing rider performance and career progression
  • Accessing information about cycling teams and competitions

Real-World Use Cases

With this MCP server, you can use Claude to:

Rider Analysis

  • **Performance Tracking**: "How has Tadej Poga ar performed in the Tour de France over the years?"
  • **Career Progression**: "Show me the team history and career progression of Wout van Aert."
  • **Specialization Analysis**: "What are Mathieu van der Poel's results in Monument classics?"
  • **Victory Analysis**: "List all WorldTour victories for Jonas Vingegaard."
  • **Historical Comparison**: "Compare the Grand Tour results of Primo Rogli and Jonas Vingegaard."

Race Research

  • **Recent Results**: "Show me the results of the 2023 Paris-Roubaix."
  • **Historical Context**: "Who are the youngest and oldest winners of the Tour of Flanders?"
  • **Team Analysis**: "Get the startlist for the 2023 Tour de France with detailed team information."
  • **Race Statistics**: "Show me the victory table for Li ge-Bastogne-Li ge. Who has won it the most times?"
  • **Stage Information**: "Can you show me the stage profiles for the 2023 Giro d'Italia?"

Sports Journalism

  • "Create a detailed profile of Remco Evenepoel for a cycling magazine article."
  • "Write a preview for the upcoming Tour de France based on the recent results of top contenders like Tadej Poga ar and Jonas Vingegaard."
  • "Analyze the evolution of Tom Pidcock's career based on his race results and team history."

Cycling Education

  • "Explain what makes the Monument classics special using data about their history and winners."
  • "Create an educational summary about Grand Tours and their significance in professional cycling."
  • "Describe the typical career progression of a professional cyclist using examples from the data."

Requirements

  • Python 3.10 or higher
  • `uv` package manager (recommended)
  • Dependencies as listed in `pyproject.toml`, including: - mcp - beautifulsoup4 - lxml - pandas - slumber - and other packages for web scraping and data processing

Setup

  1. Clone this repository
  1. Create and activate a virtual environment: ``` uv venv source .venv/bin/activate # On macOS/Linux # or .venv\Scripts\activate # On Windows ```
  1. Install dependencies: ``` uv pip install -e . ```

FirstCycling API

This server uses the [FirstCycling API](https://github.com/baronet2/FirstCyclingAPI), which has been integrated directly into the project. The API provides methods to fetch data from the FirstCycling website through web scraping.

MCP Tools

The server exposes the following tools through the Model Context Protocol:

Rider Information

[object Object]
[object Object]
[object Object]
[object Object]
[object Object]
[object Object]
[object Object]
[object Object]
[object Object]
[object Object]
[object Object]
[object Object]
[object Object]
[object Object]
[object Object]
[object Object]
[object Object]
[object Object]
[object Object]
[object Object]
[object Object]
[object Object]

Race Information

[object Object]
[object Object]
[object Object]
[object Object]
[object Object]
[object Object]
[object Object]
[object Object]
[object Object]
[object Object]
[object Object]
[object Object]
[object Object]
[object Object]
[object Object]
[object Object]
[object Object]
[object Object]

Search Tools

[object Object]
[object Object]
[object Object]
[object Object]
[object Object]
[object Object]

Usage

Development Mode

You can test the server with MCP Inspector by running:
This will start the server and open the MCP Inspector in your browser, allowing you to test the available tools.

Integration with Claude for Desktop

To integrate this server with Claude for Desktop:
  1. Edit the Claude for Desktop config file, located at: - macOS: `~/Library/Application Support/Claude/claude_desktop_config.json` - Windows: `%APPDATA%\Claude\claude_desktop_config.json`
  1. Add the server to your configuration: ```json { "mcpServers": { "firstcycling": { "command": "uv", "args": ["--directory", "/path/to/server/directory", "run", "firstcycling.py"] } } } ```
  1. Restart Claude for Desktop

License

MIT