使用说明
🐳 为n8n配置MCP HTTP流服务器
一键式Docker部署 基于本地的Supabase MCP服务器 HTTP流传输 支持n8n、AI代理和现代自动化工作流程。
🚀 快速开始
🌊 冷却部署(生产)
用于生产部署 冷却,请按照以下详细步骤操作:
步骤1:在Coolify中创建资源
- 导航到Coolify仪表板
- 转到项目 → 选择您的项目(例如,“我的第一个项目”)
- 点击“添加资源” → “Docker作曲”
- 选择“来自GIT存储库” 或 “原始Docker编写”
步骤2:配置Docker Compose
选项A:来自GIT存储库
- 存储库:
https://github.com/BIFROTEK-com/supabase-mcp-http-stream-n8n.git - 分行:
main - Docker编写位置:
docker/docker-compose.coolify.yaml
选项B:原始Docker编写
从以下位置复制内容 docker/docker-compose.coolify.yaml
步骤3:设置环境变量
配置这些 必需的 Coolify中的环境变量:
# 🔐 Required: Supabase Configuration
SUPABASE_ACCESS_TOKEN=sbp_your_access_token_here
SUPABASE_PROJECT_REF=your_project_ref_here
# 🔑 Security: API Keys (highly recommended)
MCP_API_KEYS=your-secure-api-key-here
# 📍 Domain Configuration
DOMAIN=your.domain.com
# ⚙️ Optional: Feature Configuration
MCP_FEATURES=database,docs,development,functions
MCP_READ_ONLY=false
MCP_PORT=3333
NODE_ENV=production
# 🛡️ Optional: Security Settings
MCP_RATE_LIMIT_REQUESTS=100
MCP_RATE_LIMIT_GENERAL=60
MCP_ALLOWED_ORIGINS=*
NODE_LOG_LEVEL=warn
步骤4:配置域和Traefik
- 资源名称:
supabase-mcp(或您喜欢的名字) - 域配置:
https://your.domain.com:3333- ✅ 格式:
https://your-domain.com:3333 - ✅ 端口:必须是
3333(集装箱码头) - ✅ 协议:使用
https通过Traefik进行SSL终止
- ✅ 格式:
步骤5:部署
- 保存配置
- 点击“部署”
- 监控日志 成功启动:
✅ MCP HTTP Server running on port 3333 🚀 Streamable HTTP: POST /mcp 🌊 SSE: GET/POST /sse ❤️ Health: GET /health 🏠 Landing: GET / 🔗 Ready for connections!
步骤6:验证部署
使用 API示例 在......下面
🐳 地方发展
- 克隆存储库:
git clone https://github.com/BIFROTEK-com/supabase-mcp-http-stream-n8n.git
cd supabase-mcp-http-stream-n8n
- 创建
.env文件:
cp env.example .env
# Edit .env with your Supabase credentials
- 启动服务器:
cd docker && docker-compose up -d
- 测试连接: 看 API示例 在......下面
🔌 API终点
🚀 HTTP流传输(推荐)
使用HTTP流进行实时通信的现代MCP传输:
| 端点 | 方法 | 描述 |
|---|---|---|
POST /mcp |
职位 | 主MCP API -HTTP流传输 |
GET /health |
得到 | 健康检查 -服务器状态 |
GET / |
得到 | API仪表板 -登录页(需要API密钥) |
DELETE /mcp |
删除 | 会话终止 -终止MCP会话 |
示例用法:
curl -X POST https://your-domain.com:3333/mcp \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H "X-API-Key: your-api-key" \
-d '{"jsonrpc": "2.0", "id": 1, "method": "tools/list"}'
🌊 SSE传输(n8n兼容)
旧版n8n MCP客户端工具节点兼容性的服务器发送事件传输:
| 端点 | 方法 | 描述 |
|---|---|---|
GET /sse |
得到 | SSE 连接 -建立服务器发送的事件流 |
POST /messages |
职位 | SSE消息 -通过SSE发送JSON-RPC消息 |
SSE特点:
- ✅ 自动会话管理 -基于加密的安全会话ID
- ✅ 保持Pings活跃 -连接稳定性间隔15秒
- ✅ n8n兼容性 -与n8n MCP客户端工具节点配合使用
- ✅ 自动清理 -断开连接时会话自动终止
SSE连接流程:
- 连接:
GET /sse建立SSE流 - 接收:服务器发送
endpoint具有会话ID的事件 - 发送消息:
POST /messages?sessionId=<session> - 长连接:服务器每15秒ping一次
- 断开:连接关闭时自动清理
示例用法:
# 1. Establish SSE connection
curl -N -H "Accept: text/event-stream" https://your-domain.com:3333/sse
# Server responds:
# event: endpoint
# data: /messages?sessionId=abc123...
# data: {"type":"ready","status":"connected","session":"abc123..."}
# 2. Send messages via returned sessionId
curl -X POST https://your-domain.com:3333/messages?sessionId=abc123... \
-H "Content-Type: application/json" \
-d '{"jsonrpc": "2.0", "id": 1, "method": "tools/list"}'
🛡️ 安全功能
- ✅ API密钥验证:安全访问控制
- ✅ 速率限制:DoS保护(可配置)
- ✅ CORS 保护:可配置的原产地限制
- ✅ 安全标头:Helmet.js与CSP
- ✅ 输入验证:JSON-RPC 2.0验证
- ✅ SSL/TLS:通过Traefik支持HTTPS
📊 MCP工具可用
| 工具 | 说明 |
|---|---|
list_tables |
列出所有数据库表 |
list_extensions |
列出数据库扩展名 |
execute_sql |
执行原始SQL查询 |
apply_migration |
应用数据库迁移 |
search_docs |
搜索Supabase文档 |
list_edge_functions |
列出边缘功能 |
deploy_edge_function |
部署边缘功能 |
get_project_url |
获取项目API URL |
get_anon_key |
获取匿名API密钥 |
generate_typescript_types |
生成TypeScript类型 |
list_migrations |
列出数据库迁移 |
🔧 配置
环境变量
| 变量 | 必填 | 默认 | 描述 |
|---|---|---|---|
SUPABASE_ACCESS_TOKEN |
✅ | - | 主管管理API令牌 |
SUPABASE_PROJECT_REF |
✅ | - | 您的Supabase项目参考 |
MCP_API_KEYS |
⚠️ | - | 逗号分隔的API密钥 |
MCP_PORT |
❌ | 3333 |
HTTP服务器端口 |
MCP_FEATURES |
❌ | database,docs,development,functions |
已启用的功能 |
MCP_READ_ONLY |
❌ | false |
只读模式 |
MCP_RATE_LIMIT_REQUESTS |
❌ | 100 |
每15分钟请求数 |
MCP_RATE_LIMIT_GENERAL |
❌ | 60 |
每分钟请求数 |
MCP_ALLOWED_ORIGINS |
❌ | * |
CORS允许的来源 |
功能组
通过设置启用特定功能 MCP_FEATURES:
database-数据库操作(表、SQL、迁移)docs-Supabase文档搜索development-开发工具和实用程序functions-边缘功能管理account-账户管理(不需要项目范围界定)branching-数据库分支操作storage-存储管理debug-调试工具
🔄 n8n集成
⚠️ 重要提示:内置MCP节点问题
这 内置n8n MCP客户端节点存在已知问题 使用SSE流传输(已弃用),可能无法与此服务器可靠工作。为了获得最佳体验,我们 强烈推荐 使用社区开发的MCP客户端节点。
🌟 推荐:社区MCP节点
使用社区节点: @令人讨厌的io/n8n节点mcp
此社区节点提供:
- ✅ 完整HTTP流传输 支持(推荐)
- ✅ 可靠的SSE运输 为了传统兼容性
- ✅ 更好的错误处理 以及连接稳定性
- ✅ 主动维护 社区支持
- ✅ AI Agent集成 作为一种工具
📦 安装
-
安装社区节点 在n8n实例中:
# Via n8n UI: Settings → Community Nodes → Install # Package name: @nerding-io/n8n-nodes-mcp # Or via Docker environment: N8N_COMMUNITY_PACKAGES_ENABLED=true -
将社区节点作为工具启用 (针对AI代理):
# Required for using MCP Client as AI Agent tool N8N_COMMUNITY_PACKAGES_ALLOW_TOOL_USAGE=true
🚀 使用HTTP流传输进行配置
推荐设置:
-
创建HTTP流式凭据:
- 基本URL:
https://your.domain.com:3333/mcp - API密钥:您配置的API密钥
- 运输:
HTTP Streamable
- 基本URL:
-
添加MCP客户端节点:
- 连接类型:
HTTP Streamable - 行动:
List Tools/Execute Tool - 选择您的凭据
- 连接类型:
-
工具执行示例:
{ "tool": "list_tables", "parameters": {} }
🌊 传统SSE配置(如果需要)
仅当HTTP流不起作用时:
-
创建SSE凭据:
- SSE URL:
https://your.domain.com:3333/sse - 连接类型:
Server-Sent Events (SSE) - 标头:
X-API-Key: your-api-key
- SSE URL:
-
配置节点:
- 连接类型:
Server-Sent Events (SSE) - 选择您的SSE凭据
- 连接类型:
备注:SSE已弃用,但为了兼容性而保留。始终先尝试HTTP流。
🤖 AI代理集成
社区MCP节点完美地充当了AI Agent工具:
// Example AI Agent prompt
I need you to help me analyze my Supabase database.
First, list all available tables using the list_tables tool.
Then, execute some SQL queries to get insights about the data.
用于AI代理的Docker配置:
version: '3'
services:
n8n:
image: n8nio/n8n
environment:
- N8N_COMMUNITY_PACKAGES_ENABLED=true
- N8N_COMMUNITY_PACKAGES_ALLOW_TOOL_USAGE=true
- MCP_API_KEY=your-supabase-mcp-api-key
# ... rest of configuration
🎯 用例
- 数据库管理:查询和管理Supabase数据库
- AI代理:为人工智能助理提供数据库访问
- 自动化:与n8n工作流集成
- 文档:以编程方式搜索Supabase文档
- 边缘功能:部署和管理无服务器功能
- 数据分析:执行复杂的SQL查询
- 模式管理:处理数据库迁移
🔗 相关项目
📝 许可证
MIT许可证-请参阅 许可证 文件以获取详细信息。
🤝 贡献
- 分叉存储库
- 创建要素分支
- 进行更改
- 如果适用,添加测试
- 提交拉取请求
🆘 支持
由以下材料制成❤️ 靠近 双罗特克
