使用说明
石墨烯MCP服务器
Graphiti是一个用于构建和查询时间感知知识图谱的框架,特别针对人工智能代理进行了定制 在动态环境中运行。不同于传统的检索增强生成(RAG)方法,Graphiti 持续地将用户交互、结构化和非结构化的企业数据以及外部信息整合到一个 连贯、可查询的图。该框架支持增量数据更新、高效检索以及精确的历史数据查询 无需完全重新计算图结构即可进行查询,这使得它适用于开发交互式、情境感知的AI 应用程序。
这是一个针对Graphiti的实验性模型上下文协议(MCP)服务器实现。MCP服务器提供了(或暴露了) 通过MCP协议,Graphiti的关键功能使得AI助手能够与Graphiti的知识库进行交互 图形功能。
特点/功能
Graphiti MCP服务器提供了Graphiti以下关键的高级功能:
- 剧集管理添加、检索和删除剧集(文本、消息或JSON数据)
- 实体管理在知识图谱中搜索和管理实体节点及关系
- 搜索功能使用语义搜索和混合搜索查找事实(边)和节点摘要
- 集团管理使用group_id进行过滤,组织和管理相关数据组
- 图维护清除图表并重建索引
- 灵活的Ollama配置通过CLI参数和环境变量完全可配置的LLM(大型语言模型)和嵌入模型
快速入门
🚀 从 PyPI 安装(推荐)
最快的入门方式是使用 uvx 从PyPI安装并运行:
# Install and run with default settings
uvx montesmakes.graphiti-memory
# Run with custom configuration
uvx montesmakes.graphiti-memory --transport stdio --group-id my-project
📖 书籍 有关uvx的详细使用方法和配置选项,请参阅 UVXUSAGE.md(文件名,可译为“UVX使用说明.md”或保持原样,根据上下文决定是否需要翻译文件名)
🛠️ 开发安装
用于开发或直接从源代码运行:
git clone https://github.com/mandelbro/graphiti-memory.git
cd graphiti/mcp_server
或者使用 GitHub CLI:
gh repo clone mandelbro/graphiti-memory
cd graphiti/mcp_server
对于Claude Desktop及其他(产品/服务) stdio 仅限客户
- 记下此目录的完整路径。
cd graphiti && pwd
-
安装 Graphiti的先决条件。
-
配置Claude、Cursor或其他MCP客户端以使用 涂有石墨的(物体)
stdio运输请参阅客户端文档,了解如何找到其MCP配置文件。
对于Cursor和其他(软件/工具) sse-启用的客户端
- 切换目录到
mcp_server目录
cd graphiti/mcp_server
- 使用 Docker Compose 启动服务
docker compose up
- 将您的MCP客户端指向
http://localhost:8020/sse
安装
快速入门uvx(推荐)
最快的入门方法是使用 uvx 直接运行服务器:
# Install and run with default settings
uvx montesmakes.graphiti-memory
# Run with custom configuration
uvx montesmakes.graphiti-memory --transport stdio --group-id my-project
# For detailed uvx usage, see UVXUSAGE.md
先决条件
- 确保已安装 Python 3.10 或更高版本。
- 一个正在运行的Neo4j数据库(需要5.26版本或更高版本)
- Ollama(注:Ollama是一个开源的机器学习框架,用于训练和部署机器学习模型,但直接翻译该名称并无固定对应中文,此处保留原英文名称) 已安装并运行(默认)或用于大型语言模型(LLM)操作的OpenAI API密钥
Ollama 设置(默认)
服务器现在默认使用Ollama进行大型语言模型(LLM)操作和嵌入处理。要设置Ollama:
- 安装Ollama参观 https://ollama.ai(可译为:“奥拉玛人工智能网站”或保持原样作为网址引用) 安装说明
- 启动Ollama跑
ollama serve启动Ollama服务器 - 拉取所需模型:
ollama pull deepseek-r1:7b # LLM model ollama pull nomic-embed-text # Embedding model
服务器将自动连接到Ollama http://localhost:11434/v1 并默认使用这些模型。
OpenAI 设置(备选方案)
如果你更倾向于使用OpenAI而不是Ollama:
- 设置环境变量:
USE_OLLAMA=false - 配置您的OpenAI API密钥:
OPENAI_API_KEY=your_api_key_here - 可选地,使用(工具/方法)自定义模型
MODEL_NAME并且SMALL_MODEL_NAME环境变量
Docker 设置
该项目包含Docker Compose配置,便于轻松部署。使用Docker配置Ollama有多种方法:
选项1:使用主机Ollama(推荐)
如果你的主机上正在运行Ollama:
-
在您的主机上启动Ollama:
ollama serve -
拉取所需模型:
ollama pull deepseek-r1:7b ollama pull nomic-embed-text -
启动服务:
docker compose up
服务器将使用(相应方法)连接到您的主机Ollama实例 host.docker.internal:11434。
注Graphiti核心库需要一个 OPENAI_API_KEY 即使在使用Ollama(用于重排序组件)时,也必须设置环境变量。Docker配置中包含一个虚拟的API密钥(abc为此目的。
选项2:使用容器化的Ollama
如果您更倾向于在容器中运行 Ollama:
-
取消注释Ollama服务 在
docker-compose.yml:ollama: image: ollama/ollama:latest ports: - "11434:11434" volumes: - ollama_data:/root/.ollama -
更新 OLLAMA_BASE_URL 在环境部分:
environment: - OLLAMA_BASE_URL=http://ollama:11434/v1 -
取消音量的注释(或:取消音量的注释语句):
volumes: ollama_data: -
启动服务:
docker compose up -
容器中的拉模型:
docker compose exec ollama ollama pull deepseek-r1:7b docker compose exec ollama ollama pull nomic-embed-text
选项3:使用Docker运行OpenAI
在Docker中使用OpenAI而不是Ollama:
-
创建一个
.env文件 使用您的OpenAI配置:USE_OLLAMA=false OPENAI_API_KEY=your_openai_api_key_here MODEL_NAME=gpt-4o-mini -
更新 docker-compose.yml 文件 使用
.env文件:env_file: - .env -
启动服务:
docker compose up
本地开发环境设置
-
克隆仓库:
git clone <repository-url> cd mcp_server -
安装依赖项:
uv sync -
设置环境变量 (可选):
cp .env.example .env # Edit .env with your configuration -
启动Neo4j (如果使用 Docker):
docker compose up neo4j -d -
运行服务器:
uv run src/graphiti_mcp_server.py --transport sse
配置
服务器支持多种配置方法,优先级如下(从高到低):
- 命令行界面(CLI)参数 (最高优先级)
- 环境变量
- YAML 配置文件
- 默认值 (最低优先级)
配置方法
YAML 配置文件(推荐)
对于复杂的配置,您可以使用YAML文件在 config/ 目录:
# config/providers/ollama.yml
llm:
model: "deepseek-r1:7b"
base_url: "http://localhost:11434/v1"
temperature: 0.1
max_tokens: 8192
model_parameters:
num_ctx: 4096 # Context window size
num_predict: -1 # Number of tokens to predict
repeat_penalty: 1.1 # Penalty for repeating tokens
top_k: 40 # Limit token selection to top K
top_p: 0.9 # Cumulative probability cutoff
查看 config/README.md(可译为:“配置/README.md文件”或保持原样,因为文件名通常不翻译,但在这里为了说明其含义,可以这样理解) 关于YAML配置的详细信息。
环境变量
服务器使用以下环境变量:
NEO4J_URINeo4j 数据库的 URI(默认:bolt://localhost:7687)NEO4J_USERNeo4j 用户名(默认:neo4j)NEO4J_PASSWORDNeo4j 密码(默认:demodemo)
大型语言模型(LLM)配置
服务器现在默认使用 Ollama(注:这是一个专有名词或特定项目名,直接翻译为中文可能无具体含义,故保留原样) 用于大型语言模型(LLM)操作和嵌入。您可以使用以下环境变量对其进行配置:
Ollama 配置(默认)
USE_OLLAMA使用Ollama作为大型语言模型(LLM)和嵌入模型(默认:true)OLLAMA_BASE_URLOllama 基础 URL(默认:http://localhost:11434/v1)OLLAMA_LLM_MODELOllama LLM模型名称(默认:deepseek-r1:7b)OLLAMA_EMBEDDING_MODELOllama 嵌入模型名称(默认:nomic-embed-text)OLLAMA_EMBEDDING_DIMOllama 嵌入维度(默认:768)LLM_MAX_TOKENSLLM响应的最大标记数(默认:8192)
Ollama模型参数: 现在,您可以配置Ollama特定的模型参数,例如 num_ctx, top_p, repeat_penalty等,使用YAML配置文件。这提供了对模型行为的细粒度控制,这是仅通过环境变量无法实现的。
OpenAI 配置(替代方案)
要使用OpenAI而不是Ollama,请设置 USE_OLLAMA=false 并进行配置:
OPENAI_API_KEYOpenAI API密钥(用于大型语言模型操作)OPENAI_BASE_URL可选的OpenAI API基础URLMODEL_NAME用于LLM操作的OpenAI模型名称(默认:gpt-4.1-mini)SMALL_MODEL_NAME用于较小规模语言模型(LLM)操作的OpenAI模型名称(默认:gpt-4.1-nano)LLM_TEMPERATURE大语言模型(LLM)响应的温度参数(0.0-2.0)LLM_MAX_TOKENSLLM响应的最大标记数(默认:8192)
Azure OpenAI 配置(替代方案)
要使用 Azure OpenAI,请设置 USE_OLLAMA=false 并进行配置:
AZURE_OPENAI_ENDPOINTAzure OpenAI 大语言模型(LLM)端点URLAZURE_OPENAI_DEPLOYMENT_NAMEAzure OpenAI LLM 部署名称AZURE_OPENAI_API_VERSIONAzure OpenAI LLM API 版本AZURE_OPENAI_EMBEDDING_API_KEYAzure OpenAI Embedding 部署密钥(如果与OPENAI_API_KEY)AZURE_OPENAI_EMBEDDING_ENDPOINTAzure OpenAI 嵌入服务终端节点URLAZURE_OPENAI_EMBEDDING_DEPLOYMENT_NAMEAzure OpenAI 嵌入部署名称AZURE_OPENAI_EMBEDDING_API_VERSIONAzure OpenAI API 版本AZURE_OPENAI_USE_MANAGED_IDENTITY使用 Azure 管理的标识进行身份验证LLM_MAX_TOKENSLLM响应的最大令牌数(默认:8192)
一般配置
SEMAPHORE_LIMIT剧集处理并发性。参见 并发性与大型语言模型(LLM)提供商的429速率限制错误MCP_SERVER_PORT使用SSE传输时MCP服务器的端口(默认:8020)
你可以在一个(配置文件/环境中)设置这些变量 .env 项目目录中的文件。一个示例配置文件(sample_env.txt提供了所有可用选项及其默认值。
运行服务器
直接使用以下方式运行Graphiti MCP服务器 uv:
uv run src/graphiti_mcp_server.py
带有选项:
uv run src/graphiti_mcp_server.py --model gpt-4.1-mini --transport sse
可用参数:
--model覆盖(或重写)MODEL_NAME环境变量(仅在不使用 Ollama 时)。--small-model覆盖(或重写)SMALL_MODEL_NAME环境变量(仅在不使用 Ollama 时)。--temperature覆盖(或重写)LLM_TEMPERATURE环境变量。--max-tokens覆盖(或重写)LLM_MAX_TOKENS环境变量。--transport选择传输方法(sse 或 stdio,默认:sse)--port用于绑定MCP服务器的端口(默认:8020)--group-id为图表设置一个命名空间(可选)。如果未提供,则默认为“default”。--destroy-graph如果设置此选项,则在启动时销毁所有Graphiti图表。--use-custom-entities使用预定义的ENTITY_TYPES启用实体提取
Ollama 配置参数
--use-ollama使用 Ollama 作为大型语言模型(LLM)和嵌入模型(默认:true)--ollama-base-urlOllama 基础 URL(默认:http://localhost:11434/v1)--ollama-llm-modelOllama LLM 模型名称(默认:deepseek-r1:7b)--ollama-embedding-modelOllama 嵌入模型名称(默认:nomic-embed-text)--ollama-embedding-dimOllama 嵌入维度(默认:768)
Ollama 配置示例
Graphiti MCP服务器为Ollama模型提供了灵活的配置选项。以下是一些常见用例:
基本配置示例
使用默认模型:
# With default .env configuration
uv run src/graphiti_mcp_server.py
# Or explicitly set in .env file:
# USE_OLLAMA=true
# OLLAMA_LLM_MODEL=deepseek-r1:7b
# OLLAMA_EMBEDDING_MODEL=nomic-embed-text
使用不同的大型语言模型(LLM):
uv run src/graphiti_mcp_server.py --ollama-llm-model llama3.2:3b
使用自定义维度的不同嵌入模型:
uv run src/graphiti_mcp_server.py --ollama-embedding-model all-minilm-l6-v2 --ollama-embedding-dim 384
使用自定义的最大令牌数以获取更长的回复:
uv run src/graphiti_mcp_server.py --max-tokens 32768
连接到远程Ollama服务器:
uv run src/graphiti_mcp_server.py --ollama-base-url http://remote-server:11434/v1 --ollama-llm-model llama3.2:8b
环境变量配置
你也可以使用环境变量来配置Ollama模型 .env 文件:
# Create or edit .env file
nano .env
将以下变量添加到您的(程序/代码/系统等)中 .env 文件:
# Ollama Configuration
OLLAMA_LLM_MODEL=mistral:7b
OLLAMA_EMBEDDING_MODEL=all-minilm-l6-v2
OLLAMA_EMBEDDING_DIM=384
LLM_TEMPERATURE=0.1
LLM_MAX_TOKENS=32768
然后运行服务器:
uv run src/graphiti_mcp_server.py
配置优先级
配置系统遵循以下优先级顺序(从高到低):
- 命令行界面(CLI)参数 - 覆盖所有其他设置
- 环境变量 - 提供默认值,这些值可以通过命令行界面(CLI)进行覆盖
- 默认值 - 所有设置的内置默认值
可用的Ollama模型
常见的大型语言模型(LLM):
deepseek-r1:7b(默认)- 性能与质量的良好平衡llama3.2:3b- 用于开发的快速、小型模型llama3.2:8b- 更高质量,更大模型mistral:7b- 在多项任务中表现出色codellama:7b- 专门用于代码生成phi3:3.8b- 微软的高效模型
常见的嵌入模型:
nomic-embed-text(默认) - 高质量嵌入nomic-embed-text-v2- 默认版本的改进版all-minilm-l6-v2- 快速、高效的嵌入all-MiniLM-L6-v2- 同一型号的另一种拼写方式text-embedding-ada-002- 兼容OpenAI的嵌入表示
性能考量
- 较小的模型 (3B参数)速度更快,但质量可能较低
- 更大的型号 (7B+参数)提供更高质量,但需要更多资源
- 嵌入维度 影响性能和存储需求
- 远程Ollama服务器 可用于分布式部署
并发与大型语言模型(LLM)提供商的429速率限制错误
Graphiti的摄入管道设计为高并发,由(某个系统或组件)控制 SEMAPHORE_LIMIT 环境变量。
默认情况下, SEMAPHORE_LIMIT 被设定为 10 并发操作以帮助防止 429 来自您大型语言模型(LLM)提供商的速率限制错误。如果您遇到此类错误,请尝试降低此值。
如果你的大语言模型(LLM)提供商允许更高的吞吐量,你可以增加 SEMAPHORE_LIMIT 以提高剧集数据摄入性能。
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 运行
Graphiti MCP 容器可从以下位置获取: zepai/knowledge-graph-mcp以下 Compose 配置使用的是此容器的最新构建版本。
使用 Docker Compose 启动服务:
docker compose up
或者,如果你使用的是较旧版本的 Docker Compose:
docker-compose up
这将启动Neo4j数据库和Graphiti MCP服务器。Docker设置如下:
- 用途
uv用于包管理和运行服务器 - 从(指定位置)安装依赖项
pyproject.toml文件 - 使用环境变量连接到 Neo4j 容器
- 在端口8020上暴露服务器以支持基于HTTP的SSE传输
- 包含对Neo4j的健康检查,以确保在启动MCP服务器之前它已完全正常运行
与MCP客户端集成
配置
要使用与MCP兼容的客户端连接到Graphiti MCP服务器,请将其配置为连接到该服务器:
[!重要] 你需要使用Python包管理器,
uv已安装。请参阅uv安装说明。确保您设置了完整的路径到
uv二进制文件和你的Graphiti项目文件夹。
使用Ollama(默认)
Ollama的基本配置:
{
"mcpServers": {
"graphiti-memory": {
"transport": "stdio",
"command": "/Users/<user>/.local/bin/uv",
"args": [
"run",
"--isolated",
"--directory",
"/Users/<user>/dev/graphiti-memory",
"--project",
".",
"src/graphiti_mcp_server.py",
"--transport",
"stdio"
],
"env": {
"NEO4J_URI": "bolt://localhost:7687",
"NEO4J_USER": "neo4j",
"NEO4J_PASSWORD": "password"
}
}
}
}
通过CLI参数自定义Ollama模型:
{
"mcpServers": {
"graphiti-memory": {
"transport": "stdio",
"command": "/Users/<user>/.local/bin/uv",
"args": [
"run",
"--isolated",
"--directory",
"/Users/<user>/dev/graphiti-memory",
"--project",
".",
"src/graphiti_mcp_server.py",
"--transport",
"stdio",
"--ollama-llm-model",
"llama3.2:3b",
"--ollama-embedding-model",
"all-minilm-l6-v2",
"--ollama-embedding-dim",
"384"
],
"env": {
"NEO4J_URI": "bolt://localhost:7687",
"NEO4J_USER": "neo4j",
"NEO4J_PASSWORD": "password"
}
}
}
}
通过环境变量自定义Ollama模型:
{
"mcpServers": {
"graphiti-memory": {
"transport": "stdio",
"command": "/Users/<user>/.local/bin/uv",
"args": [
"run",
"--isolated",
"--directory",
"/Users/<user>/dev/graphiti-memory",
"--project",
".",
"src/graphiti_mcp_server.py",
"--transport",
"stdio"
],
"env": {
"NEO4J_URI": "bolt://localhost:7687",
"NEO4J_USER": "neo4j",
"NEO4J_PASSWORD": "password",
"OLLAMA_LLM_MODEL": "mistral:7b",
"OLLAMA_EMBEDDING_MODEL": "nomic-embed-text-v2",
"OLLAMA_EMBEDDING_DIM": "768",
"LLM_TEMPERATURE": "0.1",
"LLM_MAX_TOKENS": "32768"
}
}
}
}
使用OpenAI(备选方案)
{
"mcpServers": {
"graphiti-memory": {
"transport": "stdio",
"command": "/Users/<user>/.local/bin/uv",
"args": [
"run",
"--isolated",
"--directory",
"/Users/<user>/dev/graphiti-memory",
"--project",
".",
"src/graphiti_mcp_server.py",
"--transport",
"stdio"
],
"env": {
"NEO4J_URI": "bolt://localhost:7687",
"NEO4J_USER": "neo4j",
"NEO4J_PASSWORD": "password",
"USE_OLLAMA": "false",
"OPENAI_API_KEY": "sk-XXXXXXXX",
"MODEL_NAME": "gpt-4.1-mini"
}
}
}
}
对于SSE传输(基于HTTP),您可以使用以下配置:
{
"mcpServers": {
"graphiti-memory": {
"transport": "sse",
"url": "http://localhost:8020/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服务器可以通过(某种方式,原文中未明确说明具体方式,但通常可理解为“接口”或“方法”)处理结构化的JSON数据 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 src/graphiti_mcp_server.py --transport sse --use-custom-entities --group-id <your_group_id>
提示:指定一个 group_id 为图数据指定命名空间。如果您未指定 group_id服务器将使用“default”作为组ID。
或者
docker compose up
- 配置 Cursor 以连接到 Graphiti MCP 服务器。
{
"mcpServers": {
"graphiti-memory": {
"url": "http://localhost:8020/sse"
}
}
}
-
将Graphiti规则添加到Cursor的用户规则中。参见 `cursor_rules.md` 翻译为中文是:“光标规则.md” 详情见下文。
-
在 Cursor 中启动一个代理会话。
通过集成Graphiti的知识图谱,Cursor中的AI助手能够实现持久记忆功能 能力。
与Claude桌面版(Docker MCP服务器)集成
Graphiti MCP Server 容器使用 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桌面配置文件(通常位于
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:8020/sse" // Ensure this matches your Graphiti server's SSE endpoint ] } } }如果你已经有一个
mcpServers条目,添加graphiti-memory(或您选择的名称)作为其中的新键。 -
重启Claude桌面版 以便更改生效。
故障排除
Ollama 配置问题
服务器无法与Ollama一起启动:
- 确保Ollama已安装并正在运行:
ollama serve - 检查所需模型是否已拉取:
ollama list - 验证Ollama服务器是否可访问:
curl http://localhost:11434/v1/models - 检查你的
.env文件包含USE_OLLAMA=true(默认)
模型未找到错误:
- 拉出所需模型:
ollama pull <model-name> - 检查模型名称的拼写(区分大小写)
- 验证模型是否存在于Ollama库中
嵌入维度不匹配:
- 确保
OLLAMA_EMBEDDING_DIM与你的嵌入模型输出维度相匹配 - 常见维度:384(all-minilm-l6-v2),768(nomic-embed-text),1536(nomic-embed-text-v2)
性能问题:
- 尝试使用更小的模型以获得更快的响应时间
- 调整
SEMAPHORE_LIMIT用于并发控制 - 考虑使用远程Ollama服务器来处理分布式工作负载
一般问题
Neo4j连接错误:
- 验证Neo4j是否正在运行且可访问
- 检查连接凭据和URI
- 确保Neo4j版本为5.26或更高版本
MCP客户端连接问题:
- 验证传输方法(stdio 与 sse)是否符合客户端要求
- 检查SSE传输的端口配置
- 确保防火墙允许在配置端口上建立连接
要求
- Python 3.10 或更高版本
- Neo4j 数据库(需版本5.26或更高)
- Ollama(注:这是一个专有名词,通常指一个特定的软件或项目名称,在中文中直接保留原样) 已安装并运行(默认)或OpenAI API密钥(用于LLM操作)
- 与MCP兼容的客户端
遥测
Graphiti MCP服务器使用了Graphiti核心库,该库包含匿名遥测数据收集功能。在初始化Graphiti MCP服务器时,会收集匿名使用统计数据,以帮助改进该框架。
收集的内容
- 匿名标识符和系统信息(操作系统、Python版本)
- Graphiti版本及配置选项(LLM提供商、数据库后端、嵌入器类型)
- 从未收集过任何个人数据、API密钥或实际的图表内容
如何禁用
要在MCP服务器中禁用遥测功能,请设置环境变量:
export GRAPHITI_TELEMETRY_ENABLED=false
或者将其添加到您的 .env 文件:
GRAPHITI_TELEMETRY_ENABLED=false
关于收集了哪些信息以及收集原因的完整详情,请参阅 主Graphiti README文件中的遥测部分.
📦 分发与出版
这个项目通过GitHub Actions和可信发布功能自动发布到PyPI:
- **PyPI(Python Package Index)**https://pypi.org/project/montesmakes.graphiti-memory/ 翻译为中文是:https://pypi.org/项目/montesmakes.graphiti-memory/(注:实际网址翻译中,网址本身通常不直接翻译,但为了符合中文表达习惯,这里保留了网址的结构说明,实际使用时直接使用原网址即可)
- 安装:
uvx montesmakes.graphiti-memory或者uv tool install montesmakes.graphiti-memory
对于维护者
- 发布流程使用
scripts/prepare-release.sh准备新版本发布 - 发布设置见 docs/PYPI_SETUP.md 翻译为中文是:docs/PYPI设置指南.md(或根据具体语境,也可译为“docs/PYPI配置说明.md”) 用于完整的PyPI配置
- 手动测试使用“手动包测试”GitHub Action 工作流
当在GitHub上创建新的发布版本时,会自动将其发布到PyPI。向(相关仓库)推送时,会自动进行TestPyPI的部署 main 分支。
🤝 贡献
欢迎投稿!详情请见 `CONTRIBUTING.md` 翻译成中文是“贡献指南.md”或“贡献规范.md”。这个文件通常用于说明如何向某个项目或组织做出贡献,包括贡献的流程、规范、要求等信息 作为指南。
开发环境设置
-
克隆仓库:
git clone https://github.com/mandelbro/graphiti-memory.git cd graphiti/mcp_server -
安装依赖项:
uv sync --extra dev -
运行测试:
uv run pytest -
格式化和代码检查:
uv run ruff format uv run ruff check
许可证
此项目采用与父级Graphiti项目相同的许可协议。
