mcpField
M
MisterSandFR-supabase-mcp-selfhosted

MisterSandFR-supabase-mcp-selfhosted

远程服务
github.com/MisterSandFR数据库758 周前更新
代码仓库

关于 MisterSandFR-supabase-mcp-selfhosted

这是面向私有 Supabase 实例的自托管 MCP 服务,供需要管理数据库及相关服务的团队使用。它覆盖身份验证、存储、实时功能、迁移和监控,并支持 Docker、Railway 与 Smithery 部署。

主要功能

  1. 01管理数据库、架构和迁移
  2. 02管理用户、角色与 RLS 策略
  3. 03操作存储桶和文件
  4. 04管理实时发布与订阅
  5. 05查看日志、指标并审计安全
  6. 06支持 Docker、Railway 和 Smithery 部署

适用场景

  1. 01通过 MCP 工具维护 Supabase 数据库
  2. 02管理认证用户与数据访问策略
  3. 03排查性能问题并查看服务日志
  4. 04在自托管环境部署 Supabase MCP 服务

MCP 相关

该 MCP 服务向 MCP 客户端暴露 Supabase 数据库、认证、存储、实时、迁移、监控及运维工具。可通过 Smithery SDK 或自托管 HTTP 方式运行。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://server.smithery.ai/@MisterSandFR/supabase-mcp-selfhosted/mcp
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

全部服务地址
Streamable HTTPhttps://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 - 验证 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 → Deploy 中,选择 Python SDK
  3. 配置 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 策略

📊 监控

该服务提供全面的监控:

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

🤝 贡献

  1. Fork 此仓库
  2. 创建一个功能分支(git checkout -b feature/amazing-feature)
  3. 提交你的更改(git commit -m 'Add amazing feature')
  4. 推送到该分支(git push origin feature/amazing-feature)
  5. 发起 Pull Request

📄 许可证

本项目采用 MIT 许可证。详情请参阅 LICENSE 文件。

🙏 致谢

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

📞 支持


由 coupaul 倾情打造 ❤️

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。