🗄️ 自托管 MCP Supabase 服务器 - 完整管理您的私有 Supabase 实例
此仓库仅包含纯 MCP Supabase 服务器,没有 Web 界面或中心枢纽。
Supabase MCP 服务器(端口 8000)
├── 🗄️ 数据库管理
├── 🔐 认证与授权
├── 📁 存储与文件
├── 🔄 实时与订阅
├── 🛠️ 迁移与模式
├── 📊 监控与日志
└── 🚀 自动部署
# 克隆仓库
git clone https://github.com/MisterSandFR/Supabase-MCP-SelfHosted.git
cd Supabase-MCP-SelfHosted
# 安装依赖
pip install -r requirements.txt
# (可选)安装 Smithery CLI 如果需要
npm i -g @smithery/cli
# 启动开发 SDK(根据您的环境)
smithery dev # 或:smithery playground
pyproject.toml 中定义如下:
[tool.smithery] server = "supabase_mcp_server.server:create_server"# 克隆仓库
git clone https://github.com/MisterSandFR/Supabase-MCP-SelfHosted.git
cd Supabase-MCP-SelfHosted
# 安装 Python 依赖
pip install -r requirements.txt
# 配置环境变量
export SUPABASE_URL="https://your-project.supabase.co"
export SUPABASE_ANON_KEY="your-anon-key"
export SUPABASE_SERVICE_KEY="your-service-key" # 可选
# 启动外部 HTTP 服务器
python src/supabase_server.py
# 构建并启动(如果需要使用 Dockerfile.railway)
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 配置
SUPABASE_URL=https://your-project.supabase.co
SUPABASE_ANON_KEY=eyJ... (您的匿名密钥)
SUPABASE_SERVICE_KEY=eyJ... (可选,用于特权操作)
# 服务器配置
PORT=8000
PYTHONUNBUFFERED=1
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 基础连接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 策略管理list_storage_buckets 桶列表list_storage_objects 对象列表manage_storage_policies 策略管理upload_file 文件上传download_file 文件下载delete_file 文件删除list_realtime_publications 发布列表manage_realtime 实时管理create_subscription 创建订阅delete_subscription 删除订阅create_migration 创建迁移list_migrations 迁移列表push_migrations 推送迁移validate_migration 验证迁移smart_migration 智能迁移auto_migrate 自动迁移sync_schema 同步模式import_schema 导入模式get_logs 获取日志metrics_dashboard 指标仪表板analyze_performance 性能分析analyze_rls_coverage 分析 RLS 覆盖范围audit_security 安全审计generate_typescript_types 生成 TypeScript 类型generate_crud_api 生成 CRUD APIcache_management 缓存管理environment_management 环境管理manage_secrets 秘密管理manage_functions 函数管理manage_triggers 触发器管理manage_webhooks Webhook 管理GET /health 健康检查POST /mcp 主要的 JSON-RPC 端点GET /.well-known/mcp-config 配置 MCPGET /mcp/tools.json 工具发现(JSON)GET /api/tools 可用工具列表POST /api/execute 工具执行pyproject.toml 包含:
[tool.smithery] server = "supabase_mcp_server.server:create_server"SUPABASE_URL,SUPABASE_ANON_KEY# 部署到 Railway
railway login
railway init
railway up
# 构建并部署
docker build -t supabase-mcp-server .
docker run -p 8000:8000 supabase-mcp-server
此服务器设计为与 MCP Hub Central 集成
当在 Smithery 侧连接时,在测试配置文件中提供以下键:
{
"SUPABASE_URL": "https://your-project.supabase.co",
"SUPABASE_ANON_KEY": "eyJ..."
}
如有缓存,请重新保存配置文件并重启扫描。
服务器提供全面监控:
git checkout -b feature/amazing-feature)git commit -m '添加神奇功能')git push origin feature/amazing-feature)本项目采用 MIT 许可。详情见 LICENSE 文件。
由 coupaul 制作 ❤️