ClimateTraceKMP MCP
MCP-сервер на Kotlin отдает агенту данные ClimateTrace о выбросах парниковых газов по странам и годам вместе с населением
- 347 ★ репозитория
- Последний коммит
- Apache-2.0
Минимальный доступ
Почему такой уровень
- Сервер только читает открытые данные ClimateTrace и ничего не пишет на диск и во внешние сервисы
Установка
- Работает в
Ручная установка
./gradlew :mcp-server:shadowJarСобирает mcp-server/build/libs/serverAll.jar, нужен JDK.
Доступ и проверки
Как мы проверяемМинимальный доступИнструмент ничего не запускает и не ходит в сеть.
- Сервер только читает открытые данные ClimateTrace и ничего не пишет на диск и во внешние сервисы
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
В репозитории ClimateTraceKMP лежит Kotlin Multiplatform приложение с данными о выбросах с сайта climatetrace.org, и среди его модулей есть mcp-server. Он построен на Kotlin MCP SDK и отдает агенту четыре инструмента: `get-countries` выводит список стран, `get-country-asset-emissions` и `get-emissions` возвращают суммарные выбросы для стран по трехбуквенным кодам ISO за указанный год, а `get-population` дает население страны для расчета выбросов на человека. Модуль использует тот же общий код, что и приложения для Android, iOS, десктопа и веба. Сервер собирают командой `./gradlew :mcp-server:shadowJar` и запускают как java -jar serverAll.jar с аргументом --stdio. Так его подключают к Claude Desktop через пункт Edit Config. Есть и сетевые режимы: --streamable-http-server и --sse-server с номером порта, по умолчанию 8080. Рядом в модуле `agents` лежит пример агента на Google ADK, который подключается к серверу как MCP-клиент по HTTP.
Для кого. Аналитикам и исследователям климата, которые просят Claude Desktop сравнить выбросы стран, и Kotlin-разработчикам, которым нужен пример MCP-сервера на общем коде.
Подходит, если
- Нужно сравнить выбросы Германии, Франции и Польши за один год и посчитать значения на душу населения
- Агент должен получить список стран с кодами ISO, чтобы дальше запрашивать данные по ним
- Идет разработка на Kotlin Multiplatform, и нужен пример MCP-сервера, использующего общий слой данных
- Демонстрации ради хочется подключить к Claude Desktop локальный MCP-сервер за пять минут
- Агент на Google ADK должен получать эти данные как инструменты по Streamable HTTP
Не подходит, если
- Нужны выбросы по отдельным объектам и секторам: инструменты возвращают итог по странам
- Невозможно поставить JDK и собрать проект командой Gradle: готового пакета в реестре нет
- Требуется постоянный публичный сервис: репозиторий собирают и запускают самостоятельно
- Для проекта достаточно разовой выгрузки с сайта climatetrace.org без агента
Пример запроса к агенту
Возьми у ClimateTrace выбросы Германии и Франции за 2022 год и население стран, затем посчитай выбросы на человекаMCP
- Транспорт
- stdio, http, sse
- Авторизация
- не нужна
Ограничения
- Готового пакета нет: сервер собирают задачей `./gradlew :mcp-server:shadowJar` и подставляют путь к serverAll.jar в конфигурацию клиента.
- Описание репозитория называет его проектом для показа данных. MCP-сервер здесь один из модулей рядом с приложениями для Android, iOS, десктопа и веба.
- Сервер отдает значения выбросов списком без пояснительных подписей, поэтому названия стран и годы стоит передавать агенту в запросе явно.
Как отключить. Удалите запись climatetrace из mcpServers в конфигурации клиента и перезапустите Claude Desktop. Собранный файл serverAll.jar можно стереть вместе с клонированным репозиторием.
Частые вопросы
Как подключить ClimateTrace MCP к Claude Desktop?
Соберите jar командой ./gradlew :mcp-server:shadowJar, откройте Developer Settings, Edit Config и добавьте сервер climatetrace с командой java и аргументами -jar, путем к serverAll.jar и --stdio. После перезапуска приложения инструменты появятся в списке.
Какие данные дает сервер?
Список стран, суммарные выбросы по странам за выбранный год и население страны. Страны задаются трехбуквенными кодами ISO, а источник выбросов, по описанию проекта, это ClimateTrace с сайта climatetrace.org.
Можно ли запустить сервер по сети, а не через stdio?
Да. Аргумент --streamable-http-server с номером порта запускает Streamable HTTP, а --sse-server запускает SSE. Порт по умолчанию 8080. Запуск через Gradle: `./gradlew :mcp-server:run --args="--streamable-http-server 8080"`.
Нужны ли ключи API?
Серверу они не нужны, в README для него нет переменных окружения. Ключ gemini_api_key требуется только примеру агента на Google ADK и агентскому экрану приложения.
Для чего нужен инструмент `get-population`?
Он отдает население страны по трехбуквенному коду ISO и пригождается для расчета выбросов на человека: сначала запросите выбросы через `get-emissions`, затем население и поделите одно на другое.
Обсуждение
Вопросов и отзывов пока нет.
Похожие
MCP-серверыMCP-сервер Open-Meteo: 17 инструментов, прогноз на 16 дней, архив с 1940 года, качество воздуха, море, паводки и климат
MCP-сервер с набором инструментов для сводок по миру: рынки, отчеты SEC, конфликты, климат и новости из открытых источников
MCP-сервер от AntV для генерации графиков и диаграмм: 25 с лишним типов визуализаций, от линий и столбцов до карт, ментальных карт и диаграмм связей
MCP-сервер подключает Claude Code и Codex к открытой сессии R или Python в RStudio и Positron, где лежат ваши данные
Агент запрашивает метрики, логи и трассы из GreptimeDB на SQL, TQL и RANGE, с запретом записи и маскировкой чувствительных данных
Официальный MCP-сервер Data Commons: агент ищет статистические показатели и тянет наблюдения по странам, регионам и городам.
Коротко о README
README представляет проект как приложение на Kotlin и Compose Multiplatform для показа данных ClimateTrace на iOS, Android, десктопе, в вебе, в Kotlin Notebook, в виде MCP-сервера и ИИ-агентов. Затем дана структура модулей и команды сборки под каждую платформу. Отдельные разделы посвящены MCP-серверу с примером конфигурации для Claude Desktop, агентам на Koog и ADK и UI-тестам Maestro.