使用说明

  • 项目简介

    • 该仓库实现了一个基于 MCP 的后端服务器,核心职责是向 LLM 客户端暴露资源管理、工具调用和提示渲染等能力,支持会话管理、能力声明以及多种传输方式(如标准输入输出、HTTP 服务器等),为以记忆图谱为基础的对话系统提供可扩展的上下文服务框架。
  • 主要功能点

    • MCP 服务器入口与协议处理
    • 注册并暴露工具(Tools),客户端通过 JSON-RPC 调用
    • 读取/创建/更新 Memory Notes(资源)
    • 维护 Memory Graph(图结构)的边与节点
    • 执行 Memory Enzymes 进行图结构维护( prune、SUGGEST、digest 等)
    • 支持研究者代理(Researcher Agent)进行深 web 研究并写入 Note
    • 提供可选的 HTTP 服务器暴露图谱数据用于外部工具对接
    • 与 Ollama/OpenRouter 等 LLM 提供商对接,进行嵌入与文本提取
  • 安装步骤

    • 安装依赖
      • 需要 Python 环境,并安装依赖:pip install -r requirements.txt
    • 图后端/存储
      • 支持 NetworkX(默认)、RustworkX、FalkorDB(实验性)。
      • 需要符合你环境的依赖,如 RustworkX、FalkorDB、Redis 等(若选 FalkorDB 需额外配置 Redis/数据库)。
    • 配置文件
      • 将 .env.example 复制为 .env 并按需修改环境变量(例如 GRAPH_BACKEND、LLM_PROVIDER、OPENROUTER_KEY 等)。
    • 启动服务器
      • 直接运行:python mcp_server.py
  • 服务器配置(MCP 客户端使用的描述性信息,JSON 格式,含 server name、command、args 等)

    • server: "a-mem"
    • command: "python"
    • args: ["mcp_server.py"]
    • 说明:启动后服务器端通过 MCP 规范对外暴露工具与能力,MCP 客户端无需关心实现细节,只需通过工具名调用即可。
  • 基本使用方法

    • 启动服务器后,MCP 客户端可以:
      • 调用 list_tools() 获取可用工具清单
      • 调用 call_tool(name, args) 执行工具
      • 调用 get_graph/get_notes/get_memories 等接口以获取内存图数据
      • 调用 run_memory_enzymes 等进行图结构维护
    • 在 Cursor、VSCode 等 IDE 集成中,可以通过 MCP 配置文件以环境覆盖的方式定制 per-instance 设置
    • 服务器也支持通过 TCP/HTTP 暴露图谱数据,方便外部工具接入(extract_graph.py 等)
  • 重要注意

    • 该实现包含多种组件,开发强调了异步 I/O、后台任务、以及对图结构的维护与监控。实际运行时需确保所选图后端与 LLM 提供商的依赖可用并正确配置。

信息

分类

AI与计算