关于 MisterSandFR-supabase-mcp-selfhosted
这是面向私有 Supabase 实例的自托管 MCP 服务,供需要管理数据库及相关服务的团队使用。它覆盖身份验证、存储、实时功能、迁移和监控,并支持 Docker、Railway 与 Smithery 部署。
主要功能
- 01管理数据库、架构和迁移
- 02管理用户、角色与 RLS 策略
- 03操作存储桶和文件
- 04管理实时发布与订阅
- 05查看日志、指标并审计安全
- 06支持 Docker、Railway 和 Smithery 部署
适用场景
- 01通过 MCP 工具维护 Supabase 数据库
- 02管理认证用户与数据访问策略
- 03排查性能问题并查看服务日志
- 04在自托管环境部署 Supabase MCP 服务
MCP 相关
该 MCP 服务向 MCP 客户端暴露 Supabase 数据库、认证、存储、实时、迁移、监控及运维工具。可通过 Smithery SDK 或自托管 HTTP 方式运行。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
服务地址
https://server.smithery.ai/@MisterSandFR/supabase-mcp-selfhosted/mcp一键复制安装命令
Claude CodeTerminal
claude mcp add --transport http ai-smithery-mistersandfr-supabase-mcp-selfhosted https://server.smithery.ai/@MisterSandFR/supabase-mcp-selfhosted/mcpCursor.cursor/mcp.json
{"mcpServers":{"ai-smithery-mistersandfr-supabase-mcp-selfhosted":{"type":"http","url":"https://server.smithery.ai/@MisterSandFR/supabase-mcp-selfhosted/mcp"}}}在 Cursor 中打开VS Code.vscode/mcp.json
{"servers":{"ai-smithery-mistersandfr-supabase-mcp-selfhosted":{"type":"http","url":"https://server.smithery.ai/@MisterSandFR/supabase-mcp-selfhosted/mcp"}}}在 VS Code 中打开Claude Desktopclaude_desktop_config.json
{"mcpServers":{"ai-smithery-mistersandfr-supabase-mcp-selfhosted":{"type":"http","url":"https://server.smithery.ai/@MisterSandFR/supabase-mcp-selfhosted/mcp"}}}Windsurf~/.codeium/windsurf/mcp_config.json
{"mcpServers":{"ai-smithery-mistersandfr-supabase-mcp-selfhosted":{"serverUrl":"https://server.smithery.ai/@MisterSandFR/supabase-mcp-selfhosted/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
全部服务地址
Streamable HTTP
https://server.smithery.ai/@MisterSandFR/supabase-mcp-selfhosted/mcp需要授权工具
详细介绍
Supabase MCP 服务 - 自托管版
🗄️ Supabase 自托管 MCP 服务 - 全面管理您的私有 Supabase 实例
🌟 功能特性
- 🔐 全面管理您的私有 Supabase 实例
- 🛠️ 54+ 个 MCP 工具,用于管理 Supabase
- 📊 实时监控和指标
- 🚀 在 Railway 上自动部署
- 🔒 增强安全性,防止 SQL 注入
- ⚡ 针对生产环境优化性能
🏗️ 架构
此 repository 仅包含纯 Supabase MCP 服务,不含 Web 界面或中央 hub。
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 — Smithery SDK(推荐)
# 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 界面中部署时,请配置 Test Profile,然后启动 Scan。
选项 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(Railway / 自托管)
# 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- 验证 JWTmanage_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- 生成 TypeScript 类型generate_crud_api- 生成 CRUD APIcache_management- 管理缓存environment_management- 管理环境manage_secrets- 管理密钥manage_functions- 管理函数manage_triggers- 管理触发器manage_webhooks- 管理 Webhook
🔧 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 → Deploy 中,选择 Python SDK
- 配置 Test Profile,然后启动 Scan
- 必需:
SUPABASE_URL、SUPABASE_ANON_KEY
- 必需:
Railway(可自托管)
# Déployer sur Railway
railway login
railway init
railway up
Docker
# Build et déploiement
docker build -t supabase-mcp-server .
docker run -p 8000:8000 supabase-mcp-server
与 Hub Central 集成
此服务旨在与 MCP Hub Central 集成:
{
"servers": {
"supabase": {
"name": "Supabase MCP Server",
"host": "supabase.mcp.coupaul.fr",
"port": 8000,
"path": "/",
"categories": ["database", "auth", "storage", "realtime", "security", "migration", "monitoring", "performance"]
}
}
}
🧪 Test Profile(Smithery)
在 Smithery 端连接时,请在 Test Profile 中提供以下密钥:
{
"SUPABASE_URL": "https://your-project.supabase.co",
"SUPABASE_ANON_KEY": "eyJ..."
}
如果遇到缓存问题,请重新保存配置文件并重新启动 Scan。
🔒 安全
- 输入验证,防止 SQL 注入
- 按 IP 和用户进行速率限制
- 记录所有操作的审计日志
- 生产环境中必须使用 HTTPS 加密
- 安全的机密信息管理
- 用于数据安全的 RLS 策略
📊 监控
该服务提供全面的监控:
- 实时性能指标
- 具有可配置级别的结构化日志
- 自动健康检查
- 出现问题时发送警报
- 指标仪表板
- 详细的性能分析
🤝 贡献
- Fork 此仓库
- 创建一个功能分支(
git checkout -b feature/amazing-feature) - 提交你的更改(
git commit -m 'Add amazing feature') - 推送到该分支(
git push origin feature/amazing-feature) - 发起 Pull Request
📄 许可证
本项目采用 MIT 许可证。详情请参阅 LICENSE 文件。
🙏 致谢
📞 支持
- 📧 电子邮件:[email protected]
- 💬 Discord:MCP 社区服务
- 🐛 问题:GitHub Issues
由 coupaul 倾情打造 ❤️
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。