Graphiti云安装程序
用于部署的自动安装脚本 格拉菲蒂 -用于人工智能代理的时态知识图框架-在云平台和定制服务器上。
概述
Graphiti Cloud Installer提供一键部署脚本,可在以下位置自动设置Graphiti并支持MCP(模型上下文协议):
- 谷歌云平台(GCP)
- 亚马逊网络服务(AWS)
- 微软 Azure
- 通过SSH自定义服务器
安装程序处理所有依赖关系,配置Docker容器,设置图数据库(FalkorDB或Neo4j),并公开一个公共MCP端点,用于与Claude Desktop、Cursor和VS Code等AI客户端集成。
特性
- 🚀 一个命令安装 在多个平台上
- 🐳 基于Docker的部署 为了一致性和可移植性
- 🔄 图形数据库的选择:FalkorDB(轻量级)或Neo4j(生产级)
- 🔐 HTTPS支持 自动生成SSL证书
- 🔑 多LLM支持:OpenAI、Anthropic、谷歌双子座、Groq
- 🔁 Idempotent脚本 -可以安全地重新运行以进行更新
- 📊 健康检查 内置验证功能
- 🌐 公共MCP端点 用于AI客户端集成
快速入门:MCP客户端配置
在云服务器上安装Graphiti后,您需要配置AI客户端以连接到MCP端点。
🔒 重要提示:HTTP与HTTPS
默认情况下,Graphiti服务器使用HTTP(不是HTTPS):
- 默认URL:
http://YOUR_SERVER_IP:8000/mcp - HTTPS是可选的 并且需要自定义域名
要启用HTTPS,请执行以下操作:
- 拥有域名(例如。,
graphiti.yourdomain.com) - 将域指向您的服务器IP(DNS A记录)
- 在安装过程中出现提示时输入域
- 该脚本将自动配置Let's Encrypt SSL
安全注意事项:
- ✅ HTTP适用于:测试、开发、专用网络
- ⚠️ 建议使用HTTPS:生产、公众访问、敏感数据
💡 小贴士:对于大多数用例,具有基于IP访问的HTTP就足够了。稍后,您始终可以通过重新运行安装并提供域来添加HTTPS。
______________________________________________________________________
📱 客户端配置
以下是流行AI客户端的确切配置。 除非在安装过程中配置了域,否则请使用HTTP URL。
🤖 克劳德桌面
配置文件位置:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - 视窗:
%APPDATA%\Claude\claude_desktop_config.json - Linux:
~/.config/Claude/claude_desktop_config.json
配置格式(HTTP-默认):
{
"mcpServers": {
"graphiti": {
"command": "npx",
"args": [
"mcp-remote",
"http://YOUR_SERVER_IP:8000/mcp/",
"--allow-http"
]
}
}
}对于HTTPS(如果您配置了域):
{
"mcpServers": {
"graphiti": {
"command": "npx",
"args": [
"mcp-remote",
"https://your-domain.com/mcp/"
]
}
}
}📝 替换YOUR_SERVER_IPIP地址显示在安装结束时(例如。,34.123.45.67) ⚠️ 重要:The--allow-httpHTTP连接需要标志。使用HTTPS时将其删除。 💡 什么是mcp-remote? 它是一个桥接工具,可以在stdio协议(由Claude Desktop使用)和HTTP/SSE协议(由Graphiti服务器使用)之间进行转换
💻 光标IDE
配置文件位置:
- macOS:
~/Library/Application Support/Cursor/User/settings.json - 视窗:
%APPDATA%\Cursor\User\settings.json - Linux:
~/.config/Cursor/User/settings.json
配置格式:
{
"mcp.servers": {
"graphiti": {
"url": "http://YOUR_SERVER_IP:8000",
"name": "Graphiti Knowledge Graph",
"enabled": true
}
}
}如何配置:
- 打开光标设置(
Cmd/Ctrl + ,) - 点击右上角的“打开设置(JSON)”
- 添加
mcp.servers配置 - 保存并重新加载光标
🔷 VS代码(使用GitHub Copilot)
配置文件位置:
- macOS:
~/Library/Application Support/Code/User/settings.json - 视窗:
%APPDATA%\Code\User\settings.json - Linux:
~/.config/Code/User/settings.json
配置格式:
{
"github.copilot.advanced": {
"mcp": {
"enabled": true,
"servers": {
"graphiti": {
"url": "http://YOUR_SERVER_IP:8000",
"description": "Graphiti temporal knowledge graph"
}
}
}
}
}如何配置:
- 打开VS代码设置(
Cmd/Ctrl + ,) - 点击右上角的“打开设置(JSON)”图标
- 添加上面的配置
- 重新加载VS代码(
Cmd/Ctrl + Shift + P→ “重新加载窗口”)
🎯 开发 IDE
配置文件位置:
- macOS:
~/.kiro/settings/mcp.json - 视窗:
%USERPROFILE%\.kiro\settings\mcp.json - Linux:
~/.kiro/settings/mcp.json
配置格式:
{
"mcpServers": {
"graphiti": {
"command": "node",
"args": [
"/path/to/mcp-client.js",
"http://YOUR_SERVER_IP:8000"
],
"env": {},
"disabled": false,
"autoApprove": []
}
}
}替代方案:直接HTTP连接:
{
"mcpServers": {
"graphiti": {
"url": "http://YOUR_SERVER_IP:8000/mcp",
"transport": "http",
"disabled": false
}
}
}如何配置:
- 打开命令选项板(
Cmd/Ctrl + Shift + P) - 搜索“MCP:开放配置”
- 添加Graphiti服务器配置
- 服务器在配置更改时自动重新连接
🌐 OpenAI API/自定义客户端
对于自定义集成或基于OpenAI API的客户端:
HTTP终结点:
http://YOUR_SERVER_IP:8000/mcp健康检查:
curl http://YOUR_SERVER_IP:8000/healthcURL请求示例:
curl -X POST http://YOUR_SERVER_IP:8000/mcp \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"method": "tools/list",
"id": 1
}'🔒 HTTPS配置(可选-需要域)
HTTPS仅在安装过程中提供域名时可用。
在安装过程中,您将看到以下提示:
Enter domain name for SSL (leave empty for IP-based access):如果你把它留空 → 使用HTTP URL(以上示例) 如果您输入了域 → 使用HTTPS URL(以下示例)
HTTPS配置示例:
{
"mcpServers": {
"graphiti": {
"url": "https://your-domain.com/mcp",
"transport": "http"
}
}
}HTTPS要求:
- ✅ 拥有域名
- ✅ DNS指向服务器IP的记录
- ✅ 安装过程中输入的域
- ✅ 防火墙中的端口80和443打开
HTTPS会发生什么:
- 自动加密SSL证书
- HTTP自动重定向到HTTPS
- 已配置证书自动续订
- 安全加密连接
✅ 测试您的连接
配置后,测试连接:
- 检查运行状况端点:
# For HTTP (default)
curl http://YOUR_SERVER_IP:8000/health
# For HTTPS (if domain configured)
curl https://your-domain.com/health预期响应: {"status": "healthy"}
- 测试MCP终点:
# For HTTP (default)
curl http://YOUR_SERVER_IP:8000/mcp
# For HTTPS (if domain configured)
curl https://your-domain.com/mcp- 问你的AI客户端:
- “您能检查Graphiti MCP服务器是否已连接吗?” - “在我的知识图谱中添加一集关于学习Python的内容” - “你对我的喜好了解多少?”
💡 备注:替换 YOUR_SERVER_IP 使用您的实际服务器IP地址(在安装结束时提供),或者如果您配置了HTTPS,则使用您的域。🔧 MCP连接故障排除
连接被拒绝:
- 验证服务器IP地址是否正确
- 检查防火墙是否允许端口80、443、8000
- 确保Docker容器正在运行:
docker ps - 使用HTTP,而不是HTTPS (除非您配置了域)
“SSL/TLS错误”或“证书错误”:
- ❌ 您正在使用
https://但未配置域 - ✅ 解决方案:使用
http://YOUR_SERVER_IP:8000相反 - HTTPS仅在安装过程中提供域时有效
身份验证错误:
- 验证您的LLM API密钥是否在服务器的
.env文件 - 检查服务器日志:
docker logs graphiti-mcp
MCP未出现在客户端:
- 配置后重新启动AI客户端
- 检查配置文件语法(有效的JSON)
- 在客户端的控制台/日志中查找错误
“以后如何添加HTTPS?”
- 您需要重新运行安装脚本
- 出现提示时提供域名
- 确保DNS首先指向您的服务器IP
- 或者手动配置Let's Encrypt(高级)
先决条件
通用要求
所有安装都需要:
- 操作系统:Linux(Ubuntu 20.04+、Debian 10+、CentOS 7+)或macOS
- Bash:4.0或更高版本
- 互联网连接:用于下载Docker镜像和依赖项
- 至少一个LLM API密钥:参见 API关键要求 在......下面
平台特定要求
谷歌云平台(GCP)
- gcloud命令行界面: 安装指南
- GCP账户:启用计费
- 权限:计算引擎API已启用,具有创建实例和防火墙规则的权限
- 推荐实例:适用于FalkorDB的e2 micro(共享vCPU,1GB RAM,每月约6美元),适用于Neo4j的e2 media(共享vCCPU,4GB RAM,每月~24美元)
要验证gcloud安装:
gcloud --version亚马逊网络服务(AWS)
- aws命令行界面: 安装指南
- AWS帐户:具有有效凭据
- 权限:EC2完全访问,VPC管理权限
- 推荐实例:FalkorDB的t3.micro(2个vCPU,1GB RAM,约7.50美元/月),Neo4j的t3.medium(2个vCPU,4GB RAM,约30美元/月
要验证aws CLI安装,请执行以下操作:
aws --version微软 Azure
- az命令行界面: 安装指南
- Azure帐户:通过主动订阅
- 权限:虚拟机贡献者角色或更高级别
- 推荐VM:FalkorDB的标准_B1s(1个vCPU,1GB RAM,约7.50美元/月),Neo4j的标准_B2s(2个vCPU、4GB RAM,约30美元/月
要验证az CLI安装:
az --version自定义服务器(SSH)
- SSH客户端:预装在大多数Linux/macOS系统上
- 服务器要求:
- Ubuntu 20.04+或Debian 10+(推荐) - FalkorDB至少需要1个vCPU和1GB RAM;2个vCPU,用于Neo4j的4GB RAM - 20GB可用磁盘空间 - 端口80、443、8000可访问 - Root或sudo访问权限
- SSH访问:密码或SSH密钥身份验证
要验证SSH客户端,请执行以下操作:
ssh -VAPI关键要求
您至少需要来自以下LLM提供程序的一个API密钥:
OpenAI
- 注册: https://platform.openai.com/signup
- 获取API密钥: https://platform.openai.com/api-keys
- 定价:现收现付,起价0.0015/1K代币
人类学(克劳德)
- 注册: https://console.anthropic.com/
- 获取API密钥:控制台→ 设置→ API密钥
- 定价:现收现付,每百万代币0.25美元起
谷歌双子座
- 注册: https://makersuite.google.com/
- 获取API密钥: https://makersuite.google.com/app/apikey
- 定价:提供免费套餐,然后按需付费
Groq
- 注册: https://console.groq.com/
- 获取API密钥:控制台→ API密钥
- 定价:免费套餐有价格限制
API密钥的安全最佳实践:
- 永远不要公开共享您的API密钥
- 永远不要将API密钥提交到版本控制
- 定期旋转按键
- 使用环境变量进行存储
- 监控使用情况以检测未经授权的访问
- 在提供商仪表板上设置支出限制
安装
循序渐进:谷歌云平台(GCP)
- 克隆存储库
git clone https://github.com/Niels-8/graphiti-cloud-installer.git
cd graphiti-cloud-installer- 确保gcloud CLI经过身份验证
gcloud auth login
gcloud config set project YOUR_PROJECT_ID- 运行安装脚本
chmod +x install-gcp.sh
./install-gcp.sh- 按照交互式提示进行操作
- GCP项目ID:输入您的GCP项目ID(例如。, my-project-123) - 区域:选择一个地区(例如。, us-central1, europe-west1) - 实例类型:按Enter键为默认值(e2 micro为成本优化)或指定自定义值 - 数据库类型:选择 falkordb (默认)或 neo4j - API密钥:至少输入一个LLM提供程序API密钥 - 域(可选):输入SSL域或按Enter键跳过
- 等待安装完成 (通常5-10分钟)
- 该脚本创建了一个计算引擎实例 - 配置防火墙规则(端口80、443、8000) - 安装Docker和Docker Compose - 部署Graphiti和数据库容器 - 进行健康检查
- 保存您的MCP端点URL
✓ Installation complete!
MCP Endpoint: https://34.123.45.67/mcp/
Health Check: https://34.123.45.67/health- 配置您的AI客户端 (参见 MCP客户端配置)
循序渐进:亚马逊网络服务(AWS)
- 克隆存储库
git clone https://github.com/your-repo/graphiti-cloud-installer.git
cd graphiti-cloud-installer- 确保已配置AWS CLI
aws configure
# Enter your AWS Access Key ID, Secret Access Key, and default region- 运行安装脚本
chmod +x install-aws.sh
./install-aws.sh- 按照交互式提示进行操作
- AWS区域:选择一个地区(例如。, us-east-1, eu-west-1) - 实例类型:按Enter键为默认值(t3.micro为成本优化)或指定自定义值 - 密钥对:选择现有密钥对或创建新密钥对 - 数据库类型:选择 falkordb (默认)或 neo4j - API密钥:至少输入一个LLM提供程序API密钥 - 域(可选):输入SSL域或按Enter键跳过
- 等待安装完成 (通常5-10分钟)
- 该脚本创建EC2实例 - 配置安全组(端口80、443、8000) - 安装Docker和Docker Compose - 部署Graphiti和数据库容器 - 进行健康检查
- 保存您的MCP端点URL
✓ Installation complete!
MCP Endpoint: https://ec2-54-123-45-67.compute-1.amazonaws.com/mcp/
Health Check: https://ec2-54-123-45-67.compute-1.amazonaws.com/health- 配置您的AI客户端 (参见 MCP客户端配置)
循序渐进:微软Azure
- 克隆存储库
git clone https://github.com/your-repo/graphiti-cloud-installer.git
cd graphiti-cloud-installer- 确保Azure CLI经过身份验证
az login
az account set --subscription "YOUR_SUBSCRIPTION_ID"- 运行安装脚本
chmod +x install-azure.sh
./install-azure.sh- 按照交互式提示进行操作
- 资源组:输入现有或新的资源组名称 - 区域:选择一个地区(例如。, eastus, westeurope) - 虚拟内存:按Enter键作为默认值(Standard_B1s用于成本优化)或指定自定义值 - 管理员用户名:输入SSH用户名(默认值:azure user) - 数据库类型:选择 falkordb (默认)或 neo4j - API密钥:至少输入一个LLM提供程序API密钥 - 域(可选):输入SSL域或按Enter键跳过
- 等待安装完成 (通常5-10分钟)
- 脚本创建一个资源组(如果需要) - 创建Azure虚拟机 - 配置网络安全组(端口80、443、8000) - 安装Docker和Docker Compose - 部署Graphiti和数据库容器 - 进行健康检查
- 保存您的MCP端点URL
✓ Installation complete!
MCP Endpoint: https://20.123.45.67/mcp/
Health Check: https://20.123.45.67/health- 配置您的AI客户端 (参见 MCP客户端配置)
循序渐进:自定义服务器(SSH)
- 在本地计算机上克隆存储库
git clone https://github.com/your-repo/graphiti-cloud-installer.git
cd graphiti-cloud-installer- 确保您有SSH访问服务器的权限
# Test SSH connection
ssh user@your-server-ip- 运行安装脚本
chmod +x install-ssh.sh
./install-ssh.sh- 按照交互式提示进行操作
- 服务器IP地址:输入服务器的IP地址 - SSH端口:按Enter键作为默认值(22)或指定自定义值 - SSH用户名:输入您的SSH用户名 - 身份验证方法:选择 key 或 password - 如果 key:输入私钥的路径(例如。, ~/.ssh/id_rsa) - 如果 password:在提示时输入SSH密码 - 数据库类型:选择 falkordb (默认)或 neo4j - API密钥:至少输入一个LLM提供程序API密钥 - 域(可选):输入SSL域或按Enter键跳过
- 等待安装完成 (通常5-10分钟)
- 脚本通过SSH连接到您的服务器 - 将安装文件复制到服务器 - 安装Docker和Docker Compose(如果需要) - 部署Graphiti和数据库容器 - 进行健康检查
- 保存您的MCP端点URL
✓ Installation complete!
MCP Endpoint: https://your-server-ip/mcp/
Health Check: https://your-server-ip/health- 配置您的AI客户端 (参见 MCP客户端配置)
数据库选择
在安装过程中,系统将提示您在两个图形数据库之间进行选择:
FalkorDB(默认-建议入门)
- 轻便快速启动
- 更低的资源需求(1个vCPU,最低1GB RAM)
- 非常适合开发和小型部署
- 基于Redis构建,集成web界面
- 成本效益高:在共享核心实例上运行良好(约6-12美元/月)
Neo4j(生产级)
- 成熟且久经考验
- 大型图形(>100k节点)的性能更好
- 高级管理工具
- 需要更多资源(2个vCPU,最低4GB RAM,建议用于生产)
- 成本更高:需要专用实例(约24-60美元/月)
配置
环境变量
安装后,您的配置将存储在 .env 在安装目录中。此文件包含敏感信息,不应提交版本控制。
完成 .env 文件结构:
# ============================================
# LLM Provider API Keys
# ============================================
# At least one API key is required for Graphiti to function
# You can configure multiple providers and switch between them
# OpenAI
OPENAI_API_KEY=sk-proj-...
# Anthropic
ANTHROPIC_API_KEY=sk-ant-api03-...
# Google Gemini
GOOGLE_API_KEY=AIza...
# Groq (Fast inference for Llama, Mistral)
GROQ_API_KEY=gsk_...
# ============================================
# Database Configuration
# ============================================
# Choose between FalkorDB (lightweight) or Neo4j (production)
DATABASE_TYPE=falkordb
# FalkorDB Configuration (default)
FALKORDB_URI=redis://falkordb:6379
# Neo4j Configuration (alternative)
NEO4J_URI=bolt://neo4j:7687
NEO4J_USER=neo4j
NEO4J_PASSWORD=your-secure-password-here
# ============================================
# Server Configuration
# ============================================
# Maximum concurrent operations (adjust based on server resources)
SEMAPHORE_LIMIT=10
# Disable telemetry for privacy
GRAPHITI_TELEMETRY_ENABLED=false
# ============================================
# SSL/Domain Configuration
# ============================================
# Optional: Configure custom domain for HTTPS
DOMAIN_NAME=
# ============================================
# Advanced Configuration (Optional)
# ============================================
# Logging level: DEBUG, INFO, WARNING, ERROR
LOG_LEVEL=INFO
# MCP server port (default: 8000)
MCP_PORT=8000API密钥配置详细信息
OpenAI配置
如何获得:
- 注册地址:https://platform.openai.com/signup
- 导航至https://platform.openai.com/api-keys
- 点击“创建新密钥”
- 复制密钥(以开头
sk-proj-或sk-) - 添加到
.env:OPENAI_API_KEY=sk-proj-your-key-here
定价: 按需付费,每1K代币约0.01-0.03美元,具体取决于型号
费率限制:
- 免费等级:3次请求/分钟
- 付费级别:3500+请求/分钟
人物(克劳德)配置
如何获得:
- 注册地址:https://console.anthropic.com/
- 前往设置→ API密钥
- 点击“创建密钥”
- 复制密钥(以开头
sk-ant-api03-) - 添加到
.env:ANTHROPIC_API_KEY=sk-ant-api03-your-key-here
定价: 按需付费,每100万代币约0.25-15美元,具体取决于型号
费率限制:
- 第1层:50个请求/分钟
- 随着使用率的提高,可以提供更高的层次
Google Gemini配置
如何获得:
- 首选https://makersuite.google.com/
- 点击“获取API密钥”
- 创建或选择Google Cloud项目
- 复制API密钥(以开头
AIza) - 添加到
.env:GOOGLE_API_KEY=AIzaYour-Key-Here
定价:
- 免费等级:60次请求/分钟
- 已支付:每100万代币约0.125-0.50美元
费率限制:
- 免费等级:60次请求/分钟
- 付费级别:提供更高的限额
Groq配置
如何获得:
- 注册地址:https://console.groq.com/
- 导航到API密钥部分
- 单击“创建API密钥”
- 复制密钥(以开头
gsk_) - 添加到
.env:GROQ_API_KEY=gsk_your-key-here
定价:
- 免费等级,限额丰厚
- 非常快速的推理(高达750个令牌/秒)
费率限制:
- 免费等级:30次请求/分钟
- 付费级别:提供更高的限额
在LLM提供商之间切换
Graphiti会自动为每个提供商使用最新推荐的型号。要切换提供程序,只需确保在您的 .env 文件。Graphiti将自动处理模型选择。
API密钥的安全最佳实践
- 永远不要将API密钥提交到版本控制
# Ensure .env is in .gitignore
echo ".env" >> .gitignore- 使用特定于环境的密钥
- 开发:使用具有较低速率限制的单独API密钥 - 生产:使用带有监控功能的专用密钥
- 定期旋转按键
- 每90天或团队成员更换后轮换一次 - 在旋转过程中,使旧按键短暂保持活动状态
- 设定支出限额
- OpenAI:在仪表板中设置每月预算限制 - Anthropic:配置使用警报 - 定期监控使用情况
- 限制密钥权限
- 尽可能使用只读密钥 - 将密钥范围限制为特定的API
- 监控未经授权的使用
- 定期检查提供商仪表板 - 设置使用情况警报 - 查看API日志中的可疑模式
- 固定
.env文件
# Set restrictive permissions
chmod 600 .env
# Verify permissions
ls -la .env
# Should show: -rw------- (only owner can read/write)- 将秘密管理用于生产
- AWS:AWS机密管理器 - GCP:秘密经理 - Azure:密钥库 - HashiCorp多云保险库
更新配置
要在安装后更新配置,请执行以下操作:
- 编辑
.env文件:
nano .env
# or
vim .env- 重新启动受影响的容器:
# Restart all services
docker compose restart
# Or restart specific service
docker restart graphiti-mcp- 验证更改:
# Check container logs
docker logs graphiti-mcp
# Test health endpoint
curl http://localhost:8000/healthMCP客户端配置
安装后,配置您的AI客户端以连接到Graphiti MCP服务器。替换 YOUR_SERVER_IP 安装结束时提供的实际IP地址或域。
克劳德桌面
Claude Desktop是一个支持MCP服务器的原生应用程序。
配置位置:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - 视窗:
%APPDATA%\Claude\claude_desktop_config.json - Linux:
~/.config/Claude/claude_desktop_config.json
步骤:
- 在文本编辑器中打开配置文件:
# macOS
nano ~/Library/Application\ Support/Claude/claude_desktop_config.json
# Linux
nano ~/.config/Claude/claude_desktop_config.json- 添加Graphiti MCP服务器配置:
{
"mcpServers": {
"graphiti": {
"command": "npx",
"args": [
"mcp-remote",
"http://YOUR_SERVER_IP:8000/mcp/",
"--allow-http"
]
}
}
}- 如果您已经配置了其他MCP服务器,请将Graphiti添加到现有列表中:
{
"mcpServers": {
"existing-server": {
"command": "npx",
"args": ["some-other-mcp-server"]
},
"graphiti": {
"command": "npx",
"args": [
"mcp-remote",
"http://YOUR_SERVER_IP:8000/mcp/",
"--allow-http"
]
}
}
}对于HTTPS(如果您配置了域):
{
"mcpServers": {
"graphiti": {
"command": "npx",
"args": [
"mcp-remote",
"https://your-domain.com/mcp/"
]
}
}
}- 保存文件并重新启动Claude Desktop
- 通过询问Claude来验证连接:“你能检查Graphiti MCP服务器是否已连接吗?”
配置文件示例: 看 examples/mcp客户端配置/claude_desktop_config json
光标IDE
Cursor是一个支持MCP的AI代码编辑器。
配置位置:
- macOS:
~/Library/Application Support/Cursor/User/settings.json - 视窗:
%APPDATA%\Cursor\User\settings.json - Linux:
~/.config/Cursor/User/settings.json
步骤:
- 打开光标设置(Cmd/Ctrl+,)
- 点击右上角的“打开设置(JSON)”
- 添加MCP服务器配置:
{
"mcp.servers": {
"graphiti": {
"url": "https://YOUR_SERVER_IP/mcp/",
"name": "Graphiti Knowledge Graph",
"enabled": true
}
}
}- 保存文件(光标将自动重新加载)
- 验证光标MCP面板中的连接(视图→ MCP服务器)
配置文件示例: 看 examples/mcp客户端配置/cursor_mcp_config json
VS代码与GitHub Copilot
使用GitHub Copilot的VS Code可以连接到MCP服务器以增强上下文。
配置位置:
- macOS:
~/Library/Application Support/Code/User/settings.json - 视窗:
%APPDATA%\Code\User\settings.json - Linux:
~/.config/Code/User/settings.json
步骤:
- 打开VS代码设置(Cmd/Ctrl+,)
- 点击右上角的“打开设置(JSON)”
- 添加MCP服务器配置:
{
"github.copilot.advanced": {
"mcp": {
"enabled": true,
"servers": {
"graphiti": {
"url": "https://YOUR_SERVER_IP/mcp/",
"description": "Graphiti temporal knowledge graph"
}
}
}
}
}- 保存文件并重新加载VS代码(Cmd/Ctrl+Shift+P→ “重新加载窗口”)
- 验证输出面板中的连接(视图→ 输出→ GitHub副本)
配置文件示例: 看 示例/mcp客户端配置/vcode_mcp_sejson
测试您的MCP连接
配置客户端后,测试连接:
- 检查运行状况端点:
curl https://YOUR_SERVER_IP/health预期响应: {"status": "healthy"}
- 测试MCP端点:
curl https://YOUR_SERVER_IP/mcp/预期响应:MCP服务器信息
- 使用测试脚本:
./examples/test-mcp-connection.sh YOUR_SERVER_IP- 让你的AI客户端与Graphiti交互:
- “你能在我的学习Python的知识图谱中添加一集吗?” - “你对我的喜好了解多少?” - “在我的知识图中搜索有关AI的信息”
建筑
┌─────────────────┐
│ AI Client │
│ (Claude/Cursor) │
└────────┬────────┘
│ MCP Protocol
▼
┌─────────────────┐
│ NGINX Proxy │
│ (SSL/HTTPS) │
└────────┬────────┘
│
▼
┌─────────────────┐
│ Graphiti MCP │
│ Server │
└────────┬────────┘
│
▼
┌─────────────────┐
│ Graph Database │
│ FalkorDB/Neo4j │
└─────────────────┘故障排除
常见安装错误
错误:“找不到gcloud/aws/az命令”
问题: 所需的云CLI工具未安装或未在PATH中。
解决方案:
- 谷歌云平台:从以下位置安装gcloud CLIhttps://cloud.google.com/sdk/docs/install
- 亚马逊云服务:从以下位置安装aws CLIhttps://aws.amazon.com/cli/
- Azure:从以下位置安装az CLIhttps://docs.microsoft.com/en-us/cli/azure/install-azure-cli
安装后,验证:
gcloud --version # or aws --version, or az --version错误:“身份验证失败”
问题: 云凭据未配置或已过期。
解决方案:
# GCP
gcloud auth login
gcloud config set project YOUR_PROJECT_ID
# AWS
aws configure
# Enter your Access Key ID and Secret Access Key
# Azure
az login
az account set --subscription "YOUR_SUBSCRIPTION_ID"错误:“权限不足”
问题: 您的云帐户缺少创建资源的权限。
解决方案:
- 谷歌云平台:确保您具有“计算引擎管理员”角色
- 亚马逊云服务:确保您拥有“EC2完全访问”和“VPC完全访问”
- Azure:确保您具有“虚拟机参与者”角色
请联系您的云管理员以授予必要的权限。
错误:“Docker安装失败”
问题: 自动Docker安装遇到错误。
解决方案: 手动安装Docker:
# Ubuntu/Debian
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
sudo usermod -aG docker $USER
# CentOS/RHEL
sudo yum install -y docker
sudo systemctl start docker
sudo systemctl enable docker
# Verify installation
docker --version
docker compose version错误:“端口8000已在使用中”
问题: 另一项服务正在使用端口8000。
解决方案:
# Find the process using port 8000
sudo lsof -i :8000
# Stop the conflicting service or modify docker-compose.yml to use a different port
# Edit docker/docker-compose-*.yml and change "8000:8000" to "8001:8000"错误:“SSH连接被拒绝”
问题: 无法通过SSH连接到远程服务器。
解决方案:
- 验证服务器IP地址是否正确
- 检查SSH端口(默认22):
telnet YOUR_SERVER_IP 22- 验证SSH凭据:
ssh -v user@YOUR_SERVER_IP- 检查防火墙是否允许SSH(端口22)
- 确保服务器上正在运行SSH服务:
sudo systemctl status sshd错误:“API密钥验证失败”
问题: 提供的API密钥无效或格式不正确。
解决方案:
- 验证提供程序仪表板上的API键:
- OpenAI:https://platform.openai.com/api-keys - 人类学:https://console.anthropic.com/ - 谷歌https://makersuite.google.com/app/apikey - Groq:https://console.groq.com/
- 确保没有多余的空格或字符
- 检查API密钥是否尚未过期
- 验证您是否有足够的学分/配额
运行时问题
无法连接到MCP终结点
问题: AI客户端无法访问MCP服务器。
解决方案:
- 检查所有容器是否正在运行:
docker ps您应该看到: graphiti-mcp, falkordb (或 neo4j),以及 nginx-proxy
- 验证运行状况终结点:
curl http://localhost:8000/health预期: {"status": "healthy"}
- 检查防火墙规则是否允许端口80、443和8000:
# GCP
gcloud compute firewall-rules list
# AWS
aws ec2 describe-security-groups
# Azure
az network nsg rule list --resource-group YOUR_RG --nsg-name YOUR_NSG- 外部网络测试:
curl https://YOUR_SERVER_IP/health- 检查nginx日志:
docker logs nginx-proxy数据库连接错误
问题: Graphiti无法连接到图形数据库。
解决方案:
对于FalkorDB:
# Check FalkorDB container status
docker ps | grep falkordb
# View FalkorDB logs
docker logs falkordb
# Test FalkorDB connection
curl http://localhost:3000 # Web interface
docker exec -it falkordb redis-cli PING # Should return PONG
# Restart FalkorDB
docker restart falkordb对于Neo4j:
# Check Neo4j container status
docker ps | grep neo4j
# View Neo4j logs
docker logs neo4j
# Test Neo4j connection
curl http://localhost:7474 # Neo4j Browser
docker exec -it neo4j cypher-shell -u neo4j -p YOUR_PASSWORD "RETURN 1;"
# Restart Neo4j
docker restart neo4j内存使用率高
问题: 服务器内存不足。
解决方案:
- 检查当前内存使用情况:
free -h
docker stats- 对于FalkorDB(更轻的选项):
- 建议最低1GB RAM(2GB以获得更好的性能) - 无需更改配置
- 对于Neo4j(需要更多内存):
- 建议最低4GB RAM(8GB用于生产) - 调整堆大小 docker/docker-compose-neo4j.yml:
environment:
- NEO4J_dbms_memory_heap_initial__size=512m
- NEO4J_dbms_memory_heap_max__size=2G- 重新启动容器:
docker compose -f docker/docker-compose-neo4j.yml restart- 考虑升级到更大的实例类型
SSL证书错误
问题: HTTPS不起作用或证书无效。
解决方案:
- 验证域DNS指向您的服务器IP:
nslookup YOUR_DOMAIN- 重新生成SSL证书:
sudo certbot --nginx -d YOUR_DOMAIN- 检查证书过期时间:
sudo certbot certificates- 确保启用了自动续订:
sudo systemctl status certbot.timer常见问题(FAQ)
Q: 我可以同时使用多个LLM提供商吗?
A. 对!您可以在您的 .env 文件。Graphiti将使用中指定的提供程序 config.yaml (默认值:OpenAI)。
Q: 如何从FalkorDB切换到Neo4j?
A.
- 停止当前容器:
docker compose down - 如果需要,备份您的数据
- 更新
.env:设置DATABASE_TYPE=neo4j - 从Neo4j编写文件开始:
docker compose -f docker/docker-compose-neo4j.yml up -d
Q: 我可以在本地机器上运行这个吗?
A. 对!使用SSH安装方法 localhost 或 127.0.0.1 作为服务器IP。你需要在本地安装Docker。
Q: 在云平台上运行需要多少成本?
A.
- 谷歌云平台:e2微型/e2小型(FalkorDB)约6-12美元/月,e2中型/e2-standard-2(Neo4j)约24-49美元/月
- 亚马逊云服务:t3.micro/t3.small(FalkorDB)每月约7.50-15美元,t3.medium/t3.large(Neo4j)每月约30-60美元
- Azure:标准_B1s/B1ms(FalkorDB)约7.50-15美元/月,标准_B2s/B2ms(Neo4j)约30-60美元/月
- 加上LLM API成本(因使用情况而异)
- 小贴士:使用共享核心/可爆发实例可大幅节省成本
Q: 我的数据安全吗?
A. 对。您的知识图数据保留在服务器上,永远不会发送给第三方。只有LLM API调用会转到您选择的提供程序。使用HTTPS和强密码进行生产。
Q: 我可以自定义Graphiti配置吗?
A. 对!编辑 config.yaml 自定义:
- LLM提供者和模型
- 嵌入器设置
- 实体类型
- 图形行为
更改后,重新启动容器:
docker compose restartQ: 如何备份我的知识图?
A.
# FalkorDB (Redis-based)
docker exec falkordb redis-cli SAVE
docker cp falkordb:/data/dump.rdb ./backup-$(date +%Y%m%d).rdb
# Neo4j
docker exec neo4j neo4j-admin dump --database=neo4j --to=/tmp/backup.dump
docker cp neo4j:/tmp/backup.dump ./backup-$(date +%Y%m%d).dumpQ: 如何从备份中恢复?
A.
# FalkorDB
docker cp ./backup.rdb falkordb:/data/dump.rdb
docker restart falkordb
# Neo4j
docker cp ./backup.dump neo4j:/tmp/backup.dump
docker exec neo4j neo4j-admin load --from=/tmp/backup.dump --database=neo4j --force
docker restart neo4jQ: 我可以使用自定义域名吗?
A. 对!在安装过程中,请在系统提示时提供您的域名。确保:
- 域DNS A记录指向您的服务器IP
- 端口80和443可访问
- 安装程序将自动使用Let's Encrypt配置SSL
Q: 如何更新到最新的Graphiti版本?
A. 重新运行安装脚本,并在提示时选择“更新现有安装”。这将提取最新的Docker镜像,同时保留您的数据和配置。
获取帮助
如果您仍然遇到问题:
- 检查日志:
# Installation log
cat /var/log/graphiti-install.log
# Container logs
docker logs graphiti-mcp
docker logs falkordb # or neo4j
docker logs nginx-proxy- 运行验证脚本:
./common/validate.sh- 搜索现有问题:
- GitHub问题:https://github.com/your-repo/graphiti-cloud-installer/issues - 图形问题:https://github.com/getzep/graphiti/issues
- 创建新问题:
- 包括您的操作系统和平台(GCP/AWS/Azure/SSH) - 包括相关日志摘录 - 描述重现问题的步骤 - 提及你已经尝试过的东西
- 社区支持:
- Graphici文档:https://github.com/getzep/graphiti - MCP协议文件:https://modelcontextprotocol.io/ - Discord/Slack:\[链接到社区频道\]
更新中
要更新现有安装,请执行以下操作:
# Re-run the installation script
./install-
.sh
# When prompted, choose "Update existing installation"更新将:
- 拉取最新的Graphiti Docker镜像
- 使用新映像重新启动容器
- 保留现有配置和数据
卸载
要完全删除Graphiti:
./common/uninstall.sh这将:
- 停止并删除所有Docker容器
- 删除Docker卷(确认后)
- 删除安装文件
注: 必须通过云提供商的控制台手动删除云资源(VM、实例)。
安全最佳实践
- API密钥:从不承诺
.env文件到版本控制 - SSL/HTTPS:始终使用HTTPS进行生产部署
- 防火墙:尽可能限制对已知IP地址的访问
- 密码:对Neo4j和其他服务使用强密码
- 更新:定期更新到最新的Graphiti版本
支持
- Graphiti文档: https://github.com/getzep/graphiti
- MCP协议: https://modelcontextprotocol.io/
- 问题: https://github.com/your-repo/graphiti-cloud-installer/issues
贡献
欢迎投稿!请看 贡献.md 作为指导方针。
许可证
此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。
致谢
- 格拉菲蒂 Zep AI
- FalkorDB 的 用于轻量级图形数据库
- Neo4j 用于生产级图形数据库
- 模型上下文协议 通过Anthropic
