Fantasy Premier League MCP Server

by rishijatia
Verified
MIT License
7
  • Apple

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Integrations

  • Provides access to Fantasy Premier League data including comprehensive player statistics, team information, gameweek data, fixture difficulty, and tools for comparing players and analyzing performance

  • Leverages Python to access the Fantasy Premier League API, with support for Python 3.10 or higher to run the MCP server

ファンタジープレミアリーグMCPサーバー

ファンタジー・プレミアリーグ(FPL)のデータとツールへのアクセスを提供するモデル・コンテキスト・プロトコル(MCP)サーバーです。このサーバーを使用すると、Claude for Desktopやその他のMCP対応クライアントでFPLデータを操作できます。

ファンタジープレミアリーグMCPサーバーのデモ

サポートされているプラットフォーム

  • クロードデスクトップ
  • カーソル
  • ウィンドサーフィン
  • その他のMCP互換デスクトップLLM

現在、モバイルはサポートされていません。

特徴

  • 豊富な選手データ: FPL API から包括的な選手統計にアクセスします
  • チーム情報: プレミアリーグのチームの詳細を入手
  • ゲームウィークデータ: 現在および過去のゲームウィーク情報を表示します
  • 選手検索: 名前またはチームで選手を検索
  • プレイヤー比較: 任意の2人のプレイヤー間の詳細な統計情報を比較します

要件

  • Python 3.10以上
  • Claude Desktop(AI統合用)

インストール

オプション 1: PyPI からインストールする (推奨)

pip install fpl-mcp

オプション 1b: 開発依存関係とともにインストールする

pip install "fpl-mcp[dev]"

オプション2: GitHubからインストールする

pip install git+https://github.com/rishijatia/fantasy-pl-mcp.git

オプション3: クローンを作成してローカルにインストールする

git clone https://github.com/rishijatia/fantasy-pl-mcp.git cd fantasy-pl-mcp pip install -e .

サーバーの実行

インストール後、サーバーを実行するためのオプションがいくつかあります。

1. CLIコマンドの使用

fpl-mcp

2. Pythonモジュールの使用

python -m fpl_mcp

3. Claude Desktopと併用する

claude_desktop_config.jsonファイルを編集して、インストールされたパッケージを使用するように Claude Desktop を構成します。

方法1: Pythonモジュールを直接使用する(最も信頼性が高い)

{ "mcpServers": { "fantasy-pl": { "command": "python", "args": ["-m", "fpl_mcp"] } } }

方法 2: インストールされたコマンドをフルパスで使用 (pip でインストールした場合)

{ "mcpServers": { "fantasy-pl": { "command": "/full/path/to/your/venv/bin/fpl-mcp" } } }

/full/path/to/your/venv/bin/fpl-mcpを、実行ファイルへの実際のパスに置き換えてください。仮想環境を有効化した後、ターミナルでwhich fpl-mcpを実行すると、パスを確認できます。

注: "command": "fpl-mcp"のみを使用すると、Claude Desktop が仮想環境の PATH にアクセスできないためspawn fpl-mcp ENOENTエラーが発生する可能性があります。フルパスまたは Python モジュール方式を使用すると、この問題を回避できます。

使用法

デスクトップ版Claude

  1. デスクトップ版Claudeを起動
  2. ハンマーアイコンからFPLツールが利用可能になります
  3. クエリの例:
    • 「過去5試合におけるモハメド・サラーとエルリング・ハーランドの比較」
    • 「アーセナルのミッドフィールダー全員を見つける」
    • 「現在のゲームウィークの状況はどうですか?」
    • 「ポイント上位5人のフォワードを表示」

Fantasy-PL MCP 使用方法

基本コマンド:

  • プレイヤーを比較する: 「[Player1]と[Player2]を比較する」
  • 選手を探す: 「[チーム] の選手を探す」または「[選手名] を検索」
  • 試合の難易度: 「[チーム]の今後の試合を表示する」
  • キャプテンのアドバイス: [Player1] と [Player2] のどちらをキャプテンにすべきでしょうか?

高度な機能:

  • 統計分析:「[Player1] と [Player2] の基礎統計を比較する」
  • フォームチェック:「今調子が良い選手を表示」
  • 差別化要因の選択:「10% 未満の所有権で差別化要因を提案」
  • チームの最適化: 「チームを評価し、移籍を提案する」

