使用说明
-
项目简介
- 该仓库实现了一个具备 MCP(Model Context Protocol)协议能力的后端服务,核心职责是向语言模型客户端提供可读的资源、可执行的工具以及可渲染的提示词等上下文服务,并通过 JSON-RPC/HTTP 方式与 MSP 客户端进行交互。代码同时支持 Java 主服务通过 HTTP 调用独立部署的 Python MCP Server 实现的工具,形成跨语言工具调用的能力。
-
主要功能点
- MCP 服务端实现与管理
- MCPServer 接口定义了 ServerInfo、Tool、ToolResult 等协议要素,满足 MCP 的基本通信格式与工具执行能力的扩展。
- HttpMcpServer 作为 MCP 客户端桥接实现,通过 HTTP 调用 Python MCP Server 提供的工具。
- McpManager 提供 MCP Server 的注册、查询与工具执行分发等管理能力。
- 跨语言工具桥接
- McpToolProvider 暴露了 Java 实现的工具(如 calculator、get_time、readFile、writeFile 等),并通过 McpManager 将调用分发到相应 MCP Server。
- 支持的工具与服务
- 提供了用于天气、地点、时间、文件等外部服务的工具,以及对文本与 SQL 的处理能力。
- 配套的 Python MCP 服务器
- docs/mcp_server_http.py 提供了一个简单的 Flask HTTP API 实现,作为独立部署的 MCP 服务端,用于与 Java MCP 服务端进行交互与测试。
- 自动注册与启动
- McpAutoConfiguration 在应用启动后尝试连接并注册 Python MCP Server,形成自动化的 MCP 服务发现与注册流程。
- 资源、Prompts、Knowledge 与 Memory
- 系统内置的资源/知识向量化、Memory、Prompt 管理等核心组件与流程,支持 MCP 与 LangChain4j 等框架整合。
- MCP 服务端实现与管理
-
安装步骤
- 克隆并构建后端(Java)
- 使用 Maven 构建并运行后端应用(需要 JDK 21 及 MySQL 等相关依赖)。应用启动后将自动尝试连接到 Python MCP Server(如可用),并注册 MCP 服务。
- 启动 Python MCP Server(独立部署)
- 按文档在 docs/mcp_server_http.py 下的脚本运行 Flask 服务器,默认端口 5001。确保 Python、Flask、所需依赖已正确安装。
- 环境与配置
- 如需 Docker、本地开发等方式,请根据 README 中提供的快速启动指南完成环境搭建与配置。
- 克隆并构建后端(Java)
-
服务器配置(MCP 服务器对接配置示例)
- 服务器名称(serverName)对应运行中的 Python MCP Server 的实例标识,例如 python-mcp-server。
- 启动命令(command)示例:运行独立的 Python MCP Server 的命令,例如 "python3 docs/mcp_server_http.py"。
- 参数(args)示例: ["--port=5001"],用于指定 MCP Server 监听端口。
- 以上字段用于 MCP 客户端在对接时的连接信息,客户端不需要额外配置即可与服务器建立连接。具体示例(以文字描述呈现,非代码块): { "serverName": "python-mcp-server", "command": "python3 docs/mcp_server_http.py", "args": ["--port=5001"] } 注解:MCP 客户端需要的仅是 serverName、command 与 args 的信息来启动并连接到 MCP 服务器;客户端对该配置的内部实现细节无须理解。
-
基本使用方法
- 启动顺序
- 启动独立的 Python MCP Server(docs/mcp_server_http.py)以提供工具服务。
- 启动 Java 后端应用(Robot 的 MCP 服务端实现)。
- Java 服务端在启动时会尝试自动注册 Python MCP Server,若成功则可通过 Java 提供的 MCP 功能进行工具调用等操作。
- 客户端交互
- 客户端通过 MCP 协议向 MCP 服务器请求工具、资源与提示词等能力;服务器返回标准的 ToolResult,并根据需要进行跨语言工具调用。
- 机器人系统也提供了统一的对话/服务入口,支持跨语言工具协同、RAG、Prompt 热更新等能力。
- 启动顺序
-
其他注意
- 代码中包含了大量对 MCP 的实现、工具绑定、跨语言调用示例,适合在企业场景中做进一步扩展与整合。
- 如需二次开发,请参考 McpManager、HttpMcpServer、McpAutoConfiguration、McpToolProvider 等核心组件的实现。
信息
分类
AI与计算