Firstcycling Mcp サーバー
これは、FirstCyclingからのプロサイクリングデータを提供するモデルコンテキストプロトコル(MCP)サーバーです。プロサイクリスト、レース結果などの情報を取得することができます。
概要
FirstCycling MCPとは?
FirstCycling MCP(モデルコンテキストプロトコル)は、プロフェッショナルサイクリングに関連する包括的なデータを提供するサーバーです。プロサイクリスト、レース結果、さまざまなサイクリングイベントに関する情報を取得するための貴重なリソースとして機能します。このプロトコルは、サイクリングデータへの簡単なアクセスを促進するように設計されており、サイクリング分野に興味を持つ愛好者、研究者、開発者にとって不可欠なツールです。
FirstCycling MCPの特徴
- 包括的なデータアクセス:ユーザーは、サイクリストのプロフィール、レース結果、歴史的データなど、幅広いデータにアクセスできます。
- ユーザーフレンドリーなインターフェース:サーバーは直感的に設計されており、ユーザーが必要な情報を簡単にナビゲートして取得できるようになっています。
- リアルタイム更新:提供されるデータは定期的に更新され、正確性と関連性を確保し、サイクリングの世界での最新のイベントや統計を反映しています。
- オープンソース:公共のリポジトリであるため、コミュニティからのコラボレーションや貢献を促進し、利用可能なデータの豊かさを高めています。
- 柔軟な統合:MCPはさまざまなアプリケーションに統合できるため、サイクリングデータをプロジェクトに組み込みたい開発者にとって多用途なツールです。
FirstCycling MCPの使い方
- リポジトリにアクセス: FirstCycling MCP GitHubページを訪れて、利用可能なリソースやドキュメントを探索します。
- リポジトリをクローン:Gitを使用して、リポジトリをローカルマシンにクローンし、開発とテストを行います。
git clone https://github.com/r-huijts/firstcycling-mcp.git
- APIを探索:ドキュメントに記載されているAPIエンドポイントに慣れ、必要なデータを取得する方法を理解します。
- アプリケーションに統合:分析、表示、またはさらなる開発のために、アプリケーションでデータを使用します。
- 貢献:改善点や追加データを共有したい場合は、リポジトリに貢献を検討してください。
よくある質問
Q: FirstCycling MCPを使用してどのようなデータを取得できますか?
A: プロサイクリスト、レース結果、歴史的データなどのデータを取得できます。
Q: FirstCycling MCPは無料で使用できますか?
A: はい、これは公共の利用が可能なオープンソースプロジェクトです。
Q: データはどのくらいの頻度で更新されますか?
A: データは定期的に更新され、サイクリングの世界で利用可能な最新情報を反映するようにしています。
Q: FirstCycling MCPプロジェクトに貢献できますか?
A: もちろんです!貢献は歓迎されます。リポジトリをフォークし、変更を加えてプルリクエストを提出できます。
Q: 開発者向けのドキュメントはありますか?
A: はい、開発者がMCPを効果的に使用する方法を理解するための詳細なドキュメントがリポジトリに提供されています。
詳細
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
- Clone this repository
- Create and activate a virtual environment:
uv venv source .venv/bin/activate # On macOS/Linux # or .venv\Scripts\activate # On Windows
- Install dependencies:
uv pip install -e .
FirstCycling API
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.
MCP Tools
The server exposes the following tools through the Model Context Protocol:
Rider Information
| 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 |
Race Information
| 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 |
Search Tools
| 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 |
Usage
Development Mode
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.
Integration with Claude for Desktop
To integrate this server with Claude for Desktop:
-
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
- macOS:
-
Add the server to your configuration:
{ "mcpServers": { "firstcycling": { "command": "uv", "args": ["--directory", "/path/to/server/directory", "run", "firstcycling.py"] } } }
-
Restart Claude for Desktop
License
MIT
サーバー設定
{
"mcpServers": {
"firstcycling-mcp": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/metorial/mcp-container--r-huijts--firstcycling-mcp--firstcycling-mcp",
"python -m firstcycling"
],
"env": {}
}
}
}