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 构建工具输入结构,便于注册统一格式的工具。
  • 安装步骤(简要)

    • 需要一个 Python 运行环境(3.9+ 推荐)。
    • 将仓库中的 MCP 相关模块作为库使用,或在你的服务中引入 MemoryMCPServer、RAGMCPServer 等实现。
    • 将 MCP 服务接入到你现有的 JSON-RPC 服务框架中,使用 MemoryMCPServer、RAGMCPServer 等类来注册工具和资源并实现实际业务。
    • 如需快速起步,可参考提供的 MemoryMCPServer/ RAGMCPServer 的注册逻辑,将业务函数作为工具处理逻辑接入。
  • 服务器配置(MCP 客户端需要配置的启动信息) 说明:以下配置用于 MCP 客户端在连接 MCP 服务器时的启动信息,描述了服务器名称、启动命令及参数。请根据实际部署路径与环境调整命令参数。MCP 客户端在连接前通常需要将该配置作为 JSON 输入,以便知道如何启动并与 MCP 服务进行通信。

    1. 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 所在的包并启动。
    1. 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 客户端并不直接依赖具体实现,只需要知道服务器启动命令、服务器名称和调用接口(方法名与参数格式)。
    • 具体的网络/传输协议(如 STDIO、SSE、WebSocket 等)由你搭建的 JSON-RPC 服务框架决定,DevTeam6 的实现提供了符合 MCP 的后端接口。
  • 基本示例工作流程

    • 启动 Memory MCP 服务(按实际部署路径运行上述启动命令)
    • 客户端通过 JSON-RPC 发起工具调用,例如调用 store_memory 将内容存入内存、调用 memory_stats 获取统计数据等
    • 服务端返回执行结果或错误信息,客户端解析并处理

服务器信息