项目简介

本项目是基于Kotlin/Compose Multiplatform开发的示例应用,旨在展示如何获取和使用来自climatetrace.org的气候排放数据。除了支持多种客户端平台(如iOS, Android, Web, Desktop)外,本项目还包含一个MCP服务器实现,允许支持MCP协议的LLM应用通过标准接口访问这些气候数据。

主要功能点

  • 气候数据访问: 提供来自Climate Trace组织的全球气候排放数据,包括不同国家和行业的详细信息。
  • MCP协议支持: 实现Model Context Protocol服务器端,通过JSON-RPC接口响应LLM客户端的数据请求。
  • 多平台架构: 利用Kotlin Multiplatform技术,使核心数据获取和MCP服务逻辑可在不同环境中运行。

安装步骤

  1. 克隆仓库: 从GitHub克隆本项目仓库到本地。
    git clone https://github.com/joreilly/ClimateTraceKMP.git
    cd ClimateTraceKMP
  2. 构建与运行: 本项目使用Gradle作为构建工具。要运行MCP服务器,通常需要执行特定的Gradle任务。具体任务名称请查看项目结构(例如 'mcp-server' 模块下的 'run' 任务)。
    # 示例:根据项目实际结构调整任务名称
    ./gradlew :mcp-server:run --args="stdio" 
    此命令会启动服务器,并使用Stdio作为传输协议(具体参数和协议支持请参考服务器实现)。

服务器配置 (供MCP客户端使用)

MCP客户端(例如支持MCP协议的LLM应用或IDE插件)需要配置如何启动和连接到此MCP服务器。配置信息通常包含以下字段(具体格式取决于客户端实现):

  • 'server name': 服务器的标识名称,例如 "ClimateTraceMCP"。
  • 'command': 用于启动MCP服务器进程的命令或脚本的完整路径。这可能是Gradle Wrapper脚本 ('./gradlew' 或 'gradlew.bat') 加上运行特定任务的参数,或者直接指向构建好的服务器可执行文件。
  • 'args': 传递给启动命令的额外参数。常用的参数是指定MCP传输协议,例如 '--stdio' (用于标准输入输出), '--sse' (用于Server-Sent Events), '--websocket <port>' (用于WebSocket)。

您需要根据您实际运行服务器的环境和项目的构建输出来确定正确的'command'和'args'配置。

基本使用方法

服务器启动并由MCP客户端成功连接后,LLM应用即可通过发送MCP请求与服务器交互。例如,可以通过发送特定的JSON-RPC请求来:

  • 查询可用的资源(Resources)或工具(Tools)。
  • 读取特定的气候数据资源(例如,获取某个国家或某个行业的排放数据)。
  • 调用服务器提供的工具来执行特定操作(如果项目实现了工具)。

具体的请求格式和功能取决于此MCP服务器实际实现的Resources和Tools。请参考LLM客户端的文档以及本项目MCP服务器实现的代码细节来了解可用的功能。

信息

分类

AI与计算