fantasypremierleague
Fantasy Premier League Kotlin/Compose Multiplatform sample for the Model Context Protocol. Enhance AI assistants with powerful integrations.
Documentation
Fantasy Premier League
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:
- Using Realm persistence library in a Kotlin Multiplatform project
- Using new Swift Async Algorithms package to close the gap on Combine
- Displaying Charts on iOS, Android, and Desktop using Compose Multiplatform
- Using Jetpack Room in Kotlin Multiplatform shared code
- Using Navigation 3 with Compose Multiplatform
- Adding a Koog AI assistant (with structured output) to the FantasyPremierLeague CMP sample
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)
{
"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
Kotlin Multiplatform sample with SwiftUI, Jetpack Compose, Compose for Wear, Compose for Desktop, and Compose for Web clients along with Ktor backend.
Kotlin/Compose Multiplatform project to show climate related emission data from https://climatetrace.org/data. Built for the Model Context Protocol to enhance A
Model Context Protocol with Neo4j Python-based implementation. Trusted by 700+ developers. Trusted by 700+ developers. Trusted by 700+ developers.
Lunar.dev: Ground Control for 3rd Party APIs for the Model Context Protocol. Enhance AI assistants with powerful integrations. Go-based implementation.
Model Context Protocol Server for Mobile Automation and Scraping (iOS, Android, Emulators, Simulators and Real Devices) TypeScript-based implementation.
🧩 MCP Gateway - A lightweight gateway service that instantly transforms existing MCP Servers and APIs into MCP servers with zero code changes.
Run your own MCP server? See who uses it and what to fix.
Measure it with TrackMCP