MCPHub LabRegistryFantasyPremierLeague
joreilly

FantasyPremierLeague

Built by joreilly • 593 stars

What is FantasyPremierLeague?

A high-performance MCP server implementation for FantasyPremierLeague that bridges the gap between the Model Context Protocol and external services. It allows Large Language Models to interact with your data and tools with low latency and native support.

How to use FantasyPremierLeague?

1. Ensure you have an MCP-compatible client (like Claude Desktop) installed. 2. Configure your server with: npx @modelcontextprotocol/FantasyPremierLeague 3. Restart your client and verify the new tools are available in the system catalog.
🛡️ Scoped (Restricted)
npx @modelcontextprotocol/fantasypremierleague --scope restricted
🔓 Unrestricted Access
npx @modelcontextprotocol/fantasypremierleague

Key Features

Native MCP Protocol Support
High-performance Data Streaming
Type-safe Tool Definitions
Seamless Environment Integration

Optimized Use Cases

Connecting external databases to AI workflows
Automating workflow tasks via natural language
Augmenting developer productivity with specialized tools

FantasyPremierLeague FAQ

Q

What is an MCP server?

MCP is an open standard that enables developers to build secure, two-way integrations between AI models and local or remote data sources.

Q

Is this server ready for production?

Yes, this server follows standard MCP security patterns and tool-restricted access.

Official Documentation

View on GitHub

Fantasy Premier League

kotlin-version

Compose Multiplatform project running on following

  • Android
  • iOS
  • Desktop

Also includes

  • AI agent built with Koog (Gemini + tool calling, running in shared KMP code)
  • Kotlin Notebook
  • MCP Server

It also currently makes use of the following Jetpack libraries

  • ViewModel
  • Navigation 3
  • Room
  • DataStore

Related posts:

Running the app

  • Android: open the project in Android Studio and run the app configuration
  • iOS: open ios/FantasyPremierLeague/FantasyPremierLeague.xcodeproj in Xcode and run
  • Desktop: ./gradlew :compose-desktop:run
  • MCP Server: ./gradlew :mcp-server:shadowJar (see MCP Server section below)

Note: to use the AI agent you need a Gemini API key — set apiKeyGoogle in FantasyPremierLeagueAgent.

Screenshots

Android

<img width="300" alt="Screenshot_20251101_204058" src="https://github.com/user-attachments/assets/e75753e5-badb-4641-9b16-6cf23608d2ed" />

iOS

<img width="300" alt="Simulator Screenshot - iPhone 17 Pro - 2025-11-01 at 20 37 58" src="https://github.com/user-attachments/assets/8a94c51c-b087-407a-ad7e-8caf2c793bc8" />

Desktop

<img width="912" height="888" alt="Screenshot 2025-11-01 at 20 38 24" src="https://github.com/user-attachments/assets/d9cbc228-7d1c-4b25-929b-d090ed99bf64" />

Kotlin Notebook

<img width="916" alt="Screenshot 2024-04-06 at 11 03 15" src="https://github.com/joreilly/FantasyPremierLeague/assets/6302/37fef7a1-190d-4c14-acdd-5dafc11e8e30"> <img width="932" alt="Screenshot 2024-04-06 at 11 03 36" src="https://github.com/joreilly/FantasyPremierLeague/assets/6302/53cba0ea-1175-4349-ab1f-9aba4f8f0066">

MCP Server

The mcp-server module uses the Kotlin MCP SDK to expose an MCP tools endpoint (returning player/fixture info) that can for example be plugged in to Claude Desktop as shown below. That module uses same KMP shared code.

<img width="1356" height="967" alt="Screenshot 2025-07-16 at 21 17 33" src="https://github.com/user-attachments/assets/73baa4d3-5f5d-4d6f-9e9f-1f9d601029ab" />

To integrate the MCP server with Claude Desktop for example you need to firstly run gradle shadowJar task and then select "Edit Config" under Developer Settings and add something like the following (update with your path)

{
  "mcpServers": {
    "fantasy-premier-league": {
      "command": "java",
      "args": [
        "-jar",
        "/Users/john.oreilly/github/FantasyPremierLeague/mcp-server/build/libs/serverAll.jar",
        "--stdio"
      ]
    }
  }
}

UI tests

There's a Maestro UI test flow shared by the Android and iOS clients, run by CI on an emulator and a simulator (e.g. maestro test -e APP_ID=dev.johnoreilly.fantasypremierleague maestro/FantasyPremierLeague.flow).

Full set of Kotlin Multiplatform/Compose/SwiftUI samples

Global Ranking

6.5
Trust ScoreMCPHub Index

Based on codebase health & activity.

Manual Config

{ "mcpServers": { "fantasypremierleague": { "command": "npx", "args": ["fantasypremierleague"] } } }