1. Conduid
  2. Productivity
  3. Climatetracekmp
MCP server · Productivity

Climatetracekmp

Kotlin/Compose Multiplatform project to show climate related emission data from https://climatetrace.org/data.

74Good

Scored 7 hours ago · breakdown

About Climatetracekmp

Climatetracekmp is an MCP server published by joreilly in the Productivity category: kotlin/Compose Multiplatform project to show climate related emission data from https://climatetrace.org/data.

The repository has 345 stars and 24 forks, with the last commit 7 hours ago. Recent commit activity is the strongest signal that reported issues will get attention.

Install

From source
git clone https://github.com/joreilly/ClimateTraceKMP

This server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.

Ask AI

✦

Ask AI about Climatetracekmp

Powered by Claude · Grounded in docs

I know everything about Climatetracekmp. Ask me about installation, configuration, usage, or troubleshooting.

Security checks

Static checks derived from the repository 7 hours ago. Heuristics on the source, not an audit.

  • ✓README presentThe repository ships documentation.
  • ✓License declaredUsable under a stated license.
  • !Tests presentNo tests found. Behaviour changes may go unnoticed between versions.
  • ✓Dependencies pinnedA lockfile pins dependency versions.
  • !Scoped permissionsDoesn't declare a permission scope. Assume it can do anything its process can.

1 check has not been run yet.

README

ClimateTraceKMP

kotlin-version

Kotlin/Compose Multiplatform project to show climate related emission data from https://climatetrace.org/data.

Running on

  • iOS (SwiftUI + shared Compose Multiplatform UI)
  • Android
  • Desktop
  • Web (Wasm)
  • Kotlin Notebook
  • MCP Server
  • AI Agents (Koog + Google ADK)

The iOS client as mentioned includes shared Compose Multiplatform UI code. It also includes option to use either SwiftUI or Compose code for the Country List screen (in both cases selecting a country will navigate to shared Compose emissions details screen).

Related posts:

Project structure

  • composeApp - shared Kotlin Multiplatform code (data layer, view models and Compose Multiplatform UI) along with desktop and web entry points
  • androidApp - Android app
  • iosApp - iOS app (SwiftUI + shared Compose UI)
  • mcp-server - MCP server that exposes emissions data as MCP tools (using the Kotlin MCP SDK)
  • agents - Kotlin based AI agent built using Google's Agent Development Kit (ADK), which connects to mcp-server as an MCP client

Uses, amongst other things, Ktor, Koin, kstore, Voyager, KoalaPlot and Koog.

Building and running

  • Android: open the project in Android Studio, or run ./gradlew :androidApp:installDebug
  • iOS: open iosApp/iosApp.xcodeproj in Xcode and run
  • Desktop: ./gradlew :composeApp:run
  • Web (Wasm): ./gradlew :composeApp:wasmJsBrowserDevelopmentRun
  • MCP server: ./gradlew :mcp-server:shadowJar (see MCP Server section below)
  • ADK agent Dev UI: ./gradlew :agents:startDevUI (see AI Agents section below; requires the MCP server to be running)

Android (Compose)

iOS (SwiftUI/Compose)

Compose for Desktop

Compose for Web (Wasm)

Kotlin Notebook

See ClimateTrace.ipynb

MCP Server

The mcp-server module uses the Kotlin MCP SDK to expose an MCP tools endpoint (returning per country emission data) 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": {
    "climatetrace": {
      "command": "java",
      "args": [
        "-jar",
        "/path/to/ClimateTraceKMP/mcp-server/build/libs/serverAll.jar",
        "--stdio"
      ]
    }
  }
}

AI Agents

The app includes an Agents screen, built using Koog, that allows querying emissions data using an LLM based agent.

The agents module also includes a Kotlin based agent built using Google's Agent Development Kit for Kotlin (ADK). Rather than depending on the shared KMP code directly, it acts as an MCP client and connects to the mcp-server module (over the Streamable HTTP transport) to fetch emissions data as tools.

To run it, first start the MCP server in Streamable HTTP mode, then the ADK Dev UI (in a separate terminal):

./gradlew :mcp-server:run --args="--streamable-http-server 8080"
./gradlew :agents:startDevUI

The Dev UI is then available at http://localhost:8081. A gemini_api_key entry in local.properties (the same one used by the Koog agent) is picked up automatically; alternatively set a GEMINI_API_KEY/GOOGLE_API_KEY environment variable.

There's also a ./gradlew :agents:runAdkAgent task that runs the agent once against a fixed prompt from the console.

UI tests

There's a Maestro UI test flow shared by the Android and iOS clients, run by CI on an emulator and a simulator (e.g. maestro test -e APP_ID=dev.johnoreilly.climatetrace maestro/ClimateTraceKMP.flow).

Full set of Kotlin Multiplatform/Compose/SwiftUI samples

README fetched from the repository 7 hours ago. The original is authoritative.

Questions

About Climatetracekmp

How do I install Climatetracekmp?

No package has been published for this server, so install it from source: clone the repository and follow its README.

Is Climatetracekmp safe to use with an AI agent?

Its trust score is 74 out of 100 (good). It passes 3 of the 5 static security checks run so far; the failures are listed above. It has no ConduID identity yet, so agent calls to it are not receipted.

Is Climatetracekmp still maintained?

Yes — the last commit was 7 hours ago. The repository has 345 stars and 24 forks and 12 open issues.