news 2026/9/12 12:21:25

如何将 Graphiti MCP 服务器以 stdio 方式接入 Claude Desktop?

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
如何将 Graphiti MCP 服务器以 stdio 方式接入 Claude Desktop?

如何将 Graphiti MCP 服务器以 stdio 方式接入 Claude Desktop?

【免费下载链接】graphitiBuild Real-Time Knowledge Graphs for AI Agents项目地址: https://gitcode.com/GitHub_Trending/grap/graphiti

Claude Desktop 只支持 stdio 传输,而 Graphiti MCP 服务器默认使用 HTTP 传输(http://localhost:8000/mcp/),无法直接填一个 URL 连进去。本文的目标是把仓库mcp_server/目录下的 Graphiti MCP 服务器作为本地进程启动,通过uv run main.py --transport stdio的方式接入 Claude Desktop,使其能够调用 Graphiti 的知识图谱工具(add_memorysearch_nodesget_status等)。适用前提:机器上已安装 Python 3.10+(独立运行 MCP 服务器时需要)、uv,有一个可用的 LLM API Key(如 OpenAI),以及一个图数据库(默认 FalkorDB,或 Neo4j 5.26 及以上)。

准备环境

按 mcp_server/README.md 的 Quick Start 与 Setup 小节,stdio 客户端需要三步准备:

  1. 克隆仓库并记下mcp_server所在目录的完整路径:
git clone https://github.com/getzep/graphiti.git cd graphiti && pwd
  1. 安装uv(如未安装)并在mcp_server目录创建虚拟环境、安装依赖:
# 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 # Optional: Install additional LLM providers (anthropic, gemini, groq, voyage, sentence-transformers) uv sync --extra providers

uv sync需要在graphiti/mcp_server目录下执行。如果之后还要用 Anthropic、Gemini 等 LLM 或 Voyage 等嵌入服务,再执行带--extra providers的安装。

  1. 准备好 API Key 和图数据库:
  • LLM:默认配置使用 OpenAI(模型gpt-5.5),需要准备OPENAI_API_KEY;也可以换用anthropicgeminigroqazure_openai等 provider。
  • 数据库:README 中 CLI 参数说明--database-provider的默认值是falkordb(连接redis://localhost:6379)。要改用本地已有的 Neo4j,则按 README「Direct Execution with Existing Neo4j」一节准备 Neo4j 并设置NEO4J_URINEO4J_USERNEO4J_PASSWORD环境变量。

配置 Claude Desktop 的 stdio 接入

仓库提供了现成的 stdio 接入配置示例 mcp_server/config/mcp_config_stdio_example.json,核心内容如下:

{ "mcpServers": { "graphiti": { "transport": "stdio", "command": "uv", "args": [ "run", "/ABSOLUTE/PATH/TO/main.py", "--transport", "stdio" ], "env": { "NEO4J_URI": "bolt://localhost:7687", "NEO4J_USER": "neo4j", "NEO4J_PASSWORD": "demodemo", "OPENAI_API_KEY": "${OPENAI_API_KEY}", "MODEL_NAME": "gpt-5.5" } } } }

按 README「For Claude Desktop and otherstdioonly clients」与「Integrating with MCP Clients」两节的说明,把它写进 Claude Desktop 的配置文件(README 称该文件通常为claude_desktop_config.json;若已有mcpServers条目,把graphiti作为新 key 加进去)。两处占位符需要替换为你机器上的真实值:

  • /ABSOLUTE/PATH/TO/main.py:替换为仓库中mcp_server/main.py的绝对路径,即上面pwd得到的graphiti目录下再进入mcp_server/main.py。README 特别强调:「Ensure that you set the full path to theuvbinary and your Graphiti project folder」,所以command建议写成uv的完整路径(README 示例为/Users/<user>/.local/bin/uv,请替换成你机器上uv的实际路径,例如用which uv查询)。
  • ${OPENAI_API_KEY}:替换为你的 OpenAI API Key 字面值。

env中的NEO4J_URINEO4J_USERNEO4J_PASSWORD是官方示例给出的 Neo4j 连接值(bolt://localhost:7687neo4jdemodemo为示例默认值),如果你的 Neo4j 密码不同,请一并修改;MODEL_NAME: "gpt-5.5"对应默认配置 mcp_server/config/config.yaml 中的llm.model,可换成你的模型名。

两点边界说明:

  • 上述 env 指向 Neo4j,而服务器默认 provider 是 FalkorDB。如果你的后端确实是 Neo4j,参照 README 的直接执行方式,在args中追加--database-providerneo4j(该参数在 README「Available Command-Line Arguments」中有列出,默认值为falkordb);如果就用默认 FalkorDB,则保证本地redis://localhost:6379可达即可。
  • README 的「Other MCP Clients」小节还给出了另一种等价写法,在args中使用run --isolated --directory <mcp_server 目录> --project . main.py --transport stdio,适用于不想写main.py绝对路径的场景。

配置完成后重启 Claude Desktop,README 明确说明需要重启才会生效。

验证接入是否成功

方式一:通过get_status工具验证(推荐)。在 Claude Desktop 中让助手调用get_status工具。该工具的定义(见 src 入口)会执行一次数据库查询并返回:

  • 成功时返回status='ok',消息形如Graphiti MCP server is running and connected to <provider> database(provider 为falkordbneo4j);
  • 服务未初始化时返回status='error',消息为Graphiti service not initialized
  • 数据库不通时返回status='error',消息为Graphiti MCP server is running but database connection failed: <错误信息>

看到ok即说明 stdio 进程、LLM 配置与数据库连接都已打通。

方式二:运行仓库自带的 stdio 测试脚本(可选)。mcp_server/tests/test_stdio_simple.py 就是一个用 MCP SDK 的stdio_client以 stdio 方式拉起服务器的完整客户端:它启动uv run ../main.py --transport stdio,初始化会话、列出工具、调用add_memorygroup_idtest_group)和search_memory_nodes。该脚本依赖当前环境变量中的NEO4J_URI/NEO4J_USER/NEO4J_PASSWORD/OPENAI_API_KEY(有默认值,Neo4j 密码默认为graphiti),因此需要先有一个可用的 Neo4j 实例。全部通过时脚本打印✅ All tests completed successfully!(此为脚本自身的输出文本),失败则打印❌ Test failed: <异常信息>并退出码为 1。

已知限制与排查

  • Claude Desktop 不支持 HTTP 传输:README 指出「Claude Desktop does not natively support HTTP transport」。所以即使你用docker compose up跑好了默认 HTTP 服务器,也不能把http://localhost:8000/mcp/直接填给 Claude Desktop,必须走本文的 stdio 本地进程方式(HTTP 端点适合 Cursor、VS Code 等支持 HTTP 的客户端)。
  • 429 限流:每个 episode 的入库会触发多次 LLM 调用,并发由环境变量SEMAPHORE_LIMIT控制,默认10(README 称适合 OpenAI Tier 3、中档 Anthropic 配额)。若 Claude Desktop 里添加记忆时出现 429 限流错误,按 README 的 provider 分档建议调低该值(例如 OpenAI Tier 1 设为 1–2,Anthropic 默认档设为 5–8),写进mcp_server目录的.env文件。
  • 遥测:MCP 服务器初始化时会上报匿名使用统计(不含个人数据、API Key 或图内容)。不需要时设置GRAPHITI_TELEMETRY_ENABLED=false,可写入.env
  • 数据库连接失败的自查:README 测试文档给出了两个检查命令——Neo4j 用curl http://localhost:7474确认服务在线,FalkorDB 用redis-cli ping。若get_status返回database connection failed,先确认对应数据库进程确实在运行、env里的 URI/账号与之一致。

完成以上步骤后,Claude Desktop 会话中的 Graphiti 服务器就处于可用状态:get_status返回ok是接入成功的直接判据;日常使用时即可让 Claude Desktop 调用add_memory写入对话或文档、用search_nodes/search_memory_facts查询知识图谱。

【免费下载链接】graphitiBuild Real-Time Knowledge Graphs for AI Agents项目地址: https://gitcode.com/GitHub_Trending/grap/graphiti

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/12 12:15:03

如何用 Wand-Enhancer 免费解锁 Wand 游戏修改器的高级功能

如何用 Wand-Enhancer 免费解锁 Wand 游戏修改器的高级功能 【免费下载链接】Wand-Enhancer Advanced UX and interoperability extension for Wand (WeMod) app 项目地址: https://gitcode.com/GitHub_Trending/we/Wand-Enhancer Wand-Enhancer 是开源的本地补丁工具&a…

作者头像 李华
网站建设 2026/9/12 12:14:55

结构化提示技术在代码语义推理中的应用与实践

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/12 12:14:25

8款AI论文写作工具实测:从文献检索到降重润色

1. 论文写作新利器&#xff1a;8个AI辅助网站实测报告写论文这件事&#xff0c;从选题到查重&#xff0c;每个环节都能让专科生们抓狂。去年帮表弟改论文时&#xff0c;我发现他连续三天熬夜到凌晨三点&#xff0c;就为了查文献和调格式。直到我给他推荐了几个AI论文工具&#…

作者头像 李华