Skip to main content
Glama

⚽ FPL MCP — Model Context Protocol сервер для Fantasy Premier League

Python 3.11+ MCP Standard License: MIT Built with uv

Асинхронный сервер Model Context Protocol (MCP) для Fantasy Premier League (FPL). Оснащает AI-ассистентов и агентные фреймворки (Antigravity, Claude Desktop, Cursor, Custom Agents) 33 специализированными инструментами для анализа матчей, поиска дифференциалов, управления составами, отслеживания live-счетов, мониторинга колебаний цен и оптимизации трансферов и решений о капитане.


🌟 Ключевые особенности

  • 🚀 33 специализированных инструмента: Полное покрытие официальных FPL-эндпоинтов (Bootstrap, Fixtures, FDR, Squad, History, Chips, Live Gameweek Scores, Mini-Leagues, Set-Piece Takers, Differentials, and Price Movers).

  • 🔒 Безопасно и только для чтения: Фокус на глубокой аналитике и AI-рекомендациях без рискованных автоматических трансферов.

  • ⚡ Кэширование в памяти с TTL: Интеллектуальное кэширование по эндпоинтам предотвращает ограничение частоты запросов от серверов FPL, сохраняя свежими live-счета игровых недель.

  • 🛡️ Поддержка публичных и приватных данных: Работает сразу с публичными данными, нужен только ID команды. Поддерживает сессионную аутентификацию / cookies для доступа к приватному составу.

  • 🔌 Стандартный 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

В Настройках -> Функции -> MCP-серверы:

  • Тип: command

  • Команда: uv --directory /path/to/fpl-mcp run fpl-mcp


🛠️ Каталог инструментов (33 инструмента)

1. Общие данные и Bootstrap

Tool

Arguments

Description

get_all_players

position, team, max_price, min_form

Запрос всех активных игроков с фильтрацией и сортировкой

search_player

query (required)

Поиск игроков по частичному или полному имени

get_all_teams

None

Получить все 20 команд Premier League с рейтингами силы

get_game_settings

None

Дедлайн игровой недели, средний балл, лучшие менеджеры

2. Матчи и сложность (FDR)

Tool

Arguments

Description

get_fixtures

gameweek

Все или конкретные расписания матчей игровой недели

get_team_fixtures

team_name (required), next_n

Предстоящее расписание для команды с рейтингами FDR

get_fdr_table

next_n

Сравнительная сетка FDR по всем командам

3. Состав и обзор менеджера

Tool

Arguments

Description

get_my_squad

None

Текущий состав из 15 игроков, стартовый состав, запасные, капитан

get_entry_info

team_id

Общий рейтинг, суммарные очки, банк и стоимость команды

get_gw_picks

gameweek (required), team_id

Состав на любую завершенную игровую неделю

get_season_history

team_id

Рейтинг и траектория очков по игровым неделям

4. Аналитика игроков

Tool

Arguments

Description

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. Трансферы и бюджет

Tool

Arguments

Description

get_transfer_history

team_id

Полный журнал трансферов за сезон с затратами на покупку/продажу

get_bank_balance

None

Доступные средства в банке, бесплатные трансферы, стоимость команды

get_transfer_suggestions

position, max_price, next_n_gws

Композитный алгоритм подбора трансферов по форме и FDR

6. Стратегия чипов

Tool

Arguments

Description

get_chip_status

None

Отслеживание Wildcards, Free Hit, Bench Boost, Triple Captain

get_chip_advice

next_n

Определение Double/Blank Gameweek и оптимальное время для использования чипов

7. Live-счета игровой недели

Tool

Arguments

Description

get_live_gw_scores

gameweek, sort_by, limit

Предварительные очки игроков в реальном времени, голы, передачи

get_my_live_score

gameweek

Текущий итог в реальном времени для вашего состава с активным множителем капитана

8. Мини-лиги и таблицы

Tool

Arguments

Description

get_my_leagues

None

Все классические и head-to-head мини-лиги для вашей команды

get_classic_league_standings

league_id (required), page

Полная таблица лидеров с местами и очками за событие

get_h2h_league_standings

league_id (required), page

Записи head-to-head (W/D/L, очки за матч)

9. Новости команд и стандартные положения

Tool

Arguments

Description

get_player_news

status

Фильтр игроков с травмами, дисквалификациями или сомнениями

get_set_piece_takers

team_name

Назначенные исполнители пенальти, штрафных и угловых

check_my_squad_news

None

Проверка состояния всех 15 игроков с оповещениями о статусе

10. Капитан и дифференциалы

Tool

Arguments

Description

get_captain_suggestions

from_my_squad, gameweek, top_n

Многофакторный взвешенный балл капитана (Form, ICT, FDR, Home)

get_differentials

max_ownership, position, max_price

Высокопотенциальные игроки с низким процентом владения (по умолчанию <15%)

get_ownership_stats

position, sort_by, limit

Процент владения, трансферный импульс и чистая дельта

11. Изменения цен

Tool

Arguments

Description

get_price_risers

position, limit

Ближайшие повышения цен на основе чистых входящих трансферов

get_price_fallers

position, limit

Ближайшие понижения цен на основе чистых исходящих трансферов

get_price_changes

direction, since

Подтвержденные изменения цен за эту игровую неделю или сезон


💡 Примеры запросов к ассистенту

После настройки с вашим агентом вы можете задавать вопросы на естественном языке, например:

  • "Кого мне выбрать капитаном на Gameweek 1? Сравни мои лучшие варианты на основе матчей и ожидаемого участия в голах."

  • "Проверь мой состав на предмет травм перед дедлайном."

  • "У меня £0.5m в банке, и мне нужно заменить полузащитника до £7.5m с легкими предстоящими матчами. Кого ты предложишь?"

  • "Покажи мне топ-5 дифференциальных нападающих, которыми владеют менее 10% менеджеров."

  • "Кто выполняет пенальти за Arsenal и Liverpool в этом сезоне?"

  • "Какова наша стратегия для Double и Blank Gameweeks? Когда мне стоит рассмотреть использование Bench Boost?"


⏱️ Политика кэширования

Для обеспечения низкой задержки и соблюдения этикета серверов FPL данные кэшируются в памяти:

Тип эндпоинта

TTL по умолчанию

Live Gameweek Scores (live.py)

60 секунд

Squad & Entry Info (squad.py)

120 - 300 секунд

Bootstrap & Player Stats (bootstrap.py, players.py)

300 секунд (5 мин)

Fixtures & Schedule (fixtures.py)

600 секунд (10 мин)


📜 Лицензия

Этот проект лицензирован под MIT License.


⚽ Дисклеймер

Этот инструмент не является официально аффилированным с Premier League или Fantasy Premier League и не одобрен ими. Все данные получены из публичных 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