Skip to main content
Glama

⚽ FPL MCP — 판타지 프리미어리그용 Model Context Protocol 서버

Python 3.11+ MCP Standard License: MIT Built with uv

**판타지 프리미어리그(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만으로 공개 데이터를 즉시 사용할 수 있습니다. 비공개 스쿼드 접근을 위한 세션 인증/쿠키를 지원합니다.

  • 🔌 표준 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

이번 게임위크 또는 시즌의 확정 가격 변경


💡 예시 어시스턴트 프롬프트

에이전트에 구성한 후 다음과 같은 자연어 질문을 할 수 있습니다:

  • "Gameweek 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