SuperAPI AI Directory

firstcycling-mcp

Cycling race data from FirstCycling: start lists, race results, rider information and statistics.

Open website

About this tool

firstcycling-mcp is a Model Context Protocol (MCP) server that provides professional cycling data from FirstCycling. It allows retrieval of comprehensive information such as professional riders, race results, race details, and historical cycling data.

Purpose The MCP server provides rich access to professional cycling data through the following tools: finding professional rider information, retrieving race results and details, exploring historical race data, analyzing rider performance and career development, and obtaining cycling team and race-related information.

Main Capabilities The server exposes the following tool categories through the Model Context Protocol: rider information and race information. These tools are implemented based on the FirstCycling API, which has been directly integrated into the project, retrieving data from the FirstCycling website through web scraping.

Usage Environment requirements: Python 3.10 or higher; the uv package manager is recommended. Dependencies are listed in pyproject.toml, including mcp, beautifulsoup4, lxml, pandas, slumber, and other packages used for web scraping and data processing.

Installation steps:

  1. Clone the repository.
  2. Create and activate a virtual environment: uv venv source .venv/bin/activate # macOS/Linux

    or .venv\Scripts\activate # Windows

  3. Install dependencies: uv pip install -e .

Development mode: The server can be tested by running MCP Inspector. This command starts the server and opens MCP Inspector in the browser so that the available tools can be tested.

Integration into Claude for Desktop: Edit the Claude for Desktop configuration file, located at:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json

Add the server to the configuration: { "mcpServers": { "firstcycling": { "command": "uv", "args": [ "--directory", "/path/to/server/directory", "run", "firstcycling.py" ] } } } Then restart Claude for Desktop.

Use cases This server can be used in many real-world scenarios, for example using Claude for:

  • Performance tracking: such as "How has Tadej Pogačar performed in the Tour de France over the years?"
  • Career development: such as "Show Wout van Aert's team history and career development."
  • Specialized analysis: such as "How has Mathieu van der Poel performed in the five Monuments?"
  • Victory analysis: such as "List all of Jonas Vingegaard's WorldTour victories."
  • Historical comparison: such as "Compare Primož Roglič and Jonas Vingegaard's Grand Tour results."
  • Recent results: such as "Show the results of the 2023 Paris-Roubaix."
  • Historical context: such as "Who are the youngest and oldest winners of the Tour of Flanders?"
  • Team analysis: such as "Get the start list and detailed team information for the 2023 Tour de France."
  • Race statistics: such as "Show the victory table for Liège-Bastogne-Liège. Who has won the most times?"
  • Stage information: such as "Can you show the stage profiles of the 2023 Giro d'Italia?" It can also be used for sports journalism writing, such as "Create a detailed profile of Remco Evenepoel for a cycling magazine article", "Write an upcoming Tour de France preview based on the recent results of top contenders such as Tadej Pogačar and Jonas Vingegaard", "Analyze the career evolution of Tom Pidcock based on race results and team history"; as well as cycling education, such as "Use historical and champion data to explain what makes the five Monuments special", "Create an educational summary about the Grand Tours and their significance in professional cycling", "Use examples from the data to describe the typical career development path of a professional cyclist".

Limitations No clear information is provided in the materials regarding the tool's fees, pricing, platform compatibility details, data update frequency, or usage quotas; this information has not yet been provided.