使用说明
项目简介
modelcontextprotocol_kotlin-sdk 仓库是 Model Context Protocol (MCP) 的 Kotlin 语言 SDK 实现。它旨在帮助开发者使用 Kotlin 语言快速构建 MCP 客户端和服务器端应用,以便于LLM应用进行上下文信息的标准化交互。该 SDK 实现了 MCP 协议的各项核心功能,并提供了丰富的示例和文档。
主要功能点
- MCP 客户端 SDK: 允许 Kotlin 应用作为 MCP 客户端,连接到任何 MCP 服务器。
- MCP 服务器 SDK: 允许 Kotlin 应用构建 MCP 服务器,暴露资源、Prompt 模板和工具。
- 资源管理: 支持在 MCP 服务器中托管和管理各种类型的资源。
- 工具注册与执行: 支持在 MCP 服务器中注册和执行工具,供 LLM 客户端调用。
- Prompt 模板: 支持定义和渲染 Prompt 模板,实现灵活的 LLM 交互模式。
- 多种传输协议支持: 内置支持 Stdio, SSE 和 WebSocket 等多种 MCP 标准传输协议。
- 会话管理与能力声明: 提供服务器端会话管理和能力声明功能。
安装步骤
-
在 'build.gradle.kts' 或 'build.gradle' 文件中,添加 mavenCentral 仓库:
repositories { mavenCentral() } -
添加 kotlin-sdk 依赖:
dependencies { implementation("io.modelcontextprotocol:kotlin-sdk:0.2.0") }
服务器配置
MCP 服务器端配置主要体现在服务器的启动命令和参数上。由于 'modelcontextprotocol_kotlin-sdk' 仓库本身是 SDK,实际部署和运行 MCP 服务器需要基于此 SDK 开发具体的服务器应用。
以下是一个基于 SDK 示例 'kotlin-mcp-server' 的 假设性 服务器配置,用于指导 MCP 客户端如何配置连接信息:
{ "serverName": "kotlin-mcp-server-example", "command": "java -jar path/to/kotlin-mcp-server.jar", "args": [], "transport": "stdio", "capabilities": { "resources": { "listChanged": true, "subscribe": true }, "tools": { "listChanged": true, "subscribe": true, "execute": true }, "prompts": { "listChanged": true, "inline": true } } }
参数注释:
- 'serverName': 服务器名称,客户端用于标识连接的服务器。
- 'command': 假设的 MCP 服务器启动命令。需要替换为实际的服务器 JAR 包路径和启动命令。
- 'args': 假设的 启动参数,本示例中为空。根据实际服务器应用的需求可能需要添加参数。
- 'transport': 传输协议,这里使用 'stdio' 作为示例。根据实际服务器配置可能使用 'sse' 或 'websocket'。
- 'capabilities': 服务器声明的功能,表明服务器支持资源、工具和 Prompt 模板,以及各项功能的具体能力(如 'listChanged', 'subscribe', 'execute', 'inline')。
注意:
- 上述配置为 示例配置,实际部署时需要根据 'kotlin-mcp-server' 示例项目或您自行开发的 MCP 服务器应用进行调整。
- 'command' 和 'args' 需要指向可执行的 Kotlin MCP 服务器程序。
- 实际服务器能力 ( 'capabilities' ) 取决于您在服务器端代码中的具体实现。
基本使用方法
- 创建 MCP 服务器应用: 基于 'kotlin-sdk' 的 Server SDK,参考 'samples/kotlin-mcp-server' 示例,实现资源、工具和 Prompt 模板的托管和管理逻辑。
- 构建服务器: 将 Kotlin 服务器应用打包成可执行的 JAR 文件。
- 配置服务器: 根据实际情况配置服务器运行参数,例如端口、数据存储路径等。(本例中为假设配置)
- 启动服务器: 使用配置的 'command' 和 'args' 启动 MCP 服务器。
- 创建 MCP 客户端应用: 基于 'kotlin-sdk' 的 Client SDK,创建 MCP 客户端应用。
- 客户端连接服务器: 在客户端应用中,配置 MCP 服务器的连接信息(如上述 JSON 配置示例),使用 Client SDK 建立连接。
- 客户端调用 MCP 功能: 使用 Client SDK 提供的 API,例如 'listResources', 'readResource', 'executeTool', 'listPrompts' 等,与 MCP 服务器进行交互,获取上下文信息和调用外部功能。
信息
分类
开发者工具