使用说明
项目简介
kotlin-sdk 仓库是 Model Context Protocol (MCP) 的 Kotlin 语言版本 SDK,旨在帮助开发者使用 Kotlin 快速构建兼容 MCP 协议的应用程序。该 SDK 同时支持创建 MCP 客户端和服务器,简化了 LLM 应用与上下文服务集成的过程。
主要功能点
- MCP 协议完整实现: 全面实现了 Model Context Protocol 规范,确保与其他 MCP 兼容。
- 客户端与服务器端 SDK: 同时提供客户端和服务端组件,方便开发者构建完整的 MCP 应用。
- 资源 (Resources) 管理: 支持在 MCP 服务器中托管和管理各种类型的资源,并提供数据访问能力。
- 工具 (Tools) 注册与执行: 允许 MCP 服务器注册和执行工具,使 LLM 客户端能够调用外部功能。
- Prompt 模板 (Prompts) 渲染: 支持定义和渲染 Prompt 模板,实现灵活的 LLM 交互定制。
- 多种传输协议支持: 内置 Stdio, SSE, WebSocket 等多种传输协议的实现,方便部署和集成。
- 会话管理与能力声明: 服务器端负责会话管理和能力声明,符合 MCP 协议规范。
- Ktor 集成: 提供 Ktor 扩展,方便在 Ktor 应用中快速搭建 MCP 服务器。
安装步骤
-
添加 Maven Central 仓库: 在你的 'build.gradle.kts' 或 'build.gradle' 文件中,确保 'repositories' 部分包含 'mavenCentral()':
repositories { mavenCentral() } -
添加依赖: 在 'dependencies' 部分添加 kotlin-sdk 的依赖:
dependencies { implementation("io.modelcontextprotocol:kotlin-sdk:0.3.0") }
服务器配置 (MCP客户端启动命令配置示例)
kotlin-sdk 仓库本身是一个 SDK 库,用于构建 MCP 服务器,并非开箱即用的 MCP 服务器程序。要使用 kotlin-sdk 构建 MCP 服务器,您需要编写 Kotlin 代码,并使用 SDK 提供的 Server 类和相关 API 来定义资源、工具和 Prompt 模板。
MCP 客户端需要连接到实际运行的 MCP 服务器才能工作。以下是一个 MCP 客户端启动命令配置示例 (JSON 格式),展示了如何配置客户端以连接到使用 kotlin-sdk 构建的 MCP 服务器 (假设服务器通过 Stdio 传输协议运行):
{ "serverName": "kotlin-mcp-server", "transport": "stdio", "command": "java", "args": [ "-jar", "path/to/your/kotlin-mcp-server.jar" ], "capabilities": { "resources": { "list": true, "read": true }, "tools": { "list": true, "invoke": true }, "prompts": { "list": true, "render": true } } }
配置参数说明:
- 'serverName': MCP 服务器的名称,可以自定义。
- 'transport': 传输协议类型,这里示例为 'stdio' (标准输入输出流)。kotlin-sdk 还支持 'sse' 和 'websocket' 等协议。
- 'command': 启动 MCP 服务器的命令,例如 'java' (假设您的服务器打包为 JAR 文件)。
- 'args': 启动命令的参数,例如 '["-jar", "path/to/your/kotlin-mcp-server.jar"]',需要根据您实际的服务器打包方式和 JAR 文件路径进行调整。
- 'capabilities': 声明客户端期望使用的 MCP 服务器功能,例如 'resources'、'tools' 和 'prompts' 的 'list' 和 'read'/'invoke'/'render' 能力。
注意: MCP 客户端的配置主要是指定如何连接到 MCP 服务器,而不是直接配置服务器的启动命令和参数。上述 'command' 和 'args' 仅为示例,实际使用时,您需要根据您自己构建和部署的 MCP 服务器的运行方式来配置客户端的连接信息 (例如,如果使用 SSE 或 WebSocket 协议,则需要配置服务器的 URL 地址)。
基本使用方法
-
创建 MCP 服务器: 使用 kotlin-sdk 提供的 'Server' 类,配置服务器信息、能力,并添加资源、工具和 Prompt 模板。参考 README.md 中的 "Creating a Server" 代码示例。
-
运行 MCP 服务器: 将 Kotlin MCP 服务器代码编译打包成可执行程序 (例如 JAR 文件),然后在终端或命令行中运行该程序。
-
创建 MCP 客户端: 使用 kotlin-sdk 提供的 'Client' 类,配置客户端信息和传输协议 (例如 'StdioClientTransport', 'SSEClientTransport', 'WebSocketClientTransport')。参考 README.md 中的 "Creating a Client" 代码示例。
-
连接客户端与服务器: 在客户端代码中使用 'client.connect(transport)' 方法,根据选择的传输协议连接到正在运行的 MCP 服务器。
-
使用 MCP 功能: 客户端连接成功后,可以使用 'client.listResources()', 'client.readResource()', 'client.listTools()', 'client.invokeTool()', 'client.listPrompts()', 'client.renderPrompt()' 等方法,与 MCP 服务器进行交互,获取资源、调用工具、渲染 Prompt 等。
示例代码: README.md 中提供了详细的客户端和服务器端代码示例,包括如何使用 Stdio 和 SSE 传输协议。您可以参考这些示例代码快速上手。
信息
分类
开发者工具