Real-time global intelligence dashboard. AI-powered news aggregation, geopolitical monitoring, and infrastructure tracking in a unified situational awareness interface
MCP server for Fantasy Premier League data
This repo is a Kotlin Compose Multiplatform sample with Android, iOS, desktop, notebook, and MCP server pieces. The connector part is the `mcp-server` module, which uses the Kotlin MCP SDK to expose player and fixture tools over stdio for an agent client.
Builders who want to connect an agent to Fantasy Premier League player and fixture data.
You can plug an agent into a Kotlin MCP server and ask for Fantasy Premier League data through tools instead of scraping it yourself.
What it does
MCP tool endpoint
The `mcp-server` module exposes an MCP tools endpoint for player and fixture info.
Shared KMP code
The MCP server uses the same shared Kotlin Multiplatform code as the app modules.
Claude Desktop integration example
The README shows a `mcpServers` config entry that runs the built server jar over stdio.
Kotlin Notebook sample
`FantasyPremierLeague.ipynb` shows notebook-based exploration alongside the app and server code.
Multiplatform app targets
The repo also includes Android, iOS, and desktop app modules built from shared code.
README
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
appconfiguration - iOS: open
ios/FantasyPremierLeague/FantasyPremierLeague.xcodeprojin 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)
Files in the repo
- .devcontainer
- .github
- app
- art
- common
- compose-desktop
- gradle
- ios
- mcp-server
- .gitignore
- build.gradle.kts
- debug.keystore
- FantasyPremierLeague.ipynb
- gradle.properties
- gradlew
- gradlew.bat
- LICENSE
- README.md
- renovate.json
- settings.gradle.kts
Discussion (0)
Ask about usage, or say what you built with itSign in to join the discussion.
No comments yet. Be the first to say what this is good for.
More connectors
High-performance code intelligence MCP server. Indexes codebases into a persistent knowledge graph — average repo in milliseconds. 158 languages, sub-ms queries, 99% fewer tokens. Single static binary, zero dependencies.

Universal provider proxy for OpenAI Codex & Claude Code — use any LLM (Claude, Gemini, Grok, DeepSeek, Ollama…) with Codex CLI, App, SDK, and Claude Code
Git-native persistent memory for AI coding agents. Implements Google OKF v0.2 with sub-300µs in-memory BM25 search, embedded MCP server, and progressive disclosure. Slashes token bloat by 80% with zero external databases or dependencies. Built in pure Go.
Local-first code intelligence graph for MCP and CLI. Builds a persistent map of your codebase so AI coding tools read only what matters, with benchmarked context reductions on reviews and large-repo workflows.
Stop your AI from making things up — it proposes, deterministic tools decide, every claim checked against ground truth with evidence. Grounded facts and context survive resets. Reverse engineering is the proving ground. MCP server + CLI.