Animus MCP 服务器实现
使用说明(Markdown 格式)
-
项目简介
- 该仓库实现了基于 MCP 的后端服务器,用于向大语言模型客户端提供统一的资源托管、工具注册/执行、以及提示模板的渲染能力。服务器通过 JSON-RPC 与客户端通信,负责会话、能力声明和多种传输协议的支持,目的是为 LLM 应用提供可扩展、可控的上下文服务框架。
-
主要功能点
- 资源(Resources)托管与数据访问:提供对记忆、数据等资源的统一管理和查询能力。
- 工具(Tools)注册与执行:注册可调用的外部功能,LLM 客户端可通过 MCP 服务器调用这些工具。
- 提示模板(Prompts)定义与渲染:定义可定制的 Prompt 模板,并在上下文中渲染以驱动 LLM 的交互。
- JSON-RPC 接口:通过标准的 JSON-RPC 协议接收请求并返回响应或发送通知。
- 会话管理与能力声明:维护会话状态、能力对外声明,确保在多轮对话中的上下文一致性。
- 多传输协议支持:实现对 Stdio、Server-Sent Events(SSE)、WebSocket 等传输协议的支持,提升与不同客户端的互操作性。
- 安全与扩展性:设计上强调安全可控、可扩展的上下文服务框架,方便接入多种模型提供者与工具。
-
安装步骤
- 安装 MCP 相关依赖:使用 MPC 框架的 MCP 模块化组件进行安装(示例包名与实践在项目文档中给出,通常包含在 extras 或额外依赖中,如“mcp”)。
- 安装并准备运行环境:确保 Python 环境就绪,满足本服务所需的依赖版本。
- 安装完成后即可运行 MCP 服务器主程序:
- 启动命令:python -m animus.mcp_server
- 该命令将启动 MCP 服务器,监听与客户端的 JSON-RPC 通信。
- 客户端配置(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 通信、会话管理和多传输协议支持等能力。