Animus MCP 服务器实现

使用说明(Markdown 格式)

  • 项目简介

    • 该仓库实现了基于 MCP 的后端服务器,用于向大语言模型客户端提供统一的资源托管、工具注册/执行、以及提示模板的渲染能力。服务器通过 JSON-RPC 与客户端通信,负责会话、能力声明和多种传输协议的支持,目的是为 LLM 应用提供可扩展、可控的上下文服务框架。
  • 主要功能点

    • 资源(Resources)托管与数据访问:提供对记忆、数据等资源的统一管理和查询能力。
    • 工具(Tools)注册与执行:注册可调用的外部功能,LLM 客户端可通过 MCP 服务器调用这些工具。
    • 提示模板(Prompts)定义与渲染:定义可定制的 Prompt 模板,并在上下文中渲染以驱动 LLM 的交互。
    • JSON-RPC 接口:通过标准的 JSON-RPC 协议接收请求并返回响应或发送通知。
    • 会话管理与能力声明:维护会话状态、能力对外声明,确保在多轮对话中的上下文一致性。
    • 多传输协议支持:实现对 Stdio、Server-Sent Events(SSE)、WebSocket 等传输协议的支持,提升与不同客户端的互操作性。
    • 安全与扩展性:设计上强调安全可控、可扩展的上下文服务框架,方便接入多种模型提供者与工具。
  • 安装步骤

    1. 安装 MCP 相关依赖:使用 MPC 框架的 MCP 模块化组件进行安装(示例包名与实践在项目文档中给出,通常包含在 extras 或额外依赖中,如“mcp”)。
    2. 安装并准备运行环境:确保 Python 环境就绪,满足本服务所需的依赖版本。
    3. 安装完成后即可运行 MCP 服务器主程序:
      • 启动命令:python -m animus.mcp_server
      • 该命令将启动 MCP 服务器,监听与客户端的 JSON-RPC 通信。
    4. 客户端配置(MCP 客户端需的配置信息,详见下一项):
      • 客户端需要在其 MCP 配置中指向服务器端点,通常通过描述性配置文件实现;本仓库提供的示例配置可用于 Claude 客户端的集成(见 Claude 文档中的示例配置)。
  • 服务器配置(MCP 客户端使用的配置,JSON 格式)

    • 服务器名称(server name):animus
    • 启动命令(command):python
    • 参数(args):-m animus.mcp_server
    • 该信息以 JSON 对象形式在 MCP 客户端配置中使用,例如在 Claude 的 MCP 配置文件中,可将上述字段以如下结构表示(注意:以下为描述性说明,不直接贴代码块):
      • mcpServers: 一个字典,包含服务器标识符;animus 为一个条目
      • animus 条目包含:
        • "command": 启动服务器使用的命令字符串,例如 "python"
        • "args": 启动参数的数组,例如 ["-m", "animus.mcp_server"]
    • 注:该配置用于 MCP 客户端初始化时确认要连接的 MCP 服务器及其启动方式,实际使用中客户端可能也需要提供认证、端口、传输协议等额外信息(若客户端需要)。
  • 基本使用方法

    • 启动并运行 MCP 服务器后,客户端即可通过 MCP 协议向服务器发起请求,获取资源、调用工具、获取 Prompt 模板等。
    • 服务器支持多种传输方式,客户端可在连接时选择合适的传输协议(如 Stdio、SSE、WebSocket)以获得实时性和稳定性需求的平衡。
    • 服务器还负责会话管理与能力声明,确保在多轮对话中能够一致地提供上下文与工具能力。
  • 补充信息

    • 该实现包含一个完整的 MCP 服务器实现及其测试用例,验证了资源、工具、提示等核心功能的协作,以及与客户端的 JSON-RPC 通信、会话管理和多传输协议支持等能力。

服务器信息