AuraSDK MCP Server

使用说明(简要):

  • 项目简介
    • AuraSDK 提供两种 MCP 服务器实现(Python 版本和 Rust 版本),用于向 LLM 客户端提供统一的上下文与功能:管理资源、注册与执行工具、获取与渲染 Prompt,并通过 JSON-RPC 2.0 模式与客户端交互。
  • 主要功能点
    • MCP 核心能力:以固定格式的 JSON-RPC 请求处理并返回 JSON-RPC 响应,包括 initialize、工具列表、工具调用等。
    • 资源与数据访问:支持 recall、recall_structured、store、store_code、store_decision、search、insights、consolidate 等工具,对记忆进行存取、搜索、统计及维护。
    • 工具注册与执行:提供 TOOL 列表及映射,客户端通过工具名/参数调用相应处理逻辑。
    • Prompt 与上下文:服务器端提供说明性信息与指引,必要时渲染提示文本以注入上下文给 LLM。
    • 会话与能力声明:实现 initialize、notifications、tools/list、tools/call 等交互,体现服务器能力与会话信息。
    • 传输与运行模式:Rust 版本通过 stdio 形式实现 MCP 协议(可与同类 MCP 客户端对接),Python 版本也是基于 stdio 的 JSON-RPC 服务端;均可与 Claude Desktop 等 MCP 客户端协同工作。
    • 安全与扩展性:Rust 实现具备模块化的工具路由、并行处理能力;Python 实现提供简洁、易定制的服务器入口点,便于快速集成与测试。
  • 安装与运行
    • Python 实现(纯 Python 版本,零额外依赖):
      • 进入 python/aura 目录,运行命令:python -m aura mcp [path]
      • [path] 指向 Aura brain 数据目录,例如 C:\Users\YOUR_NAME\aura_brain(按操作系统路径填写)。
    • Rust 实现(需要开启 mcp 特性):
      • 构建并运行开启 MCP 的二进制:在仓库根目录执行 cargo build --features mcp 或 cargo run --features mcp
      • 运行方式依赖你的构建输出,Rust 端包含一个 run_stdio() 入口用于标准输入/输出的 JSON-RPC 通信。
    • 客户端配置(Claude Desktop 等 MCP 客户端):
      • 配置 JSON 文档示例(以下描述用于客户端配置,而非代码块)
        • server name: aura
        • command: 运行 MCP 服务器的启动命令,例如 python -m aura mcp <brain_path>(Python 实现)或可执行程序名(Rust 实现)
        • args: 根据实际路径传入的参数,例如 ["C:\Users\YOUR_NAME\aura_brain"](Windows),或相应的 Linux/macOS 路径
        • 说明:该配置用于 MCP 客户端在连接时启动服务器并建立 JSON-RPC 通信通道。MCP 客户端不需要你在此处嵌入代码实现,只需提供启动命令和参数即可。
  • 基本使用方法(客户端视角)
    • 启动服务器后,客户端通过 JSON-RPC 进行初始化(initialize),获取工具列表(tools/list),并调用具体工具(tools/call)来查询记忆、存储新记忆、执行分析等操作。
    • 支持的工具包括 recall、recall_structured、store、store_code、store_decision、search、insights、consolidate 等,客户端通过名称与参数传递完成调用。
  • 运行与整合要点
    • 两种实现均可独立运行,Rust 版本适合需要更高性能和嵌入式集成的场景,Python 版本更易定制、上手快。
    • MCP 服务端的能力声明、工具描述和输入/输出格式均在实现中定义,确保客户端对接时的兼容性与互操作性。
    • 如果在 Claude Desktop 等环境中使用,请按官方 MCP 客户端的指引配置服务器,并参考仓库中给出的示例配置片段进行对接。
  • 进阶
    • 如需扩展工具、调整输入输出结构,参考代码中的 TOOLS 定义、TOOL_MAP 映射以及 handle_request 的分支逻辑。
    • 针对不同传输场景(stdio、SSE、WebSocket 等)可在实现中扩展传输层支持。

服务器信息