Kotlin Multiplatform project with Jetpack Compose, Compose for Desktop and SwiftUI clients (and using Ktor for remote API requests and Room for persistence). Currently running on:
- Android (Jetpack Compose)
- iOS (SwiftUI)
- Desktop (Compose for Desktop)
- Kotlin Notebook
- MCP Server
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
This project currently uses iOS16 features (e.g. Swift Charts) so requires use of at least Xcode 14.



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": {
"kotlin-peopleinspace": {
"command": "java",
"args": [
"-jar",
"/Users/john.oreilly/github/FantasyPremierLeague/mcp-server/build/libs/serverAll.jar",
"--stdio"
]
}
}
}
- 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)