使用说明
Graphiti MCP服务器
Graphiti是一个用于构建和查询时间感知知识图的框架,专为AI代理量身定制 在动态环境中运行。与传统的检索增强生成(RAG)方法不同,Graphiti 持续地将用户交互、结构化和非结构化企业数据以及外部信息集成到 连贯、可查询的图。该框架支持增量数据更新、高效检索和精确的历史记录 无需完全重新计算图的查询,使其适用于开发交互式、上下文感知的人工智能 应用。
这是Graphiti的实验性模型上下文协议(MCP)服务器实现。MCP服务器公开 Graphiti通过MCP协议实现的关键功能,允许AI助手与Graphiti的知识进行交互 图形功能。
特性
Graphiti MCP服务器公开了Graphiti的以下关键高级功能:
- 事件管理:添加、检索和删除剧集(文本、消息或JSON数据)
- 实体管理:搜索和管理知识图中的实体节点和关系
- 搜索功能:使用语义和混合搜索搜索事实(边)和节点摘要
- 组管理:使用group_id过滤组织和管理相关数据组
- 图形维护:清除图形并重建索引
Claude Desktop、Cursor和其他客户端的快速入门
- 克隆Graphiti GitHub仓库
git clone https://github.com/getzep/graphiti.git
或
gh repo clone getzep/graphiti
记下此目录的完整路径。
cd graphiti && pwd
-
安装 Graphiti先决条件.
-
配置Claude、Cursor或其他MCP客户端以使用 带a的图形
stdio运输。请参阅客户文档,了解在哪里可以找到他们的MCP配置文件。
安装
先决条件
- 请确保您已安装Python 3.10或更高版本。
- 正在运行的Neo4j数据库(需要5.26或更高版本)
- 用于LLM操作的OpenAI API密钥
设置
- 克隆存储库并导航到mcp_server目录
- 使用
uv创建虚拟环境并安装依赖项:
# Install uv if you don't have it already
curl -LsSf https://astral.sh/uv/install.sh | sh
# Create a virtual environment and install dependencies in one step
uv sync
配置
服务器使用以下环境变量:
NEO4J_URI:Neo4j数据库的URI(默认值:bolt://localhost:7687)NEO4J_USER:Neo4j用户名(默认值:neo4j)NEO4J_PASSWORD:Neo4j密码(默认值:demodemo)OPENAI_API_KEY:OpenAI API密钥(LLM操作所需)OPENAI_BASE_URL:OpenAI API的可选基本URLMODEL_NAME:用于LLM操作的OpenAI模型名称。SMALL_MODEL_NAME:用于较小LLM操作的OpenAI模型名称。LLM_TEMPERATURE:LLM响应的温度(0.0-2.0)。AZURE_OPENAI_ENDPOINT:可选的Azure OpenAI端点URLAZURE_OPENAI_DEPLOYMENT_NAME:可选的Azure OpenAI部署名称AZURE_OPENAI_API_VERSION:可选Azure OpenAI API版本AZURE_OPENAI_EMBEDDING_DEPLOYMENT_NAME:可选的Azure OpenAI嵌入部署名称AZURE_OPENAI_EMBEDDING_API_VERSION:可选Azure OpenAI API版本AZURE_OPENAI_USE_MANAGED_IDENTITY:可选使用Azure托管身份进行身份验证
您可以在 .env 项目目录中的文件。
运行服务器
直接使用以下命令运行Graphiti MCP服务器 uv:
uv run graphiti_mcp_server.py
有选项:
uv run graphiti_mcp_server.py --model gpt-4.1-mini --transport sse
可用参数:
--model:覆盖MODEL_NAME环境变量。--small-model:覆盖SMALL_MODEL_NAME环境变量。--temperature:覆盖LLM_TEMPERATURE环境变量。--transport:选择传输方式(sse或stdio,默认:sse)--group-id:为图形设置命名空间(可选)。如果未提供,则默认为“默认”。--destroy-graph:如果设置,则在启动时销毁所有Graphiti图形。--use-custom-entities:使用预定义的entity_TYPES启用实体提取
Docker部署
Graphiti MCP服务器可以使用Docker进行部署。Dockerfile使用 uv 对于包管理,确保
一致的依赖安装。
环境配置
在运行Docker Compose安装程序之前,您需要配置环境变量。您有两个选择:
-
使用.env文件 (推荐):
- 复制提供的
.env.example创建文件.env文件:cp .env.example .env - 编辑
.env文件来设置您的OpenAI API密钥和其他配置选项:# Required for LLM operations OPENAI_API_KEY=your_openai_api_key_here MODEL_NAME=gpt-4.1-mini # Optional: OPENAI_BASE_URL only needed for non-standard OpenAI endpoints # OPENAI_BASE_URL=https://api.openai.com/v1 - Docker Compose安装程序配置为使用此文件(如果存在)(可选)
- 复制提供的
-
直接使用环境变量:
- 您还可以在运行Docker Compose命令时设置环境变量:
OPENAI_API_KEY=your_key MODEL_NAME=gpt-4.1-mini docker compose up
- 您还可以在运行Docker Compose命令时设置环境变量:
Neo4j配置
Docker Compose设置包括一个Neo4j容器,其默认配置如下:
- 用户名:
neo4j - 密码:
demodemo - URI:
bolt://neo4j:7687(来自Docker网络) - 针对开发用途优化的内存设置
使用Docker Compose运行
使用Docker Compose启动服务:
docker compose up
或者,如果您使用的是较旧版本的Docker Compose:
docker-compose up
这将启动Neo4j数据库和Graphiti MCP服务器。Docker设置:
- 用途
uv用于包管理和运行服务器 - 从安装依赖项
pyproject.toml文件 - 使用环境变量连接到Neo4j容器
- 暴露端口8000上的服务器,用于基于HTTP的SSE传输
- 在启动MCP服务器之前,包括对Neo4j的健康检查,以确保其完全正常运行
与MCP客户端集成
配置
要将Graphiti MCP服务器与MCP兼容客户端一起使用,请将其配置为连接到服务器:
[!重要] 你需要Python包管理器,
uv安装。请参阅uv安装说明.确保已将完整路径设置为
uv二进制文件和Graphiti项目文件夹。
{
"mcpServers": {
"graphiti-memory": {
"transport": "stdio",
"command": "/Users/<user>/.local/bin/uv",
"args": [
"run",
"--isolated",
"--directory",
"/Users/<user>>/dev/zep/graphiti/mcp_server",
"--project",
".",
"graphiti_mcp_server.py",
"--transport",
"stdio"
],
"env": {
"NEO4J_URI": "bolt://localhost:7687",
"NEO4J_USER": "neo4j",
"NEO4J_PASSWORD": "password",
"OPENAI_API_KEY": "sk-XXXXXXXX",
"MODEL_NAME": "gpt-4.1-mini"
}
}
}
}
对于SSE传输(基于HTTP),您可以使用以下配置:
{
"mcpServers": {
"graphiti-memory": {
"transport": "sse",
"url": "http://localhost:8000/sse"
}
}
}
可用工具
Graphiti MCP服务器公开了以下工具:
add_episode:在知识图中添加一集(支持文本、JSON和消息格式)search_nodes:在知识图中搜索相关节点摘要search_facts:在知识图中搜索相关事实(实体之间的边)delete_entity_edge:从知识图中删除实体边delete_episode:从知识图中删除一集get_entity_edge:通过UUID获取实体边get_episodes:获取特定组的最新剧集clear_graph:清除知识图中的所有数据并重建索引get_status:获取Graphiti MCP服务器和Neo4j连接的状态
使用JSON数据
Graphiti MCP服务器可以通过 add_episode 工具与 source="json".这个
允许您从结构化数据中自动提取实体和关系:
add_episode(
name="Customer Profile",
episode_body="{\"company\": {\"name\": \"Acme Technologies\"}, \"products\": [{\"id\": \"P001\", \"name\": \"CloudSync\"}, {\"id\": \"P002\", \"name\": \"DataMiner\"}]}",
source="json",
source_description="CRM data"
)
与Cursor IDE集成
要将Graphiti MCP服务器与Cursor IDE集成,请执行以下步骤:
- 使用SSE传输运行Graphiti MCP服务器:
python graphiti_mcp_server.py --transport sse --use-custom-entities --group-id <your_group_id>
提示:指定 group_id 到名称空间图数据。如果不指定 group_id,服务器将使用“默认”作为group_id。
或
docker compose up
- 配置Cursor以连接到Graphiti MCP服务器。
{
"mcpServers": {
"graphiti-memory": {
"url": "http://localhost:8000/sse"
}
}
}
-
将Graphici规则添加到Cursor的用户规则中。看 cursor_rules.md 了解详情。
-
在Cursor中启动代理会话。
该集成使Cursor中的AI助手能够通过Graphiti的知识图来维护持久内存 能力。
与Claude Desktop(Docker MCP服务器)集成
Graphiti MCP服务器容器使用SSE MCP传输。Claude Desktop本身不支持SSE,因此您需要使用类似的网关 mcp-remote.
-
使用SSE传输运行Graphiti MCP服务器:
docker compose up -
(可选)安装
mcp-remote全球范围内: 如果你喜欢mcp-remote全局安装,或者如果您遇到以下问题npx获取包后,您可以全局安装它。否则,npx(在下一步中使用)将为您处理。npm install -g mcp-remote -
配置Claude桌面: 打开Claude Desktop配置文件(通常
claude_desktop_config.json)并添加或修改mcpServers章节如下:{ "mcpServers": { "graphiti-memory": { // You can choose a different name if you prefer "command": "npx", // Or the full path to mcp-remote if npx is not in your PATH "args": [ "mcp-remote", "http://localhost:8000/sse" // Ensure this matches your Graphiti server's SSE endpoint ] } } }如果你已经有了
mcpServers条目,添加graphiti-memory(或您选择的名称)作为其中的新密钥。 -
重新启动克劳德桌面 以使更改生效。
需求
- Python 3.10或更高版本
- Neo4j数据库(需要5.26或更高版本)
- OpenAI API密钥(用于LLM操作和嵌入)
- MCP兼容客户端
许可证
此项目的许可证与父Graphiti项目相同。
