Spring AI Agent MCP Server Platform
使用说明(简要,面向开发者):
-
项目简介
- 该仓库实现了一个用于 MCP 的服务端框架,核心职责是以标准化方式向 LLM 客户端提供上下文信息与功能,包括托管资源、注册和执行工具、以及定义和渲染提示模板。服务通过 JSON-RPC 与客户端通信,并具备会话管理、能力声明和多传输协议支持,适合作为 LLM 驱动的后端上下文服务平台。
-
主要功能点
- 资源与能力管理:集中托管与管理 Agents(智能体)、Models(模型)、Tools(工具/接口)、Skills、Viewports 等资源,支持热加载和热刷新。
- 工具注册与执行:注册后端/前端/动作类工具,支持远程调用、工具结果回传以及前端交互(如人机交互式工具)。
- Prompt 与模板渲染:提供按模式渲染的 Prompt 模板,支持自定义的交互模式(如 ONESHOT、REACT、PLAN_EXECUTE 等)。
- MCP 通信协议:实现 MCP 的请求/响应模型,使用 JSON-RPC 风格通讯,支持流式(SSE)输出、数据事件与 Run/Plan 等状态推送。
- 会话与持久化:会话管理、历史记录、可选的内存/持久化存储,以及跨会话的上下文传递。
- 安全与扩展性:提供 JWT/公钥校验、可选的认证、以及可扩展的插件框架(外部工具、接口与视图)。
- 多传输协定:支持多种传输协议(如 SSE、WebSocket、标准 IO 流),以满足不同客户端场景。
-
安装步骤
- 构建与打包
- 使用 Maven 构建项目,生成可运行的 Spring Boot 应用。
- 运行
- 启动应用:通过 mvn spring-boot:run 或打包后直接运行 jar。
- 环境与配置
- 默认配置可通过 application.yml 覆盖,此外支持通过环境变量进行覆盖(如端口、认证开关、外部资源目录等)。
- 测试
- 项目内包含大量单元测试,构建阶段可执行测试以验证 MCP 相关功能。
- 构建与打包
-
服务器配置(MCP 客户端所需的启动信息示例,供 MCP 客户端配置使用,不属于服务端实现本身)
- 服务器名称(serverName):示例 MCP 服务器实例名称,如 "demo-mcp-server"。
- 命令(command):用于启动 MCP 服务器的命令,例如 "java"。
- 参数(args):启动参数,例如指定 JAR 包、配置文件路径,以及协议版本等。示例形式如下(仅为说明,不是代码块,供理解 JSON 配置字段使用):
- serverName: "demo-mcp-server"
- command: "java"
- args: ["-jar","agent-platform-mcp-server.jar","--config","/path/to/mcp-config.json","--protocol-version","2025-06"]
- 说明:MCP 客户端仅需要此类信息来启动并连接 MCP 服务器,实际连接参数(如服务器地址、端点等)由 MCP 客户端依据 MCP 规范与服务器注册信息决定。
-
基本使用方法
- 启动后,MCP 客户端通过 JSON-RPC 与服务器通信,读取资源、注册工具、获取和渲染 Prompt,并可调用注册的 Tools 执行外部功能。
- 客户端与服务器之间可通过多种传输协议进行交互,支持流式输出与事件推送,便于对话上下文和工具调用的实时性需求。
- 运行时即可热加载资源配置,支持在不重启服务器的情况下更新 Agents/Tools/Models 等定义。