mcpField
G
Graphiti MCP Server 🧠

Graphiti MCP Server 🧠

本地服务
github.com/gifflet记忆与知识14265 周前更新

关于 Graphiti MCP Server 🧠

Graphiti MCP Server 是基于 Neo4j 的知识图谱 MCP 服务,面向需要让 AI Agent 管理和查询图谱的场景。它支持自定义实体提取、语义搜索,并可通过 Docker 部署。

主要功能

  1. 01基于 Neo4j 管理知识图谱
  2. 02自定义实体提取
  3. 03语义搜索
  4. 04集成 OpenAI 模型
  5. 05支持 Docker 部署

适用场景

  1. 01为 AI Agent 保存和查询图谱信息
  2. 02从文本中提取自定义实体
  3. 03通过语义搜索检索知识

MCP 相关

它通过 MCP 向客户端提供知识图谱相关能力,可使用 SSE、WebSocket 或 stdio 传输。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"graphiti": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"compose"
]
}
}
}
启动命令docker run -i --rm compose

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
ocicompose

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

Graphiti MCP Server 🧠

Python Version License Docker

🌟 一个功能强大的知识图谱服务,使用 Neo4j 构建,并集成了模型上下文协议(MCP),专为 AI Agent 打造。

🚀 功能

  • 🔄 使用 Neo4j 动态管理知识图谱
  • 🤖 与 OpenAI 模型无缝集成
  • 🔌 支持 MCP(模型上下文协议)
  • 🐳 可通过 Docker 部署
  • 🎯 支持自定义实体提取
  • 🔍 提供高级语义搜索功能

🛠️ 安装

前置条件
  • Docker 和 Docker Compose
  • Python 3.10 或更高版本
  • OpenAI API 密钥
  • 至少 4GB RAM(建议 8GB)
  • 2GB 可用磁盘空间
快速开始 🚀
  1. 克隆代码库:
git clone https://github.com/gifflet/graphiti-mcp-server.git
cd graphiti-mcp-server
  1. 设置环境变量:
cp .env.sample .env
  1. 使用你的配置编辑 .env:
# Required for LLM operations
OPENAI_API_KEY=your_openai_api_key_here
MODEL_NAME=gpt-4.1-mini

# Optional: Custom OpenAI endpoint (e.g., for proxies)
# OPENAI_BASE_URL=https://api.openai.com/v1

# Neo4j Configuration (defaults work with Docker)
NEO4J_URI=bolt://neo4j:7687
NEO4J_USER=neo4j
NEO4J_PASSWORD=demodemo
  1. 启动服务:
docker compose up -d
  1. 验证安装:
# Check if services are running
docker compose ps

# Check logs
docker compose logs graphiti-mcp
替代方案:环境变量

你也可以直接通过环境变量运行:

OPENAI_API_KEY=your_key MODEL_NAME=gpt-4.1-mini docker compose up

🔧 配置

服务端口 🌐
服务端口用途
Neo4j Browser7474用于图可视化的 Web 界面
Neo4j Bolt7687数据库连接
Graphiti MCP8000MCP 服务端点
环境变量 🔧
OpenAI 配置
变量必填默认值说明
OPENAI_API_KEY✅-你的 OpenAI API 密钥
OPENAI_BASE_URL❌-自定义 OpenAI API 端点(由 OpenAI SDK 使用)
MODEL_NAME❌gpt-4.1-mini要使用的主要大模型
SMALL_MODEL_NAME❌gpt-4.1-nano用于轻量任务的小型大模型
LLM_TEMPERATURE❌0.0大模型温度(0.0-2.0)
EMBEDDER_MODEL_NAME❌text-embedding-3-small嵌入模型
Neo4j 配置
变量必填默认值说明
NEO4J_URI❌bolt://neo4j:7687Neo4j 连接 URI
NEO4J_USER❌neo4jNeo4j 用户名
NEO4J_PASSWORD❌demodemoNeo4j 密码
服务配置
变量必填默认值说明
MCP_SERVER_HOST❌-MCP 服务主机绑定地址
SEMAPHORE_LIMIT❌10大模型调用的并发操作上限
Azure OpenAI 配置(可选)

对于 Azure OpenAI 部署,请使用以下环境变量,而不是标准 OpenAI 配置:

变量必填默认值说明
AZURE_OPENAI_ENDPOINT✅*-Azure OpenAI 端点 URL
AZURE_OPENAI_API_VERSION✅*-Azure OpenAI API 版本
AZURE_OPENAI_DEPLOYMENT_NAME✅*-Azure OpenAI 部署名称
AZURE_OPENAI_USE_MANAGED_IDENTITY❌false使用 Azure 托管身份进行身份验证
AZURE_OPENAI_EMBEDDING_ENDPOINT❌-用于嵌入的独立端点
AZURE_OPENAI_EMBEDDING_API_VERSION❌-嵌入所用的 API 版本
AZURE_OPENAI_EMBEDDING_DEPLOYMENT_NAME❌-嵌入所用的部署名称
AZURE_OPENAI_EMBEDDING_API_KEY❌-嵌入所用的独立 API 密钥

