🐳 为n8n配置MCP HTTP流服务器
一键式Docker部署 基于本地的Supabase MCP服务器 HTTP流传输 支持n8n、AI代理和现代自动化工作流程。
](https://hub.docker.com/r/silverstar3o7/supabase-mcp-http-stream-n8n)  
🚀 快速开始
🌊 冷却部署(生产)
用于生产部署 冷却,请按照以下详细步骤操作:
步骤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编写 从以下位置复制内容
步骤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= - 长连接:服务器每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
- 添加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
- 配置节点:
- 连接类型: 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许可证-请参阅 许可证 文件以获取详细信息。
🤝 贡献
- 分叉存储库
- 创建要素分支
- 进行更改
- 如果适用,添加测试
- 提交拉取请求
🆘 支持
______________________________________________________________________
由以下材料制成❤️ 靠近 双罗特克
