Graphiti MCP服务器🧠
](https://www.python.org/downloads/release/python-3100/)  ](https://www.docker.com/)
🌟 一个强大的AI代理知识图服务器,使用Neo4j构建,并与模型上下文协议(MCP)集成。
🚀 特性
- 🔄 基于Neo4j的动态知识图管理
- 🤖 与OpenAI模型无缝集成
- 🔌 MCP(模型上下文协议)支持
- 🐳 Docker就绪部署
- 🎯 自定义实体提取功能
- 🔍 高级语义搜索功能
🛠️ 安装
先决条件
- Docker和Docker Compose
- Python 3.10或更高版本
- OpenAI API密钥
- 最低4GB RAM(建议8GB)
- 2GB可用磁盘空间
快速开始🚀
- 克隆存储库:
git clone https://github.com/gifflet/graphiti-mcp-server.git
cd graphiti-mcp-server- 设置环境变量:
cp .env.sample .env- 编辑
.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- 启动服务:
docker compose up -d- 验证安装:
# 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浏览器 | 74744 | 图形可视化Web界面 |
| Neo4j螺栓 | 7687 | 数据库连接 |
| Graphiti MCP | 8000 | MCP服务器端点 |
环境变量🔧
OpenAI配置
| 变量 | 必填 | 默认 | 描述 |
|---|---|---|---|
OPENAI_API_KEY | ✅ | - | 您的OpenAI API密钥 |
OPENAI_BASE_URL | ❌ | - | 自定义OpenAI API端点(由OpenAI SDK使用) |
MODEL_NAME | ❌ | gpt-4.1-mini | 要使用的主要LLM模型 |
SMALL_MODEL_NAME | ❌ | gpt-4.1-nano | 用于较轻任务的小型LLM模型 |
LLM_TEMPERATURE | ❌ | 0.0 | LLM温度(0.0-2.0) |
EMBEDDER_MODEL_NAME | ❌ | text-embedding-3-small | 嵌入模型 |
Neo4j配置
| 变量 | 必填 | 默认 | 描述 |
|---|---|---|---|
NEO4J_URI | ❌ | bolt://neo4j:7687 | Neo4j连接URI |
NEO4J_USER | ❌ | neo4j | Neo4j用户名 |
NEO4J_PASSWORD | ❌ | demodemo | Neo4j密码 |
服务器配置
| 变量 | 必填 | 默认 | 描述 |
|---|---|---|---|
MCP_SERVER_HOST | ❌ | - | MCP服务器主机绑定 |
SEMAPHORE_LIMIT | ❌ | 10 | LLM调用的并发操作限制 |
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控制并发LLM 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🔌 整合
游标IDE集成🖥️
- 配置光标MCP设置:
{
"mcpServers": {
"Graphiti": {
"command": "uv",
"args": ["run", "graphiti_mcp_server.py"],
"env": {
"OPENAI_API_KEY": "your_key_here"
}
}
}
}- 对于基于Docker的设置:
{
"mcpServers": {
"Graphiti": {
"url": "http://localhost:8000/sse"
}
}
}- 将Graphici规则添加到Cursor的用户规则中 (参见
graphiti_cursor_rules.mdc) - 在Cursor中启动代理会话
其他MCP客户端
服务器支持标准MCP传输:
- SSE(服务器发送事件):
http://localhost:8000/sse - Websocket:
ws://localhost:8000/ws - 音乐节目 : 直接过程沟通
💻 发展
地方发展设置
- 安装依赖项:
# Using uv (recommended)
curl -LsSf https://astral.sh/uv/install.sh | sh
uv sync
# Or using pip
pip install -r requirements.txt- 在本地启动Neo4j:
docker run -d \
--name neo4j-dev \
-p 7474:7474 -p 7687:7687 \
-e NEO4J_AUTH=neo4j/demodemo \
neo4j:5.26.0- 运行服务器:
# 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性能问题
- 内存: 增加Neo4j堆大小
docker-compose.yml - 储存: 监控Neo4j数据量使用情况
- 网络: 检查防火墙阻止端口7474、7687、8000
🏗️ 建筑
┌─────────────────┐ ┌──────────────────┐ ┌─────────────────┐
│ MCP Client │ │ Graphiti MCP │ │ Neo4j │
│ (Cursor) │◄──►│ Server │◄──►│ Database │
│ │ │ (Port 8000) │ │ (Port 7687) │
└─────────────────┘ └──────────────────┘ └─────────────────┘
│
▼
┌──────────────────┐
│ OpenAI API │
│ (LLM Client) │
└──────────────────┘组件
- Neo4j数据库: 图形存储和查询
- Graphiti MCP服务器: API层和LLM操作
- OpenAI集成: 实体提取和语义处理
- MCP协议: 标准化的AI代理通信
🤝 贡献
欢迎投稿!请随时提交拉取请求。
📝 许可证
此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。
🙏 致谢
- Neo4j 令人惊叹的图形数据库团队
- 开放人工智能 因为他们强大的LLM模型
- MCP社区 对于协议规范
- Graphiti核心 知识图谱框架
______________________________________________________________________
需要帮助? 打开问题或查看我们的 故障排除指南 上面。

