使用说明
项目简介
本项目 'Spring AI MCP Server Example' 是一个基于 Spring AI 框架构建的 Model Context Protocol (MCP) 服务器示例。它旨在演示如何使用 Kotlin 和 Spring AI 快速搭建一个基本的 MCP 服务器,用于向 LLM 客户端提供上下文信息和工具服务,是学习和理解 MCP 服务器实现的良好起点。
主要功能点
- 基础MCP协议支持: 实现了MCP协议的基本框架,能够接收和响应来自 MCP 客户端的 JSON-RPC 请求。
- 资源端点示例: 提供了一个简单的资源端点 '/resources',可以作为资源管理的示例参考,展示如何暴露和访问服务器端资源。
- 工具端点示例: 包含一个工具端点 '/tools', 演示了如何注册和执行工具函数,允许客户端通过服务器调用外部功能。
- Prompt模板端点示例: 提供 Prompt 模板端点 '/prompts',展示如何定义和渲染 Prompt 模板,支持客户端定制 LLM 交互模式。
- Spring AI 集成: 利用 Spring AI 框架简化了 AI 功能的集成,例如可以方便地接入不同的 LLM 提供商。
安装步骤
- 克隆仓库:
git clone https://github.com/Kotlin/Kotlin-AI-Examples.git cd Kotlin-AI-Examples/projects/spring-ai/spring-ai-mcp-server-example - 构建项目:
使用 Gradle 构建项目。
./gradlew build
服务器配置
MCP 客户端需要配置以下信息以连接到此服务器。这是一个 JSON 格式的配置示例,用于指导 MCP 客户端如何启动和连接到本示例服务器:
{ "serverName": "SpringAIMCPExample", "command": "java", "args": [ "-jar", "./build/libs/spring-ai-mcp-server-example.jar" ], "protocol": "stdio" }
配置说明:
- 'serverName': 自定义服务器名称,用于在客户端标识该服务器连接。
- 'command': 启动服务器进程的命令,这里使用 'java' 命令来运行 JAR 文件。
- 'args': 传递给 'command' 的参数列表。
- '-jar ./build/libs/spring-ai-mcp-server-example.jar': 指定要执行的 JAR 文件路径,此路径相对于客户端的执行环境。
- 'protocol': 指定 MCP 客户端与服务器通信的协议,'stdio' 表示使用标准输入输出流进行通信。
基本使用方法
-
启动服务器: 在 'spring-ai-mcp-server-example' 目录下,运行以下 Gradle 命令启动 MCP 服务器:
./gradlew bootRun或者,您可以使用配置中 'command' 和 'args' 提供的命令,在 'spring-ai-mcp-server-example' 目录的根目录下手动执行 'java -jar ./build/libs/spring-ai-mcp-server-example.jar'。
-
配置 MCP 客户端: 在您的 MCP 客户端应用中,根据上述 "服务器配置" 部分提供的 JSON 配置信息,添加或修改服务器连接配置。确保客户端能够正确读取并使用这些配置来启动和连接到本示例服务器。
-
通过 MCP 客户端与服务器交互: 启动 MCP 客户端后,客户端将根据配置连接到本示例服务器。您可以通过客户端发送符合 MCP 协议的请求,例如请求资源列表、调用预注册的工具或获取 Prompt 模板。具体的请求格式和操作方式请参考 MCP 协议文档以及您使用的 MCP 客户端的文档。
注意: 本示例服务器仅作为演示和学习用途,可能不包含完整的错误处理和安全机制。在实际生产环境中使用 MCP 服务器时,请务必根据具体需求进行安全加固和功能完善。
信息
分类
AI与计算