返回市场
云flare涂鸦MCP服务器

云flare涂鸦MCP服务器

作者:adam-paterson8 星标更新:2025-07-16

项目介绍

Graphiti Cloud via Cloudflare Workers

GitHub Actions Workflow Status License

Deploy to Cloudflare

一个作为Graphiti MCP(模型上下文协议)服务器代理的Cloudflare容器Worker,通过基于Neo4j的知识图谱提供可扩展的无服务器访问到AI代理的记忆能力。

概述

Graphiti Cloud通过利用Cloudflare的新容器服务来托管并代理请求到Graphiti MCP服务器,从而弥合了AI应用程序与持久记忆之间的差距。这使得AI代理能够使用强大的知识图谱后端在交互中维持上下文和记忆。

图数据库可视化

特性

  • 无服务器架构:基于支持容器的Cloudflare Workers构建
  • AI记忆服务:通过知识图谱为AI代理提供持久记忆
  • Neo4j集成:用于复杂关系存储的强大图数据库
  • 自动扩展:最多5个容器实例,并具有智能睡眠管理
  • 全球边缘网络:部署在Cloudflare的全球基础设施上
  • 安全:基于环境的敏感凭证配置

架构

---
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数据库来存储知识图谱。以下是你的选项:

  1. Neo4j AuraDB(推荐) - 完全托管的云服务

    • Neo4j AuraDB注册
    • 创建一个免费实例(最多200k节点和400k关系)
    • 获取连接URI、用户名和密码
  2. 自托管Neo4j

  3. Neo4j桌面版

了解更多关于Neo4j:Neo4j是一个图数据库,它以节点和关系的形式存储数据,使其非常适合知识图谱。查看Neo4j图数据库概念指南。

安装

  1. 克隆仓库:
git clone https://github.com/adam-paterson/graphiti-cloud.git
cd graphiti-cloud
  1. 安装依赖项:
pnpm install
  1. 开发:在.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
  1. 生产:将秘密添加到你的Cloudflare Worker:
# 使用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 Inspector调试

为了调试MCP协议通信,你可以使用官方的MCP Inspector:

# 全局安装MCP Inspector
npm install -g @modelcontextprotocol/inspector

# 启动指向你本地worker的inspector
mcp-inspector http://localhost:8787

这将打开一个Web界面,你可以在其中:

  • 发送MCP协议请求
  • 查看请求/响应负载
  • 调试客户端与Graphiti MCP服务器之间的通信

了解更多:查看MCP Inspector文档了解高级调试技巧。

部署

部署到Cloudflare:

wrangler deploy

配置

容器设置

GraphitiMCPContainer类扩展了Cloudflare的容器,具有以下配置:

  • 默认端口:8000
  • 睡眠超时:1小时不活动
  • 互联网访问:启用外部API调用
  • 最大实例数:5个容器
  • 镜像knowledge-graph-mcp:0.4.0

环境变量

变量描述是否必需示例
NEO4J_URINeo4j数据库连接字符串neo4j://localhost:7687neo4j+s://xxx.databases.neo4j.io
NEO4J_USERNeo4j用户名neo4j
NEO4J_PASSWORDNeo4j密码your-secure-password
OPENAI_API_KEYOpenAI API密钥,用于AI功能sk-...
BEARER_TOKEN认证用的Bearer Tokenyour-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协议请求
  })
})

与AI应用程序集成

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 - 运行ESLint
  • pnpm types - 生成Wrangler类型

测试

目前,Cloudflare的测试套件不完全支持容器。建议使用已部署的worker进行集成测试。

贡献

  1. 分叉仓库
  2. 创建特性分支:git checkout -b feature/amazing-feature
  3. 提交更改:git commit -m '添加惊人的特性'
  4. 推送到分支:git push origin feature/amazing-feature
  5. 打开Pull Request

相关项目

许可证

MIT 许可证 Adam Paterson

支持


<p align="center"> <sub>使用Cloudflare Workers和知识图谱的力量构建</sub> </p> <!-- 徽标 -->