DevTeam6 MCP 服务器合集
使用说明(Markdown 格式)
-
项目简介
- 该仓库实现了基于 MCP(Model Context Protocol)的后台服务器结构,提供了核心的服务端组件:资源管理、工具注册与调用、以及对外暴露的服务器清单(Manifest),并通过统一的接口与 MCP 客户端进行数据交互。当前包含 MemoryMCPServer 与 RAGMCPServer 等示例服务端实现,方便在实际系统中组合成完整的 MCP 服务网。
-
主要功能点
- MCP 核心能力:
- 注册和暴露 Tools(工具),支持客户端调用并返回结果或错误信息。
- 注册和暴露 Resources(资源),用于资源检索与数据访问。
- 获取服务器清单(Manifest)以帮助客户端了解可用能力。
- 服务端实现:
- MemoryMCPServer:提供内存相关的存储、查询及统计工具。
- RAGMCPServer:提供语义检索与 RAG 相关的工具与资源。
- 通信与扩展性:
- 设计符合 MCP 的接口风格,方便将其嵌入到实际的 JSON-RPC 服务中(如将 BaseMCPServer 的 call_tool、get_resource、list_tools、list_resources、get_manifest 等方法暴露为 JSON-RPC 调用)。
- 通过 tool_schemas/kit 提供的通用 JSON schema 构建工具输入结构,便于注册统一格式的工具。
- MCP 核心能力:
-
安装步骤(简要)
- 需要一个 Python 运行环境(3.9+ 推荐)。
- 将仓库中的 MCP 相关模块作为库使用,或在你的服务中引入 MemoryMCPServer、RAGMCPServer 等实现。
- 将 MCP 服务接入到你现有的 JSON-RPC 服务框架中,使用 MemoryMCPServer、RAGMCPServer 等类来注册工具和资源并实现实际业务。
- 如需快速起步,可参考提供的 MemoryMCPServer/ RAGMCPServer 的注册逻辑,将业务函数作为工具处理逻辑接入。
-
服务器配置(MCP 客户端需要配置的启动信息) 说明:以下配置用于 MCP 客户端在连接 MCP 服务器时的启动信息,描述了服务器名称、启动命令及参数。请根据实际部署路径与环境调整命令参数。MCP 客户端在连接前通常需要将该配置作为 JSON 输入,以便知道如何启动并与 MCP 服务进行通信。
- Memory MCP 服务器配置示例 { "server_name": "devteam6-memory", "command": "python3", "args": ["-m", "local_ai.mcp.memory_server"] }
说明:
- server_name:服务器标识,用于在 MCP 客户端侧区分不同的 MCP 服务。
- command:用来启动服务器的命令(如 python3)。
- args:启动命令的参数,-m 表示模块化运行,memory_server 对应 MemoryMCPServer 的实现入口。 注:具体模块路径需按实际部署环境调整,确保运行时能够导入 MemoryMCPServer 所在的包并启动。
- RAG MCP 服务器配置示例 { "server_name": "devteam6-rag", "command": "python3", "args": ["-m", "local_ai.mcp.rag_server"] }
说明:
- server_name:服务器标识,用于在 MCP 客户端侧区分不同的 MCP 服务。
- command:启动服务器的命令(如 python3)。
- args:启动命令的参数,-m 指定入口模块,rag_server 对应 RAGMCPServer 的实现入口。 注:同样需根据实际部署调整模块路径与导入方式。
-
基本使用方法
- MCP 服务器端要对外提供符合 MCP 的 JSON-RPC 风格请求与响应。客户端通过发送包含:
- server(服务器标识)
- method(如 call_tool、get_resource、list_tools、list_resources、get_manifest 等)
- params(工具名、资源标识、参数等)
- 服务器端接收请求后执行相应 MCP 实现(如 MemoryMCPServer 的 _store_memory、_query_memory、_memory_stats 等工具,或 Rag 相关工具),返回 JSON-RPC 风格的响应。
- 日常使用中,通常通过一个统一的 JSON-RPC 服务网关对接上述 MCP 服务器,网关将请求分发到对应 MCP 服务的暴露接口。
- MCP 服务器端要对外提供符合 MCP 的 JSON-RPC 风格请求与响应。客户端通过发送包含:
-
注意事项
- MCP 客户端并不直接依赖具体实现,只需要知道服务器启动命令、服务器名称和调用接口(方法名与参数格式)。
- 具体的网络/传输协议(如 STDIO、SSE、WebSocket 等)由你搭建的 JSON-RPC 服务框架决定,DevTeam6 的实现提供了符合 MCP 的后端接口。
-
基本示例工作流程
- 启动 Memory MCP 服务(按实际部署路径运行上述启动命令)
- 客户端通过 JSON-RPC 发起工具调用,例如调用 store_memory 将内容存入内存、调用 memory_stats 获取统计数据等
- 服务端返回执行结果或错误信息,客户端解析并处理