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 데이터와 상호 작용할 수 있습니다.

Fantasy Premier League MCP 서버 데모가 실제로 작동하는 모습

지원 플랫폼

  • 클로드 데스크탑
  • 커서
  • 윈드서핑
  • 기타 MCP 호환 데스크탑 LLM

현재 모바일은 지원되지 않습니다.

특징

  • 풍부한 플레이어 데이터 : FPL API에서 포괄적인 플레이어 통계에 액세스하세요
  • 팀 정보 : 프리미어 리그 팀에 대한 세부 정보를 얻으세요
  • 게임주 데이터 : 현재 및 지난 게임주 정보를 확인하세요
  • 선수 검색 : 이름이나 팀으로 선수 찾기
  • 플레이어 비교 : 두 플레이어 간의 자세한 통계를 비교합니다.

요구 사항

  • Python 3.10 이상
  • Claude Desktop(AI 통합용)

설치

옵션 1: PyPI에서 설치(권장)

지엑스피1

옵션 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 사용 지침

기본 명령:

  • 플레이어 비교: "[플레이어1]과 [플레이어2]를 비교하세요"
  • 선수 찾기: "[팀]의 선수 찾기" 또는 "[선수 이름] 검색"
  • 경기 일정 난이도: "[팀]의 예정된 경기 일정을 보여주세요"
  • 선장 조언: "[플레이어1]과 [플레이어2] 중 누구를 주장으로 해야 할까요?"

고급 기능:

  • 통계 분석: "[Player1]과 [Player2]의 기본 통계를 비교하세요"
  • 폼 체크: "지금 폼이 좋은 선수 보여줘"
  • 차등 선택: "10% 소유권 미만의 차등 제안"
  • 팀 최적화: "내 팀을 평가하고 이적 제안하기"

팁:

  • 정확한 결과를 위해 플레이어 이름을 구체적으로 지정하세요.
  • 검색 시 위치(FWD, 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 라이선스에 따라 라이선스가 부여되었습니다. 자세한 내용은 라이선스 파일을 참조하세요.

기여하다

기여를 환영합니다! 풀 리퀘스트를 제출해 주세요.

  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