Skip to main content
Glama

⚽ FPL MCP — Fantasy Premier League 用 Model Context Protocol サーバー

Python 3.11+ MCP Standard License: MIT Built with uv

Fantasy Premier League (FPL) 向けの非同期 Model Context Protocol (MCP) サーバーです。AI コーディングアシスタントやエージェントフレームワーク(Antigravity、Claude Desktop、Cursor、Custom Agents)に、33 の専用ツールを提供し、試合日程の分析、ディファレンシャルの発掘、スカッド管理、ライブスコア追跡、価格変動の監視、移籍やキャプテンシー判断の最適化を支援します。


🌟 主な特徴

  • 🚀 33 の専門ツール: 公式 FPL エンドポイント(Bootstrap、Fixtures、FDR、Squad、History、Chips、Live Gameweek Scores、Mini-Leagues、Set-Piece Takers、Differentials、Price Movers)を完全カバー。

  • 🔒 安全で読み取り専用: リスクのある自動移籍を行わず、深い分析と AI による推奨に重点を置いています。

  • ⚡ インメモリ TTL キャッシュ: エンドポイントごとのインテリジェントなキャッシュにより、FPL サーバーからのレート制限を防ぎつつ、ライブゲームウィークスコアは常に最新に保ちます。

  • 🛡️ 公開・非公開の両対応: チーム ID だけで公開データをすぐに利用可能。プライベートなスカッドアクセスにはセッション認証 / Cookie に対応。

  • 🔌 標準の stdio トランスポート: MCP 準拠の任意のクライアントにプラグアンドプレイで接続可能。


Related MCP server: MCP Eleven

🏗️ アーキテクチャ

fpl-mcp/
├── src/fpl_mcp/
│   ├── server.py          # MCP Server entrypoint (stdio transport)
│   ├── client.py          # Async FPL HTTP client with TTL caching
│   ├── auth.py            # Session cookie & credential manager
│   ├── cache.py           # In-memory thread-safe TTL cache
│   ├── constants.py       # API endpoints, TTLs, positions & chip maps
│   └── tools/
│       ├── registry.py    # Aggregator & dynamic tool dispatcher
│       ├── bootstrap.py   # Players, teams, and season status
│       ├── fixtures.py    # Fixtures schedule & FDR matrix
│       ├── squad.py       # Team picks, history, and manager info
│       ├── players.py     # Deep player statistics (xG, xA, ICT, PPG)
│       ├── transfers.py   # Transfer history, bank, and AI transfer scout
│       ├── chips.py       # Chip tracker & Double/Blank GW strategy engine
│       ├── live.py        # Real-time provisional GW scores & bonus points
│       ├── leagues.py     # Classic & Head-to-Head mini-league tables
│       ├── news.py        # Injury reports, bans, and set-piece takers
│       ├── picks.py       # Algorithmically ranked captain picks & differentials
│       └── prices.py      # Predicted price risers/fallers & confirmed changes
├── pyproject.toml
└── README.md

🚀 クイックスタート

1. 前提条件

  • Python 3.11+

  • uv(推奨)または pip

2. インストール

# Clone the repository
git clone https://github.com/dexhamter/fpl-mcp.git
cd fpl-mcp

# Install dependencies into virtual environment
uv sync

3. 設定

サンプル環境ファイルをコピーします:

cp .env.example .env

.env をチーム情報で編集します:

# Your FPL Team ID (found in the URL: https://fantasy.premierleague.com/entry/{ID}/event/1)
FPL_TEAM_ID=1234567

# Optional: FPL login credentials or browser session cookie for private team data
FPL_EMAIL=your@email.com
FPL_PASSWORD=your_password
# FPL_COOKIE=pl_profile=...

⚙️ MCP クライアントへの接続

🤖 Antigravity / Gemini CLI

~/.gemini/config/mcp_config.json にサーバーを追加します:

{
  "mcpServers": {
    "fpl": {
      "command": "C:/Users/your_user/Documents/fpl/.venv/Scripts/python.exe",
      "args": ["-m", "fpl_mcp.server"],
      "env": {
        "PYTHONPATH": "C:/Users/your_user/Documents/fpl/src"
      }
    }
  }
}

🟣 Claude Desktop

claude_desktop_config.json に追加します:

{
  "mcpServers": {
    "fpl": {
      "command": "uv",
      "args": [
        "--directory",
        "/path/to/fpl-mcp",
        "run",
        "fpl-mcp"
      ]
    }
  }
}

💻 Cursor / Windsurf

Settings -> Features -> MCP Servers で:

  • Type: command

  • Command: uv --directory /path/to/fpl-mcp run fpl-mcp


🛠️ ツールカタログ(33 ツール)

1. 一般・Bootstrap データ

ツール

引数

説明

get_all_players

position、team、max_price、min_form

フィルタリングと並べ替えで全アクティブプレイヤーを照会

search_player

query(必須)

部分一致または完全一致の名前でプレイヤーを検索

get_all_teams

なし

強度評価付きの全 20 プレミアリーグチームを取得

get_game_settings

なし

ゲームウィークの締め切り、平均スコア、トップマネージャー

2. フィクスチャと難易度(FDR)

ツール

引数

説明

get_fixtures

gameweek

全試合または特定ゲームウィークの試合スケジュール

get_team_fixtures

team_name(必須)、next_n

FDR 評価付きのチームの今後のスケジュール

get_fdr_table

next_n

全チームにわたる比較 FDR グリッド

3. スカッドとマネージャー概要

ツール

引数

説明

get_my_squad

なし

現在の 15 人プレイヤースカッド、スターティングメンバー、ベンチ、キャプテンシー

