trackmcp
Back to directory
joreilly

fantasypremierleague

View on GitHub

Fantasy Premier League Kotlin/Compose Multiplatform sample for the Model Context Protocol. Enhance AI assistants with powerful integrations.

578 stars Jupyter NotebookServers & Infrastructure Updated Nov 3, 2025
androidcompose-multiplatformdatastorefantasy-premier-leagueiosjetpack-composejetpack-roomkmpkoinkotlinkotlin-multiplatformkotlin-nativemcpmcp-servernavigationroomskieswift

Documentation

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

iOS

Desktop

Kotlin Notebook

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.

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)

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

Full set of Kotlin Multiplatform/Compose/SwiftUI samples

  • PeopleInSpace (https://github.com/joreilly/PeopleInSpace)
  • GalwayBus (https://github.com/joreilly/GalwayBus)
  • Confetti (https://github.com/joreilly/Confetti)
  • BikeShare (https://github.com/joreilly/BikeShare)
  • FantasyPremierLeague (https://github.com/joreilly/FantasyPremierLeague)
  • ClimateTrace (https://github.com/joreilly/ClimateTraceKMP)
  • GeminiKMP (https://github.com/joreilly/GeminiKMP)
  • MortyComposeKMM (https://github.com/joreilly/MortyComposeKMM)
  • StarWars (https://github.com/joreilly/StarWars)
  • WordMasterKMP (https://github.com/joreilly/WordMasterKMP)
  • Chip-8 (https://github.com/joreilly/chip-8)

Frequently asked questions

What is fantasypremierleague?

fantasypremierleague is Fantasy Premier League Kotlin/Compose Multiplatform sample for the Model Context Protocol. Enhance AI assistants with powerful integrations.

How do I install fantasypremierleague?

Open the GitHub repository and follow its README. Most MCP servers are added to your client's MCP config, then called by your agent.

Is fantasypremierleague open source?

Yes — it is hosted on GitHub at https://github.com/joreilly/FantasyPremierLeague and has 578 stars.

Related MCP tools

Run your own MCP server? See who uses it and what to fix.

Measure it with TrackMCP