Overview
What is ClimateTraceKMP?
ClimateTraceKMP is a Kotlin/Compose Multiplatform project that displays climate emission data from https://climatetrace.org/data. It includes an MCP (Model Context Protocol) server module that exposes per‑country emission data as tools, enabling integration with AI assistants like Claude Desktop.
How to use ClimateTraceKMP?
To use the MCP server with Claude Desktop, run the Gradle shadowJar task to build a fat JAR, then add a configuration entry in Claude Desktop’s Developer Settings (pointing to the built JAR with --stdio). The server provides a tools endpoint that returns per‑country emission data.
Key features of ClimateTraceKMP
- Built with Kotlin Multiplatform and Compose Multiplatform.
- Runs on iOS, Android, Desktop, Web (Wasm), and Kotlin Notebook.
- Exposes MCP tools for per‑country emission data.
- Uses the Kotlin MCP SDK for model context protocol integration.
- Shared emission‑details screen composed in Compose Multiplatform.
- Country list screen can use SwiftUI or Compose on iOS.
Use cases of ClimateTraceKMP
- Querying emission data by country through an MCP‑compatible AI assistant.
- Building a cross‑platform app that displays global climate emissions.
- Demonstrating Kotlin Multiplatform integration with MCP servers.
FAQ from ClimateTraceKMP
What data does the MCP server provide?
The MCP server exposes a tools endpoint that returns emission data per country, sourced from ClimateTrace.
How do I integrate ClimateTraceKMP with Claude Desktop?
Build the project’s mcp-server module into a fat JAR via shadowJar, then add a JSON configuration entry in Claude Desktop’s Developer Settings with the command set to java and the JAR path as an argument with --stdio.
What are the runtime dependencies for the MCP server?
The server requires Java (to run the built JAR) and the Kotlin MCP SDK, which is already included in the project.
Where does the emission data live?
The data is fetched from https://climatetrace.org/data; the project itself does not store data locally.
What transport does the MCP server use?
The server is configured to communicate over stdio transport (used with --stdio flag).