返回市场
超算基-MCP-自托管

超算基-MCP-自托管

作者:MisterSandFR4 星标更新:2025-09-19

项目介绍

Supabase MCP 服务器 - 自托管版

🗄️ 自托管 MCP Supabase 服务器 - 完整管理您的私有 Supabase 实例

🌟 功能

  • 🔐 完全管理 您的私有 Supabase 实例
  • 🛠️ 54+ MCP 工具 用于 Supabase 管理
  • 📊 监控 和实时指标
  • 🚀 自动部署 到 Railway
  • 🔒 增强的安全性 防止 SQL 注入
  • --- 优化性能 用于生产环境

🏗️ 架构

此仓库仅包含纯 MCP Supabase 服务器,没有 Web 界面或中心枢纽。

Supabase MCP 服务器(端口 8000)
├── 🗄️ 数据库管理
├── 🔐 认证与授权
├── 📁 存储与文件
├── 🔄 实时与订阅
├── 🛠️ 迁移与模式
├── 📊 监控与日志
└── 🚀 自动部署

🚀 快速开始

先决条件

  • Python 3.11+
  • Supabase 实例(自托管或云)
  • Supabase 环境变量

方案 A — SDK Smithery(推荐)

# 克隆仓库
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
  • SDK 服务器在 pyproject.toml 中定义如下:
    • [tool.smithery] server = "supabase_mcp_server.server:create_server"
  • 在 Smithery 界面中部署时,配置测试配置文件,然后启动扫描。

方案 B — HTTP 自托管(兼容)

# 克隆仓库
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

使用 Docker(Railway / 自托管)

# 构建并启动(如果需要使用 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

🛠️ 可用的 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 生成 TypeScript 类型
  • generate_crud_api 生成 CRUD API
  • cache_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)— 推荐

  1. 检查 pyproject.toml 包含:
    • [tool.smithery] server = "supabase_mcp_server.server:create_server"
  2. 在 Smithery → 部署,选择 Python SDK
  3. 配置测试配置文件,然后启动扫描。
    • 必需:SUPABASE_URLSUPABASE_ANON_KEY

Railway(自托管)

# 部署到 Railway
railway login
railway init
railway up

Docker

# 构建并部署
docker build -t supabase-mcp-server .
docker run -p  8000:8000 supabase-mcp-server

与中央枢纽集成

此服务器设计为与 MCP Hub Central 集成

🧪 测试配置文件(Smithery)

当在 Smithery 侧连接时,在测试配置文件中提供以下键:

{
  "SUPABASE_URL": "https://your-project.supabase.co",
  "SUPABASE_ANON_KEY": "eyJ..."
}

如有缓存,请重新保存配置文件并重启扫描。

🔒 安全

  • 输入验证 以防止 SQL 注入
  • 速率限制 根据 IP 和用户
  • 操作审核日志
  • HTTPS 加密 生产环境中强制
  • 秘密管理 安全
  • RLS 策略 用于数据安全

📊 监控

服务器提供全面监控:

  • 实时性能指标
  • 结构化日志 可配置级别
  • 自动健康检查
  • 问题警报
  • 指标仪表板
  • 详细性能分析

🤝 贡献

  1. 分叉仓库
  2. 创建功能分支 (git checkout -b feature/amazing-feature)
  3. 提交更改 (git commit -m '添加神奇功能')
  4. 推送到分支 (git push origin feature/amazing-feature)
  5. 打开拉取请求

许可

本项目采用 MIT 许可。详情见 LICENSE 文件。

🙏 感谢

  • Supabase 提供平台
  • Smithery 提供 MCP 生态系统
  • Supabase 社区提供的贡献

📞 支持


coupaul 制作 ❤️