ヒント:

  • 正確な結果を得るには、プレーヤー名を具体的に入力してください
  • 検索時にポジションを含める(FW、MID、DEF、GK)
  • キャプテンのアドバイスを得るには、調子、試合日程、基本的な統計について尋ねてください。
  • 特定の指標(xG、ボックス内のシュート数など)の比較をリクエストします。

開発のためのMCP検査官

開発とテストの場合:

# If you have mcp[cli] installed mcp dev -m fpl_mcp # Or use npx npx @modelcontextprotocol/inspector python -m fpl_mcp

利用可能なリソース

  • fpl://static/players - 包括的な統計情報を含むすべてのプレーヤーデータ
  • fpl://static/players/{name} - 名前検索によるプレイヤーデータ
  • fpl://static/teams - プレミアリーグの全チーム
  • fpl://static/teams/{name} - チームデータを名前で検索
  • fpl://gameweeks/current - 現在のゲームウィークデータ
  • fpl://gameweeks/all - すべてのゲームウィークのデータ
  • fpl://fixtures - 今シーズンのすべての試合予定
  • fpl://fixtures/gameweek/{gameweek_id} - 特定のゲームウィークの試合予定
  • fpl://fixtures/team/{team_name} - 特定のチームの試合予定
  • fpl://players/{player_name}/fixtures - 特定の選手の今後の試合予定
  • fpl://gameweeks/blank - 今後の空のゲームウィークに関する情報
  • fpl://gameweeks/double - 今後のダブルゲームウィークに関する情報

利用可能なツール

  • get_gameweek_status - 現在、過去、次のゲームウィークに関する正確な情報を取得します
  • analyze_player_fixtures - 難易度評価付きの選手の今後の試合を分析する
  • get_blank_gameweeks - 今後の空白ゲームウィークに関する情報を取得します
  • get_double_gameweeks - 今後のダブルゲームウィークに関する情報を取得します
  • analyze_players - 複数の基準に基づいて FPL プレーヤーをフィルタリングして分析します
  • analyze_fixtures - 選手、チーム、またはポジションの今後の試合を分析する
  • compare_players - さまざまな指標で複数のプレイヤーを比較する
  • check_fpl_authentication - FPL認証が正しく機能しているかどうかを確認する
  • get_my_team - 認証されたチームを表示する(認証が必要です)
  • get_team - 特定のIDを持つチームを表示します(認証が必要です)
  • get_manager_info - マネージャーの詳細を取得する(認証が必要)

プロンプトテンプレート

  • player_analysis_prompt - FPLプレイヤーを詳細に分析するためのプロンプトを作成する
  • transfer_advice_prompt - 予算とポジションに基づいた選手移籍に関するアドバイスを入手
  • team_rating_prompt - FPL チームの評価と分析のためのプロンプトを作成する
  • differential_players_prompt - 所有率が低い差別化されたプレイヤーを見つけるためのプロンプトを作成する
  • chip_strategy_prompt - チップ戦略アドバイスのプロンプトを作成する

発達

機能の追加

新しい機能を追加するには:

  1. fpl_mcp/fpl/resources/内の適切なファイルにリソースハンドラーを追加します。
  2. fpl_mcp/fpl/tools/内の適切なファイルにツールハンドラーを追加します。
  3. 新しいリソースとツールを登録するために__main__.pyファイルを更新します
  4. Claude for Desktop にデプロイする前に、MCP Inspector を使用してテストします。

認証

認証が必要な機能(チームやプライベートリーグへのアクセスなど)を使用するには、FPL 資格情報を設定する必要があります。

# Run the credential setup tool fpl-mcp-config setup

このインタラクティブ ツールは次のことを行います。

  1. FPLのメールアドレス、パスワード、チームIDの入力を求められます
  2. config.json または .env ファイルに保存するかどうかを選択できます
  3. 資格情報を ~/.fpl-mcp/ に安全に保存します

次の方法で認証をテストできます。

fpl-mcp-config test

