Supabase MCP 服务器 - 自托管版
🗄️(文件柜或文件夹的图标,常用于表示存储或整理文件的地方) 自托管的 MCP Supabase 服务器 - 完全管理您的私有Supabase实例
🌟 功能
- 🔐(锁形符号,常用于表示保密、安全或密码等含义) 全面管理 您的私有Supabase实例
- 🛠️(工具/螺丝刀) 54+个MCP工具 用于Supabase管理
- 📊 表格/数据图表 监测 以及实时指标
- 🚀 表情符号“🚀”在中文中通常直接以“🚀”的形式保留,不翻译,因为它是一个通用的表情符号,代表火箭、快速上升或加速等概念。如果需要解释其含义,可以说:“🚀 这个表情符号代表火箭、快速上升或加速。” 但直接翻译时,我们保持原样。 自动部署 在铁路(上)
- 🔒 表示“锁定”或“安全”的符号。 加强安全 防止SQL注入
- ⚡(闪电符号,常用于表示速度、能量、惊喜或紧急情况等含义) 性能优化 用于生产
🏗️ 建筑学
这个仓库包含 仅 纯MCP Supabase服务器,无网页界面,无中央集线器。
Supabase MCP Server (Port 8000)
├── 🗄️ Gestion de base de données
├── 🔐 Authentification et autorisation
├── 📁 Stockage et fichiers
├── 🔄 Temps réel et subscriptions
├── 🛠️ Migrations et schémas
├── 📊 Monitoring et logs
└── 🚀 Déploiement automatique🚀 快速启动
先决条件
- Python 3.11及以上版本
- Supabase 实例(自托管或云端)
- Supabase 环境变量
选项A — SDK Smithery(推荐)
# Cloner le repository
git clone https://github.com/MisterSandFR/Supabase-MCP-SelfHosted.git
cd Supabase-MCP-SelfHosted
# Installer les dépendances
pip install -r requirements.txt
# (Facultatif) Installer la CLI Smithery si besoin
npm i -g @smithery/cli
# Lancer le dev SDK (selon votre environnement)
smithery dev # ou: smithery playground- SDK服务器设置在
pyproject.toml翻译:途径:
- [tool.smithery] server = "supabase_mcp_server.server:create_server"
- 在Smithery界面中部署时,请配置测试配置文件,然后启动扫描。
选项B — HTTP自托管(兼容模式)
# Cloner le repository
git clone https://github.com/MisterSandFR/Supabase-MCP-SelfHosted.git
cd Supabase-MCP-SelfHosted
# Installer les dépendances Python
pip install -r requirements.txt
# Configurer les variables d'environnement
export SUPABASE_URL="https://your-project.supabase.co"
export SUPABASE_ANON_KEY="your-anon-key"
export SUPABASE_SERVICE_KEY="your-service-key" # Optionnel
# Démarrer le serveur HTTP externe
python src/supabase_server.py使用Docker(铁路版/自托管版)
# Build et démarrage (utilisez Dockerfile.railway si besoin)
docker build -f Dockerfile.railway -t supabase-mcp-server .
docker run -p 8000:8000 \
-e SUPABASE_URL="https://your-project.supabase.co" \
-e SUPABASE_ANON_KEY="your-anon-key" \
supabase-mcp-server⚙️ 配置
环境变量
# Supabase Configuration
SUPABASE_URL=https://your-project.supabase.co
SUPABASE_ANON_KEY=eyJ... (votre clé anonyme)
SUPABASE_SERVICE_KEY=eyJ... (optionnel, pour opérations privilégiées)
# Server Configuration
PORT=8000
PYTHONUNBUFFERED=1🛠️ 可用的MCP工具
数据库(15种工具)
execute_sql- 执行SQL查询list_tables- 表格列表inspect_schema- 检查图表apply_migration- 迁移应用程序backup_database- 基本备份restore_database- 基础修复vacuum_analyze- 基础优化get_database_stats- 基本统计数据create_index- 创建索引drop_index- 删除索引list_extensions- 扩展列表manage_extensions- 扩展管理execute_psql- psql 命令check_health- 健康检查get_database_connections- 基本连接
身份验证(8种工具)
list_auth_users- 用户列表create_auth_user- 创建用户update_auth_user- 用户更新delete_auth_user- 用户删除get_auth_user- 用户恢复verify_jwt_secret- JWT验证manage_roles- 角色管理manage_rls_policies- RLS(劳动安全卫生)政策管理
存储(6个工具)
list_storage_buckets- 桶列表list_storage_objects- 物品清单manage_storage_policies- 政策管理upload_file- 上传文件download_file- 文件下载delete_file- 删除文件
实时(4种工具)
list_realtime_publications- 出版物列表manage_realtime- 实时时间管理create_subscription- 创建订阅delete_subscription- 取消订阅
迁移工具(8种)
create_migration- 创建迁移list_migrations- 迁移列表push_migrations- 推动移民validate_migration- 迁移验证smart_migration- 智能迁移auto_migrate- 自动迁移sync_schema- 模式同步import_schema- 导入模式
监控(5种工具)
get_logs- 日志回收metrics_dashboard- 指标仪表板analyze_performance- 性能分析analyze_rls_coverage- RLS(雷电定位系统)覆盖分析audit_security- 安全审计
实用工具(8个工具)
generate_typescript_types- 生成TS类型generate_crud_api- 生成CRUD APIcache_management- 缓存管理environment_management- 环境管理manage_secrets- 密钥管理manage_functions- 函数管理manage_triggers- 管理触发器manage_webhooks- 管理Webhooks
🔧 API 接口
MCP服务器(自托管HTTP)
GET /health- 健康检查POST /mcp- 主JSON-RPC终端点GET /.well-known/mcp-config- MCP配置GET /mcp/tools.json- 发现工具(JSON)
专业工具
GET /api/tools- 可用工具列表POST /api/execute- 执行工具
🚀 部署
Smithery(Python SDK)— 推荐
- 检查以确保
pyproject.toml包含:
- [tool.smithery] server = "supabase_mcp_server.server:create_server"
- 在 Smithery → 部署中,选择 Python SDK
- 配置测试配置文件,然后启动扫描
- 要求: SUPABASE_URL, SUPABASE_ANON_KEY
铁路(自托管)
# Déployer sur Railway
railway login
railway init
railway upDocker
# Build et déploiement
docker build -t supabase-mcp-server .
docker run -p 8000:8000 supabase-mcp-server与中央集线器集成
该服务器旨在与 MCP中央枢纽 :
{
"servers": {
"supabase": {
"name": "Supabase MCP Server",
"host": "supabase.mcp.coupaul.fr",
"port": 8000,
"path": "/",
"categories": ["database", "auth", "storage", "realtime", "security", "migration", "monitoring", "performance"]
}
}
}🧪 测试配置文件(Smithery)
在Smithery端连接时,请在测试配置文件中提供以下密钥:
{
"SUPABASE_URL": "https://your-project.supabase.co",
"SUPABASE_ANON_KEY": "eyJ..."
}如果出现缓存问题,请重新保存配置文件并重新启动扫描。
🔒 安全
- 输入验证 为了防止SQL注入
- 速率限制 按IP和用户
- 审计日志 所有操作中
- HTTPS加密 生产中必需
- 秘密管理 安全的
- RLS政策 为了数据安全
📊 监控
服务器提供全面的监控:
- 性能指标 实时
- 结构化日志 具有可配置级别
- 健康检查 自动的
- 警报 如遇问题
- 仪表盘 指标
- 性能分析 详细的
🤝 贡献
- 为仓库创建分支
- 创建一个特性分支(
git checkout -b feature/amazing-feature) - 提交您的更改(
git commit -m 'Add amazing feature') - 推送到分支(
git push origin feature/amazing-feature) - 提交拉取请求
📄 许可证
此项目采用MIT许可证。详见文件 许可证 以了解更多详情。
🙏 感谢
- Supabase(注:这是一个专有名词,通常直接音译或保留原名,根据上下文,这里“Supabase”可理解为一个数据库服务或平台的名称,直接翻译为中文即“苏帕贝斯”,但实际使用中可能直接保留原名) 对于平台而言
- Smithery(注:该词在常规语境下并不常见,可能是一个特定领域或虚构作品中的词汇,若按字面翻译,可译为“史密斯工艺”或“史密斯制造”,但具体含义需结合上下文确定) 对于MCP生态系统
- Supabase 社区贡献平台
📞 支持
- 📧 电子邮件:contact@coupaul.fr
- 💬 Discord(一种即时通讯软件): MCP社区服务器
- 🐛 问题:
______________________________________________________________________
由❤️倾情打造 coupaul(注:此词在法语中并无直接对应的标准中文翻译,若作为人名或特定术语,可音译为“库保罗”或根据具体语境进行意译,但在此仅提供音译)
