Graph Memory MCP 后端服务

使用说明(Markdown 格式)

项目简介

  • Graph Memory 是一个基于 MCP(Model Context Protocol)的后端服务,作为 LLM 客户端的上下文与功能提供者。它通过标准化的 MCP JSON-RPC 风格在后端托管资源、注册和执行工具,以及定义与渲染 Prompt 模板,支持多种传输形态,确保会话隔离和扩展性。

主要功能点

  • MCP 服务端实现与暴露工具
    • 提供 memory、document、graph、search、question_answer、memory_query 等工具,遵循 MCP 的 JSON-RPC 风格请求/响应。
    • 支持基于令牌 Bearer 的认证、admin bootstrap 权限、以及内置的 Token 管理。
  • 数据存储与检索
    • Neo4j 作为知识图谱数据库,存储 Memory、Entity、Document、Relation 等结构化信息。
    • S3 作为原始文档存储,支持上传、读取、校验与清理。
    • Qdrant 作为向量检索引擎,存储 Chunk 的嵌入向量,用于图-引导的向量检索(RAG)。
  • 知识抽取与嵌入
    • 集成 LLMaaS,提供实体与关系的提取、文本分段(Chunker)及嵌入向量生成(Embedding)。
    • Ontology 支持:通过 OntologyManager加载多种 ontologies,提供有结构的 Prompt 构建与提取约束。
  • Prompts 与交互
    • 提供基于 Ontology 的 Prompt 构造、Graph-Guided RAG 的问答与结构化查询能力。
    • Prompts 支持多轮对话上下文、衔接前后文的 Chunk 处理。
  • 安全与多租户
    • 通过 Bearer Token + 命名空间(Memory)实现数据隔离。
    • 提供 WAF、TLS、访问控制等安全能力描述与示例。
  • 可用的外部接口
    • MCP Streamable HTTP 端点 /mcp(主传输路径)
    • REST API 透传接口,/api/memories、/api/graph/{memory_id} 等
    • 命令行与图形界面辅助工具(CLI、web UI、终端显示)
  • 兼容性与扩展性
    • Ontology 结构化扩展性强,随 Ontology YAML 文件扩展新的实体与关系类型
    • 提供完整的测试与开发工具(CLI、检查参数描述、端到端测试脚本)

安装步骤

  • 使用 Docker Compose 启动(推荐)
    • 取得代码后进入项目根目录,确保已安装 Docker 和 Docker Compose v2+
    • 启动命令:docker compose up -d
    • 健康检查:curl http://localhost:8080/health
    • MCP 服务入口:http://localhost:8080/mcp
  • 纯本地开发/测试模式(备用)
    • 安装依赖并直接启动 Python MCP 服务(按 README/源码中的启动方式执行)
    • 端口通常为 8002(内网暴露/对外暴露可按需配置)
    • MCP 客户端通过 /mcp 进行请求

服务器配置(MCP 客户端需要的启动信息) 以下 JSON 为一个示意配置,描述服务器的名称与启动命令,便于 MCP 客户端在接入时知道如何启动并连接到 MCP 服务端。请将其按需调整为你实际的部署方式。 { "server_name": "graph-memory", "command": "docker", "args": ["compose", "up", "-d"] } 注释

  • server_name: 服务器在 MCP 客户端侧的标识名称,推荐与实际部署的容器/服务名称一致以便辨识。
  • command / args: 部署启动命令及其参数。若采用纯本地启动,可替换为: { "server_name": "graph-memory", "command": "python", "args": ["-m", "src.mcp_memory.server", "--port", "8002"] }
  • 本示例基于仓库提供的实现与 README 的部署方式设计,实际部署请结合你的环境(Docker、Kubernetes、直接运行 Python 服务等)进行配置。

基本使用方法

  • MCP 客户端使用
    • 通过 /mcp 端点向 MCP 服务器发送请求,使用 Bearer Token 进行身份认证
    • 服务器端具备 memory、document、graph、search、QA 等工具,支持增删改查、向量检索和 Q&A 问答
  • 常见操作示例(要点)
    • 创建内存、上传文档、进行问答、获取图谱、检查存储等
    • 使用 CLI 工具(Graph Memory 的 CLI/脚本)配合 MCP 客户端完成自动化测试与管理
  • 安全注意
    • 使用 admin_bootstrap_key 进行初始 token 生成,后续通过 admin_token 管理
    • Bearer token 需要放在 Authorization 头中,MCP 端点为 /mcp
    • REST 接口也需要 Bearer token 认证,图形界面通过前端注入 token

维护与扩展要点

  • Ontology 的扩展与更新:在 ONTOLOGIES 目录下新增 YAML 文件,重载后即可在内存创建时选择新 ontologie
  • 集成与测试:仓库提供了 end-to-end 测试脚本,便于在本地 CI/CD 中执行
  • 监控与日志:可将日志输出重定向至日志系统,结合 Health Check 与 system_health 端点进行健康监控

关键词 知识图谱, Neo4j, 向量检索, Qdrant, LLM, 文档存储

分类ID 6

服务器信息