あるいは、手動で認証を構成することもできます。

  1. 以下のコマンドで~/.fpl-mcp/.envファイルを作成します。
    FPL_EMAIL=your_email@example.com FPL_PASSWORD=your_password FPL_TEAM_ID=your_team_id
  2. または、 ~/.fpl-mcp/config.jsonを作成します。
    { "email": "your_email@example.com", "password": "your_password", "team_id": "your_team_id" }
  3. または環境変数を設定します。
    export FPL_EMAIL=your_email@example.com export FPL_PASSWORD=your_password export FPL_TEAM_ID=your_team_id

制限事項

  • FPL APIは公式に文書化されておらず、予告なく変更される可能性があります。
  • 現在は読み取り操作のみがサポートされています

トラブルシューティング

よくある問題

1. Claude Desktop で「spawn fpl-mcp ENOENT」エラーが発生する

これは、Claude Desktop が PATH 内でfpl-mcp実行可能ファイルを見つけられないために発生します。

**解決策:**次のいずれかの方法を使用します。

  • 設定ファイルで実行ファイルへのフルパスを使用します
    { "mcpServers": { "fantasy-pl": { "command": "/full/path/to/your/venv/bin/fpl-mcp" } } }
  • Python を使用してモジュールを直接実行する(推奨方法)
    { "mcpServers": { "fantasy-pl": { "command": "python", "args": ["-m", "fpl_mcp"] } } }

2. サーバーがすぐに切断される

サーバーが起動してもすぐに切断される場合:

  • ~/Library/Logs/Claude/mcp*.log (macOS) または%APPDATA%\Claude\logs\mcp*.log (Windows) のログを確認します。
  • すべての依存関係がインストールされていることを確認する
  • python -m fpl_mcpでサーバーを手動で実行してエラーがないか確認してみてください。

3. Claude Desktopにサーバーが表示されない

ハンマーアイコンが表示されない場合:

  • Claude Desktopを完全に再起動します
  • claude_desktop_config.jsonの JSON 構文が正しいことを確認してください
  • Pythonまたは実行ファイルへのパスが相対パスではなく絶対パスであることを確認してください

ライセンス

このプロジェクトは MIT ライセンスに基づいてライセンスされています - 詳細については LICENSE ファイルを参照してください。

貢献

貢献を歓迎します!お気軽にプルリクエストを送信してください。

  1. リポジトリをフォークする
  2. 機能ブランチを作成します( git checkout -b feature/amazing-feature
  3. 変更をコミットします ( git commit -m 'Add some amazing feature' )
  4. ブランチにプッシュする ( git push origin feature/amazing-feature )
  5. プルリクエストを開く

詳細については、 CONTRIBUTING.mdファイルを参照してください。

謝辞

引用

このパッケージを研究やプロジェクトで使用する場合は、引用することを検討してください。

@software{fpl_mcp, author = {Jatia, Rishi and Fantasy PL MCP Contributors}, title = {Fantasy Premier League MCP Server}, url = {https://github.com/rishijatia/fantasy-pl-mcp}, version = {0.1.0}, year = {2025}, }
-
security - not tested
A
license - permissive license
-
quality - not tested

ファンタジー プレミア リーグ データへのアクセスを提供するモデル コンテキスト プロトコル サーバー。ユーザーは、Claude for Desktop やその他の MCP 互換クライアントを通じて、プレーヤーの比較、チーム情報の検索、ゲームウィーク データの表示、FPL 関連のアドバイスの取得を行うことができます。

  1. Supported Platforms
    1. Features
      1. Requirements
        1. Installation
          1. Option 1: Install from PyPI (Recommended)
          2. Option 1b: Install with Development Dependencies
          3. Option 2: Install from GitHub
          4. Option 3: Clone and Install Locally
        2. Running the Server
          1. 1. Using the CLI command
          2. 2. Using the Python module
          3. 3. Using with Claude Desktop
        3. Usage
          1. In Claude for Desktop
          2. MCP Inspector for Development
        4. Available Resources
          1. Available Tools
            1. Prompt Templates
              1. Development
                1. Adding Features
              2. Authentication
                1. Limitations
                  1. Troubleshooting
                    1. Common Issues
                  2. License
                    1. Contributing
                      1. Acknowledgments
                        1. Citation
                          ID: 2zxsxuxuj9