MCP Kotlin SDK 使用说明
项目简介
MCP Kotlin SDK 是 Model Context Protocol (MCP) 的 Kotlin 实现,旨在帮助开发者构建能够为大型语言模型 (LLM) 提供标准化上下文的应用后端(MCP 服务器)以及与之交互的客户端。该 SDK 支持资源管理、工具注册与执行、Prompt 模板定义等 MCP 核心功能,并支持 Stdio、SSE 和 WebSocket 等多种传输协议。
主要功能点
- 资源管理: MCP 服务器可以托管和管理各种类型的资源,例如文件、数据库记录等,并允许客户端通过 URI 访问这些资源。示例代码展示了如何添加和提供文本资源。
- 工具执行: MCP 服务器可以注册和执行外部工具,允许 LLM 客户端调用这些工具来扩展其功能。示例代码展示了工具的注册和调用,以及如何代理到 JetBrains IDE 的工具。
- Prompt 模板: 虽然示例代码中没有直接展示 Prompt 模板功能,但 MCP SDK 本身支持定义和渲染 Prompt 模板,以实现可定制的 LLM 交互模式。
- 多种传输协议: SDK 支持 Stdio、SSE 和 WebSocket 等传输协议,方便在不同场景下部署和使用 MCP 服务器。示例代码展示了 Stdio 和 SSE 传输协议的使用。
安装步骤
-
添加 JitPack 仓库: 在你的 Kotlin 项目的 'build.gradle.kts' 文件中,添加 JitPack 仓库:
repositories { maven { url = uri("https://jitpack.io") } } -
添加依赖: 在 'dependencies' 块中添加 MCP Kotlin SDK 的依赖:
dependencies { implementation("com.github.e5l:mcp-kotlin-sdk:main-SNAPSHOT") }
服务器配置
以下是基于仓库 'samples/node-server/src/server.ts' 示例生成的 MCP 服务器客户端配置信息(JSON 格式)。请注意,此配置是针对 Node.js 示例服务器,需要 Node.js 环境才能运行。实际使用 Kotlin SDK 构建的服务器配置可能有所不同。
{ "serverName": "jetbrains/proxy", "command": "node", "args": ["samples/node-server/src/server.ts"], "transport": "stdio" }
配置参数说明:
- 'serverName': 服务器名称,示例中设置为 "jetbrains/proxy",可以自定义。
- 'command': 启动服务器的命令,对于 Node.js 示例,使用 'node' 命令。
- 'args': 启动命令的参数,对于 Node.js 示例,指向 'samples/node-server/src/server.ts' 脚本文件。
- 'transport': 传输协议,示例中使用 'stdio'。
基本使用方法
-
运行 MCP 服务器:
- 如果使用 Node.js 示例服务器 ('samples/node-server/src/server.ts' 或 'samples/node-server/src/tmp.ts'),请先确保安装了 Node.js 环境和 '@modelcontextprotocol/sdk' 包(根据 'samples/node-server' 目录下的 'package.json' 安装依赖)。
- 然后,在项目根目录下,使用命令行执行 'node samples/node-server/src/server.ts' 或 'node samples/node-server/src/tmp.ts' 启动服务器。
-
配置 MCP 客户端:
- 在 MCP 客户端中,根据上述 “服务器配置” 部分提供的 JSON 配置信息,配置连接到 MCP 服务器。
- 客户端需要根据 MCP 协议规范,发送 JSON-RPC 请求与服务器进行通信,例如列出资源、读取资源、调用工具等。
- 可以参考 README.md 中的 "Creating a Client" 部分的 Kotlin 代码示例来构建 MCP 客户端。
注意: 'samples/node-server' 目录下的示例代码使用了 '@modelcontextprotocol/sdk' 这个 npm 包,但仓库 'mcp-kotlin-sdk' 本身是 Kotlin SDK。 'samples/node-server' 可能是为了演示 MCP 协议或者提供一个代理服务器的示例。 实际使用 Kotlin SDK 构建 MCP 服务器,请参考 README.md 中的 "Creating a Server" 部分的 Kotlin 代码示例。
信息
分类
开发者工具