一个作为Graphiti MCP(模型上下文协议)服务器代理的Cloudflare容器Worker,通过基于Neo4j的知识图谱提供可扩展的无服务器访问到AI代理的记忆能力。
Graphiti Cloud通过利用Cloudflare的新容器服务来托管并代理请求到Graphiti MCP服务器,从而弥合了AI应用程序与持久记忆之间的差距。这使得AI代理能够使用强大的知识图谱后端在交互中维持上下文和记忆。

---
config:
theme: neutral
look: handDrawn
layout: dagre
---
flowchart TB
subgraph subGraph0["启用MCP的客户端"]
Cursor["Cursor IDE"]
Claude["Claude Desktop"]
MCPClient["其他MCP客户端"]
end
subgraph subGraph1["Cloudflare边缘"]
Worker["Graphiti Cloud Worker"]
Container["Graphiti MCP容器"]
CF["Cloudflare基础设施"]
end
subgraph subGraph2["外部服务"]
Neo4j[("Neo4j知识图谱")]
OpenAI["OpenAI API"]
end
Cursor --> Worker
Claude --> Worker
MCPClient --> Worker
Worker --> Container
Container --> Neo4j & OpenAI
Worker -.-> CF
Container -.-> CF
Cursor:::Aqua
Cursor:::Ash
Claude:::Pine
Claude:::Peach
Claude:::Ash
MCPClient:::Rose
MCPClient:::Ash
Worker:::Sky
Container:::Sky
CF:::Peach
Neo4j:::Sky
OpenAI:::Aqua
classDef Pine stroke-width:1px, stroke-dasharray:none, stroke:#254336, fill:#27654A, color:#FFFFFF
classDef Ash stroke-width:1px, stroke-dasharray:none, stroke:#999999, fill:#EEEEEE, color:#000000
classDef Rose stroke-width:1px, stroke-dasharray:none, stroke:#FF5978, fill:#FFDFE5, color:#8E2236
classDef Peach stroke-width:1px, stroke-dasharray:none, stroke:#FBB35A, fill:#FFEFDB, color:#8F632D
classDef Sky stroke-width:1px, stroke-dasharray:none, stroke:#374D7C, fill:#E2EBFF, color:#374D7C
classDef Aqua stroke-width:1px, stroke-dasharray:none, stroke:#46EDC8, fill:#DEFFF8, color:#378E7A
你需要一个Neo4j数据库来存储知识图谱。以下是你的选项:
Neo4j AuraDB(推荐) - 完全托管的云服务
自托管Neo4j
Neo4j桌面版
了解更多关于Neo4j:Neo4j是一个图数据库,它以节点和关系的形式存储数据,使其非常适合知识图谱。查看Neo4j图数据库概念指南。
git clone https://github.com/adam-paterson/graphiti-cloud.git
cd graphiti-cloud
pnpm install
.dev.vars中配置环境变量:NEO4J_URI=neo4j://your-neo4j-instance:7687
NEO4J_USER=your-username
NEO4J_PASSWORD=your-password
OPENAI_API_KEY=your-openai-api-key
BEARER_TOKEN=your-secure-bearer-token
# 使用wrangler添加每个秘密
wrangler secret put NEO4J_URI
wrangler secret put NEO4J_USER
wrangler secret put NEO4J_PASSWORD
wrangler secret put OPENAI_API_KEY
wrangler secret put BEARER_TOKEN
了解更多:参阅Cloudflare Workers Secrets文档获取详细的秘密管理说明。
启动开发服务器:
pnpm dev
worker将在http://localhost:8787可用
为了调试MCP协议通信,你可以使用官方的MCP Inspector:
# 全局安装MCP Inspector
npm install -g @modelcontextprotocol/inspector
# 启动指向你本地worker的inspector
mcp-inspector http://localhost:8787
这将打开一个Web界面,你可以在其中:
了解更多:查看MCP Inspector文档了解高级调试技巧。
部署到Cloudflare:
wrangler deploy
GraphitiMCPContainer类扩展了Cloudflare的容器,具有以下配置:
knowledge-graph-mcp:0.4.0| 变量 | 描述 | 是否必需 | 示例 |
|---|---|---|---|
NEO4J_URI | Neo4j数据库连接字符串 | neo4j://localhost:7687 或 neo4j+s://xxx.databases.neo4j.io | |
NEO4J_USER | Neo4j用户名 | neo4j | |
NEO4J_PASSWORD | Neo4j密码 | your-secure-password | |
OPENAI_API_KEY | OpenAI API密钥,用于AI功能 | sk-... | |
BEARER_TOKEN | 认证用的Bearer Token | your-secure-bearer-token |
所有请求都代理到Graphiti MCP容器:
// 示例客户端请求
const response = await fetch('https://your-worker.your-subdomain.workers.dev/', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify({
// MCP协议请求
})
})
Graphiti Cloud旨在与支持MCP协议的AI应用程序一起工作:
import { MCPClient } from '@modelcontextprotocol/client'
const client = new MCPClient({
serverUrl: 'https://your-worker.your-subdomain.workers.dev/'
})
// 使用客户端与知识图谱互动
await client.addMemory({
content: '用户偏好暗模式',
context: 'user-preferences'
})
graphiti-cloud/
├── src/
│ └── index.ts # 主worker和容器逻辑
├── test/
│ ├── index.spec.ts # 测试规范
│ └── env.d.ts # 环境类型定义
├── wrangler.jsonc # Cloudflare Worker配置
├── package.json # 项目依赖
└── README.md # 本文档
pnpm dev - 启动开发服务器pnpm lint - 运行ESLintpnpm types - 生成Wrangler类型目前,Cloudflare的测试套件不完全支持容器。建议使用已部署的worker进行集成测试。
git checkout -b feature/amazing-featuregit commit -m '添加惊人的特性'git push origin feature/amazing-featureMIT 许可证 Adam Paterson