* 使用 Azure OpenAI 时必填

注意:

  • OPENAI_BASE_URL 由 OpenAI Python SDK 直接使用,适用于代理配置或自定义端点
  • SEMAPHORE_LIMIT 控制大模型 API 调用的并发数;遇到速率限制时请调低,需要更高吞吐量时请调高
  • Azure 配置是标准 OpenAI 配置的替代方案,请勿混用两种配置
Neo4j 设置 🗄️

Neo4j 的默认配置:

  • 用户名:neo4j
  • 密码:demodemo
  • URI:bolt://neo4j:7687(在 Docker 网络内)
  • 针对开发进行了优化的内存设置
Docker 环境变量 🐳

你可以直接通过环境变量运行:

OPENAI_API_KEY=your_key MODEL_NAME=gpt-4.1-mini docker compose up

对于 Azure OpenAI:

AZURE_OPENAI_ENDPOINT=https://your-resource.openai.azure.com \
AZURE_OPENAI_API_VERSION=2024-02-01 \
AZURE_OPENAI_DEPLOYMENT_NAME=your-deployment \
OPENAI_API_KEY=your_key \
docker compose up

🔌 集成

Cursor IDE 集成 🖥️
  1. 配置 Cursor MCP 设置:
{
  "mcpServers": {
    "Graphiti": {
      "command": "uv",
      "args": ["run", "graphiti_mcp_server.py"],
      "env": {
        "OPENAI_API_KEY": "your_key_here"
      }
    }
  }
}
  1. 使用基于 Docker 的设置:
{
  "mcpServers": {
    "Graphiti": {
      "url": "http://localhost:8000/sse"
    }
  }
}
  1. 将 Graphiti 规则添加到 Cursor 的用户规则中(参见 graphiti_cursor_rules.mdc)
  2. 在 Cursor 中启动 Agent 会话
其他 MCP 客户端

此服务支持标准 MCP 传输方式:

  • SSE(服务器发送事件): http://localhost:8000/sse
  • WebSocket: ws://localhost:8000/ws
  • Stdio: 直接进程通信

💻 开发

本地开发设置
  1. 安装依赖项:
# Using uv (recommended)
curl -LsSf https://astral.sh/uv/install.sh | sh
uv sync

# Or using pip
pip install -r requirements.txt
  1. 在本地启动 Neo4j:
docker run -d \
  --name neo4j-dev \
  -p 7474:7474 -p 7687:7687 \
  -e NEO4J_AUTH=neo4j/demodemo \
  neo4j:5.26.0
  1. 运行服务:
# Set environment variables
export OPENAI_API_KEY=your_key
export NEO4J_URI=bolt://localhost:7687

# Run with stdio transport
uv run graphiti_mcp_server.py

# Or with SSE transport
uv run graphiti_mcp_server.py --transport sse --use-custom-entities
测试
# Run basic connectivity test
curl http://localhost:8000/health

# Test MCP endpoint
curl http://localhost:8000/sse

🔍 故障排除

常见问题
🐳 Docker 问题
# Clean up and restart
docker compose down -v
docker compose up --build

# Check disk space
docker system df
日志和调试
# View all logs
docker compose logs -f

# View specific service logs
docker compose logs -f graphiti-mcp
docker compose logs -f neo4j

# Enable debug logging
docker compose up -e LOG_LEVEL=DEBUG
性能问题
  • 内存: 在 docker-compose.yml 中增大 Neo4j 堆大小
  • 存储: 监控 Neo4j 数据卷的使用情况
  • 网络: 检查防火墙是否阻止了端口 7474、7687、8000

🏗️ 架构

┌─────────────────┐    ┌──────────────────┐    ┌─────────────────┐
│   MCP Client    │    │  Graphiti MCP    │    │     Neo4j       │
│   (Cursor)      │◄──►│     Server       │◄──►│   Database      │
│                 │    │   (Port 8000)    │    │  (Port 7687)    │
└─────────────────┘    └──────────────────┘    └─────────────────┘
                                │
                                ▼
                       ┌──────────────────┐
                       │   OpenAI API     │
                       │   (LLM Client)   │
                       └──────────────────┘
组件
  • Neo4j 数据库: 图存储和查询
  • Graphiti MCP 服务: API 层和大模型操作
  • OpenAI 集成: 实体提取和语义处理
  • MCP 协议: 标准化的 AI Agent 通信

🤝 贡献

欢迎贡献!请随时提交 Pull Request。

📝 许可证

本项目采用 MIT 许可证授权,详情请参阅 LICENSE 文件。

🙏 致谢

  • 感谢 Neo4j 团队提供出色的图数据库
  • 感谢 OpenAI 提供强大的大模型
  • 感谢 MCP 社区 制定协议规范
  • 感谢 Graphiti Core 提供知识图谱框架

需要帮助? 请提交 issue,或查看上面的故障排除指南。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。