README
🚀 Graphiti MCP Pro
Graphiti MCP Pro 是一个基于 Graphiti 的增强型内存存储库 MCP 服务和管理平台。它主要为在动态环境中运行的 AI 代理量身定制,能将用户交互、企业数据和外部信息集成到可查询的图中,适合开发交互式、上下文感知的 AI 应用。与原项目的 MCP 服务 相比,它具有增强的核心能力、更广泛的 AI 模型兼容性和全面的可视化管理界面等优势。
🚀 快速开始
使用 Docker Compose 运行(推荐)
- 克隆项目
git clone http://github.com/itcook/graphiti-mcp-pro # 或者使用 SSH 方式克隆 # git clone git@github.com:itcook/graphiti-mcp-pro.git cd graphiti-mcp-pro - 配置环境变量(可选)
# 复制示例配置文件 mv .env.example.en .env # 根据说明编辑 .env 文件
⚠️ 重要提示
如果想继续使用之前 Graphiti MCP 的数据,需将 .env 文件中的 NEO4J 相关参数设置为你的 Neo4j 数据库连接信息,其他参数保持默认。
- 启动服务
docker compose up -d
💡 使用建议
如果项目有更新,需要重新构建镜像,可使用
docker compose up -d --build。不用担心,数据会持久保存在外部数据库中,不会丢失。
- 访问管理界面 默认地址:http://localhost:6062
手动安装
⚠️ 重要提示
前提条件:
- Python 3.10+ 和 uv 项目管理器
- Node.js 20+
- 可访问的 Neo4j 5.26+ 数据库服务
- AI 模型服务
- 克隆项目
git clone http://github.com/itcook/graphiti-mcp-pro # 或者使用 SSH 方式克隆 # git clone git@github.com:itcook/graphiti-mcp-pro.git cd graphiti-mcp-pro - 安装依赖
uv sync - 配置环境变量
# 复制示例配置文件 mv .env.example.en .env # 根据说明编辑 .env 文件 - 运行 MCP 服务
# 运行带有管理后端的服务 uv run main.py -m # 或者仅运行 MCP 服务 # uv run main.py - 构建并运行管理前端
进入前端目录并安装依赖:
cd manager/frontend pnpm install # 或者使用 npm install / yarn
构建并运行前端:
pnpm run build # 或者使用 npm run build / yarn build
pnpm run preview # 或者使用 npm run preview / yarn preview
访问管理界面:http://localhost:6062
✨ 主要特性
增强的核心能力
异步并行处理
添加记忆是 MCP 服务的核心功能。我们在原实现基础上引入了异步并行处理机制,同一组 ID(如不同开发项目)最多可并行执行 5 个添加记忆任务,显著提高了处理效率。
任务管理工具
新增了四个用于管理 add_memory 任务的 MCP 工具:
list_add_memory_tasks- 列出所有add_memory任务get_add_memory_task_status- 获取add_memory任务状态wait_for_add_memory_task- 等待add_memory任务完成cancel_add_memory_task- 取消add_memory任务
统一配置管理
优化了配置管理,解决了命令行参数、环境变量和管理后端数据库配置之间的不一致问题。
⚠️ 重要提示
启用管理后端时,.env 环境配置文件中的 MCP 服务参数仅在首次启动时生效,后续配置将基于管理后端数据库中的参数。
更广泛的 AI 模型兼容性和灵活性
增强的模型兼容性
通过与 instructor 库集成,显著提高了模型兼容性。现在支持各种模型,如 DeepSeek、Qwen,甚至可以通过 Ollama、vLLM 运行本地模型,只要它们提供与 OpenAI API 兼容的接口。
分离的模型配置
将原有的统一 LLM 配置拆分为三个独立配置,可根据实际需求灵活组合:
- 大模型(LLM):负责实体和关系提取
- 小模型(Small LLM):处理实体属性总结、关系去重、重新排序等轻量级任务
- 嵌入模型(Embedder):专门用于文本向量化
⚠️ 重要提示
配置嵌入模型时,请注意其 API 路径与上述两个 LLM 不同。LLM 使用聊天完成路径
{base_url}/chat/completions,而文本嵌入使用{base_url}/embeddings。如果在管理后端选择“与大模型相同”,请确保配置的大模型支持文本嵌入。此外,如果通过 docker compose 运行服务,而 LLM 或嵌入模型在本地运行,需要将 base_url 配置为
http://host.docker.internal:{port},其中端口应根据本地运行端口进行调整。
全面的管理平台
为了提供更好的用户体验和可观测性,我们开发了完整的管理后端和 Web UI。通过管理界面,你可以:
- 服务控制:启动、停止、重启 MCP 服务
- 配置管理:实时更新和调整配置
- 使用监控:查看详细的令牌使用统计信息
- 日志查看:实时和历史日志查询
📚 详细文档
已知限制
- 🔒 安全注意事项:管理后端未实现授权访问机制,请勿将服务暴露在公共服务器上。
- 🧪 测试覆盖:由于资源限制,项目尚未进行全面测试,建议仅用于个人使用。
- 📡 传输协议:仅支持可流式传输的 HTTP 传输协议,移除了原项目中的 stdio 和 sse 支持。
- ⚙️ 代码优化:一些架构设计(依赖注入、异常处理、客户端解耦等)仍有优化空间。
使用建议
- 配置说明:请仔细阅读
.env.example.en中的设置说明和注释。 - 模型选择:如果使用 GPT/Gemini/Claude 等原生支持的模型,且不需要详细的运行时信息,可考虑使用原 Graphiti MCP。
- 问题反馈:欢迎提交 Issues 或 Pull Requests 反馈使用问题。
由 🤖 Augment Code 协助开发
微信扫一扫