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