get_entry_info

team_id

総合順位、合計ポイント、銀行残高、チーム価値

get_gw_picks

gameweek(必須)、team_id

任意の完了済みゲームウィークのスカッドラインナップ

get_season_history

team_id

ゲームウィークごとの順位とポイント推移

4. プレイヤー分析

ツール

引数

説明

get_player_stats

player_id、player_name

xG、xA、ICT 指数、ボーナスポイント、出場時間、フォーム

get_player_history

player_id、player_name

プレイヤーのゲームウィークごとの詳細な試合ログ

get_top_performers

sort_by、position、max_price、limit

ポイント、フォーム、PPG、または ICT によるランキングリーダーボード

5. 移籍と予算

ツール

引数

説明

get_transfer_history

team_id

購入/売却コスト付きのシーズン全体の移籍ログ

get_bank_balance

なし

利用可能な銀行内資金、フリー移籍、チーム価値

get_transfer_suggestions

position、max_price、next_n_gws

フォームと FDR で移籍をスカウトする複合アルゴリズム

6. チップス戦略

ツール

引数

説明

get_chip_status

なし

ワイルドカード、フリーヒット、ベンチブースト、トリプルキャプテンのトラッカー

get_chip_advice

next_n

ダブル/ブランクゲームウィークの検出と最適なチップタイミング

7. ライブゲームウィークスコア

ツール

引数

説明

get_live_gw_scores

gameweek、sort_by、limit

リアルタイムの暫定プレイヤーポイント、ゴール、アシスト

get_my_live_score

gameweek

アクティブなキャプテン倍率付きのスカッドのリアルタイム合計

8. ミニリーグと順位表

ツール

引数

説明

get_my_leagues

なし

チームのすべてのクラシックおよびヘッドトゥヘッドミニリーグ

get_classic_league_standings

league_id(必須)、page

順位とイベントスコア付きの完全なリーダーボード表

get_h2h_league_standings

league_id(必須)、page

ヘッドトゥヘッドの記録(勝敗/引き分け、マッチポイント)

9. チームニュースとセットピース

ツール

引数

説明

get_player_news

status

怪我、出場停止、または疑わしい状態のプレイヤーをフィルタリング

get_set_piece_takers

team_name

指定されたペナルティ、フリーキック、コーナーキッカー

check_my_squad_news

なし

15 人のプレイヤーにわたるステータスアラート付きの健康チェック

10. キャプテンシーとディファレンシャル

ツール

引数

説明

get_captain_suggestions

from_my_squad、gameweek、top_n

多要素加重キャプテンスコア(フォーム、ICT、FDR、ホーム)

get_differentials

max_ownership、position、max_price

高潜在性・低所有率のピック(デフォルト 15% 未満)

get_ownership_stats

position、sort_by、limit

所有率、移籍の勢い、純変動

11. 価格変動

ツール

引数

説明

get_price_risers

position、limit

純流入移籍に基づく差し迫った価格上昇者

get_price_fallers

position、limit

純流出移籍に基づく差し迫った価格下落者

get_price_changes

direction、since

今ゲームウィークまたはシーズンで確定した価格変更


💡 アシスタントプロンプトの例

エージェントに設定すると、次のような自然言語の質問ができます:

  • 「ゲームウィーク 1 のキャプテンは誰にすべき?フィクスチャと期待ゴール関与に基づいて最良の選択肢を比較して。」

  • 「締め切り前にスカッドに怪我の懸念がないか確認して。」

  • 「銀行に £0.5m あり、£7.5m 未満のミッドフィルダーを今後のフィクスチャが楽な選手に交代したい。誰を提案する?」

  • 「所有率 10% 未満のトップ 5 のディファレンシャルフォワードを見せて。」

  • 「アーセナルとリバプールの今シーズンのペナルティ担当は誰?」

  • 「ダブルとブランクゲームウィークの戦略は?ベンチブーストはいつ使うべき?」


⏱️ キャッシュポリシー

低遅延を維持し、FPL サーバーのエチケットに従うため、データはインメモリでキャッシュされます:

エンドポイントタイプ

デフォルト TTL

ライブゲームウィークスコア(live.py)

60 秒

スカッドとエントリー情報(squad.py)

120〜300 秒

Bootstrap とプレイヤースタッツ(bootstrap.py、players.py)

300 秒(5 分)

フィクスチャとスケジュール(fixtures.py)

600 秒(10 分)


📜 ライセンス

このプロジェクトは MIT ライセンス の下でライセンスされています。


⚽ 免責事項

このツールはプレミアリーグまたはファンタジープレミアリーグと公式に提携しておらず、承認も受けていません。すべてのデータは公開 FPL API エンドポイントから取得されます。

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    B
    maintenance
    A Model Context Protocol server that provides access to Fantasy Premier League data, allowing users to compare players, find team information, view gameweek data, and get FPL-related advice through Claude for Desktop and other MCP-compatible clients.
    23
    94 PyPI
    80
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    An open-source MCP server that turns any AI assistant into a football data analytics and scouting platform, enabling natural language queries over 40+ stats, 20+ leagues, and 10,000+ players.
    1
    -
  • F
    license
    Not graded
    quality
    D
    maintenance
    MCP server for the Fantasy Premier League API, enabling querying of players, teams, fixtures, and your FPL team through any MCP-compatible client.
    -
  • A
    license
    A
    quality
    C
    maintenance
    An MCP server for Fantasy Premier League that allows querying gameweek info, player recommendations, squad management, and executing transfers via FPL's public API with optional cookie authentication.
    4
    10 npm
    1
    ISC