首页
学习
活动
专区
圈层
工具
发布
MCP广场 >详情页
Supabase MCP 数据库服务器2026-06-11233分享添加福利群:解决AI开发者的「MCP实战痛点」
Supabase MCP 服务器是一个开源工具,旨在帮助开发者在集成开发环境(IDE)中安全地管理 Supabase 数据库。它支持执行 SQL 查询、管理模式更改、调用 Supabase 管理 API 和使用 Auth Admin SDK,并内置了多层次的安全控制。服务器兼容多种 MCP 客户端,如 Cursor 和 Windsurf,并提供自动版本控制、事务处理和安全验证功能。通过包管理器(如 pipx 和 uv)可以轻松安装和配置。该服务器适用于远程 Supabase 项目和本地开发,帮助开发者更高效地管理数据库和 API 操作。
By alexander-zuev
2026-06-11233
github
详情内容

查询 | Supabase 的 MCP 服务器

🌅 通过 pypi 安装了超过 17k 次,在 Smithery.ai 上接近 30k 次下载——简而言之,这很有趣!🥳 感谢过去几个月使用此服务器的每个人,我希望它对你们有用。 由于 Supabase 已经发布了他们自己的官方 MCP 服务器, 我决定不再积极维护这个服务器。官方 MCP 服务器功能丰富,未来还会添加更多功能。请查看!

Query MCP 是一个开源的 MCP 服务器,它可以让你的 IDE 安全地运行 SQL、管理模式更改、调用 Supabase 管理 API 并使用 Auth Admin SDK——所有这些都带有内置的安全控制。

PyPI 版本 CI 状态 代码覆盖率 Python 3.12+ uv 包管理器 PyPI 下载量 Smithery.ai 下载量 MCP 服务器 许可证

目录

入门指南功能概览故障排除更新日志

✨ 主要功能

  • 💻 兼容 Cursor、Windsurf、Cline 和其他支持 stdio 协议的 MCP 客户端
  • 🔐 控制 SQL 查询执行的只读和读写模式
  • 🔍 运行时 SQL 查询验证与风险评估
  • 🛡️ SQL 操作的三层安全系统:安全、写入和破坏性
  • 🔄 对直接和池化数据库连接的强大事务处理
  • 📝 数据库模式更改的自动版本控制
  • 💻 使用 Supabase 管理 API 管理你的 Supabase 项目
  • 🧑‍💻 通过 Python SDK 使用 Supabase Auth Admin 方法管理用户
  • 🔨 预构建工具帮助 Cursor 和 Windsurf 更有效地与 MCP 协作
  • 📦 通过包管理器(uv、pipx 等)轻松安装和设置

入门指南

先决条件

安装服务器需要你的系统满足以下条件:

  • Python 3.12+

如果你计划通过 uv 安装,请确保它已经安装

PostgreSQL 安装

MCP 服务器本身不再需要 PostgreSQL 安装,因为它现在使用 asyncpg,而 asyncpg 不依赖于 PostgreSQL 开发库。

但是,如果你正在运行本地 Supabase 实例,你仍然需要 PostgreSQL:

MacOS

brew install postgresql@16

Windows

  • 从 https://www.postgresql.org/download/windows/ 下载并安装 PostgreSQL 16+
  • 在安装过程中确保选择了 "PostgreSQL Server" 和 "Command Line Tools"

第一步:安装

从 v0.2.0 开始,我引入了包安装支持。你可以使用你喜欢的 Python 包管理器来安装服务器:

# 如果 pipx 已安装(推荐)
pipx install supabase-mcp-server

# 如果 uv 已安装
uv pip install supabase-mcp-server

推荐使用 pipx,因为它为每个包创建了隔离的环境。

你也可以通过克隆仓库并从根目录运行 pipx install -e . 来手动安装服务器。

从源代码安装

如果你想从源代码安装,例如进行本地开发:

uv venv
# 在 Mac 上
source .venv/bin/activate
# 在 Windows 上
.venv\Scripts\activate
# 以可编辑模式安装包
uv pip install -e .

通过 Smithery.ai 安装

你可以在这里找到如何使用 Smithery.ai 连接到此 MCP 服务器的完整说明 这里

第二步:配置

Supabase MCP 服务器需要配置以连接到你的 Supabase 数据库、访问管理 API 并使用 Auth Admin SDK。本节解释了所有可用的配置选项以及如何设置它们。

🔑 重要:从 v0.4 开始,MCP 服务器需要一个 API 密钥,你可以在 thequery.dev免费获取,以使用此 MCP 服务器。

环境变量

服务器使用以下环境变量:

变量 必填 默认值 描述
SUPABASE_PROJECT_REF 127.0.0.1:54322 你的 Supabase 项目参考 ID(或本地主机:端口)
SUPABASE_DB_PASSWORD postgres 你的数据库密码
SUPABASE_REGION 是* us-east-1 你的 Supabase 项目所在的 AWS 区域
SUPABASE_ACCESS_TOKEN 用于 Supabase 管理 API 的个人访问令牌
SUPABASE_SERVICE_ROLE_KEY 用于 Auth Admin SDK 的服务角色密钥
QUERY_API_KEY 来自 thequery.dev 的 API 密钥(所有操作都需要)

注意:默认值是为本地 Supabase 开发配置的。对于远程 Supabase 项目,你必须为 SUPABASE_PROJECT_REFSUPABASE_DB_PASSWORD 提供你自己的值。

🚨 关键配置说明:对于远程 Supabase 项目,你必须使用 SUPABASE_REGION 指定你的项目所在的正确区域。如果你遇到 "Tenant or user not found" 错误,这几乎肯定是因为你的区域设置与项目的实际区域不匹配。你可以在 Supabase 仪表板的项目设置下找到你的项目区域。

连接类型

数据库连接
  • 服务器使用事务池器端点连接到你的 Supabase PostgreSQL 数据库
  • 本地开发使用直接连接到 127.0.0.1:54322
  • 远程项目使用格式:postgresql://postgres.[project_ref]:[password]@aws-0-[region].pooler.supabase.com:6543/postgres

⚠️ 重要:不支持会话池连接。服务器专门使用事务池以获得更好的 MCP 服务器架构兼容性。

管理 API 连接
  • 需要设置 SUPABASE_ACCESS_TOKEN
  • 连接到 Supabase 管理 API 的 https://api.supabase.com
  • 仅适用于远程 Supabase 项目(不适用于本地开发)
Auth Admin SDK 连接
  • 需要设置 SUPABASE_SERVICE_ROLE_KEY
  • 对于本地开发,连接到 http://127.0.0.1:54321
  • 对于远程项目,连接到 https://[project_ref].supabase.co

配置方法

服务器按以下顺序查找配置(优先级从高到低):

  1. 环境变量:直接在环境中设置的值
  2. 本地 .env 文件:当前工作目录中的 .env 文件(仅当从源代码运行时有效)
  3. 全局配置文件
    • Windows:%APPDATA%\supabase-mcp\.env
    • macOS/Linux:~/.config/supabase-mcp/.env
  4. 默认设置:本地开发默认值(如果未找到其他配置)

⚠️ 重要:当使用通过 pipx 或 uv 安装的包时,项目目录中的本地 .env 文件不会被检测到。你必须使用环境变量或全局配置文件。

设置配置

选项 1:客户端特定配置(推荐)

直接在 MCP 客户端配置中设置环境变量(参见步骤 3 中的客户端特定设置说明)。大多数 MCP 客户端支持这种方法,它可以将你的配置与客户端设置保持一致。

选项 2:全局配置

创建一个全局 .env 配置文件,该文件将用于所有 MCP 服务器实例:

# 创建配置目录
# 在 macOS/Linux 上
mkdir -p ~/.config/supabase-mcp
# 在 Windows (PowerShell) 上
mkdir -Force "$env:APPDATA\supabase-mcp"

# 创建并编辑 .env 文件
# 在 macOS/Linux 上
nano ~/.config/supabase-mcp/.env
# 在 Windows (PowerShell) 上
notepad "$env:APPDATA\supabase-mcp\.env"

将你的配置值添加到文件中:

QUERY_API_KEY=your-api-key
SUPABASE_PROJECT_REF=your-project-ref
SUPABASE_DB_PASSWORD=your-db-password
SUPABASE_REGION=us-east-1
SUPABASE_ACCESS_TOKEN=your-access-token
SUPABASE_SERVICE_ROLE_KEY=your-service-role-key
选项 3:项目特定配置(仅限源代码安装)

如果你从源代码运行服务器(不是通过包),你可以在项目目录中创建一个 .env 文件,格式与上述相同。

查找你的 Supabase 项目信息

  • 项目参考:在你的 Supabase 项目 URL 中找到:https://supabase.com/dashboard/project/<project-ref>
  • 数据库密码:在项目创建期间设置或在项目设置 → 数据库中找到
  • 访问令牌:在 https://supabase.com/dashboard/account/tokens 生成
  • 服务角色密钥:在项目设置 → API → 项目 API 密钥中找到

支持的区域

服务器支持所有 Supabase 区域:

  • us-west-1 - 美国西部(北加利福尼亚)
  • us-east-1 - 美国东部(北弗吉尼亚)- 默认
  • us-east-2 - 美国东部(俄亥俄)
  • ca-central-1 - 加拿大(中部)
  • eu-west-1 - 西欧(爱尔兰)
  • eu-west-2 - 西欧(伦敦)
  • eu-west-3 - 西欧(巴黎)
  • eu-central-1 - 中欧(法兰克福)
  • eu-central-2 - 中欧(苏黎世)
  • eu-north-1 - 北欧(斯德哥尔摩)
  • ap-south-1 - 南亚(孟买)
  • ap-southeast-1 - 东南亚(新加坡)
  • ap-northeast-1 - 东北亚(东京)
  • ap-northeast-2 - 东北亚(首尔)
  • ap-southeast-2 - 大洋洲(悉尼)
  • sa-east-1 - 南美(圣保罗)

限制

  • 不支持自托管:服务器仅支持官方 Supabase.com 托管项目和本地开发
  • 不支持连接字符串:不支持自定义连接字符串
  • 不支持会话池:仅支持数据库连接的事务池
  • API 和 SDK 功能:管理 API 和 Auth Admin SDK 功能仅适用于远程 Supabase 项目,不适用于本地开发

第三步:使用

一般来说,任何支持 stdio 协议的 MCP 客户端都应该与此 MCP 服务器兼容。此服务器经过明确测试,可与以下客户端配合使用:

  • Cursor
  • Windsurf
  • Cline
  • Claude Desktop

此外,你还可以使用 smithery.ai 在多个客户端中安装此服务器,包括上述客户端。

按照以下指南在你的客户端中安装此 MCP 服务器。

Cursor

转到设置 -> 功能 -> MCP 服务器,并使用以下配置添加新服务器:

# 可以设置为任何名称
name: supabase
type: command
# 如果你使用 pipx 安装
command: supabase-mcp-server
# 如果你使用 uv 安装
command: uv run supabase-mcp-server
# 如果上述方法无效,请使用完整路径(推荐)
command: /full/path/to/supabase-mcp-server  # 使用 'which supabase-mcp-server'(macOS/Linux)或 'where supabase-mcp-server'(Windows)查找

如果配置正确,你应该会看到一个绿色圆点指示器以及服务器暴露的工具数量。 Cursor 成功配置的样子

Windsurf

转到 Cascade -> 点击锤子图标 -> 配置 -> 填写配置:

{
    "mcpServers": {
      "supabase": {
        "command": "/Users/username/.local/bin/supabase-mcp-server",  // 更新路径
        "env": {
          "QUERY_API_KEY": "your-api-key",  // 必填 - 在 thequery.dev 获取你的 API 密钥
          "SUPABASE_PROJECT_REF": "your-project-ref",
          "SUPABASE_DB_PASSWORD": "your-db-password",
          "SUPABASE_REGION": "us-east-1",  // 可选,默认为 us-east-1
          "SUPABASE_ACCESS_TOKEN": "your-access-token",  // 可选,用于管理 API
          "SUPABASE_SERVICE_ROLE_KEY": "your-service-role-key"  // 可选,用于 Auth Admin SDK
        }
      }
    }
}

如果配置正确,你应该会看到一个绿色圆点指示器,并且在可用服务器列表中可以看到可点击的 supabase 服务器。

Windsurf 成功配置的样子

Claude Desktop

Claude Desktop 也通过 JSON 配置支持 MCP 服务器。按照以下步骤设置 Supabase MCP 服务器:

  1. 找到可执行文件的完整路径(此步骤至关重要):

    # 在 macOS/Linux 上
    which supabase-mcp-server
    
    # 在 Windows 上
    where supabase-mcp-server
    

    复制返回的完整路径(例如,/Users/username/.local/bin/supabase-mcp-server)。

  2. 在 Claude Desktop 中配置 MCP 服务器

    • 打开 Claude Desktop
    • 转到设置 → 开发者 -> 编辑配置 MCP 服务器
    • 使用以下 JSON 添加新配置:
    {
      "mcpServers": {
        "supabase": {
          "command": "/full/path/to/supabase-mcp-server",  // 替换为步骤 1 中的实际路径
          "env": {
            "QUERY_API_KEY": "your-api-key",  // 必填 - 在 thequery.dev 获取你的 API 密钥
            "SUPABASE_PROJECT_REF": "your-project-ref",
            "SUPABASE_DB_PASSWORD": "your-db-password",
            "SUPABASE_REGION": "us-east-1",  // 可选,默认为 us-east-1
            "SUPABASE_ACCESS_TOKEN": "your-access-token",  // 可选,用于管理 API
            "SUPABASE_SERVICE_ROLE_KEY": "your-service-role-key"  // 可选,用于 Auth Admin SDK
          }
        }
      }
    }
    

⚠️ 重要:与 Windsurf 和 Cursor 不同,Claude Desktop 需要可执行文件的完整绝对路径。仅使用命令名称(supabase-mcp-server)将导致 "spawn ENOENT" 错误。

如果配置正确,你应该会在 Claude Desktop 中看到 Supabase MCP 服务器列为可用。

Windsurf 成功配置的样子 Cline 也支持通过类似的 JSON 配置文件来连接 MCP 服务器。按照以下步骤设置 Supabase MCP 服务器:

  1. 找到可执行文件的完整路径(此步骤至关重要):

    # 在 macOS/Linux 上
    which supabase-mcp-server
    
    # 在 Windows 上
    where supabase-mcp-server
    

    复制返回的完整路径(例如,/Users/username/.local/bin/supabase-mcp-server)。

  2. 在 Cline 中配置 MCP 服务器

    • 在 VS Code 中打开 Cline
    • 点击 Cline 侧边栏中的“MCP Servers”选项卡
    • 点击“Configure MCP Servers”
    • 这将打开 cline_mcp_settings.json 文件
    • 添加以下配置:
    {
      "mcpServers": {
        "supabase": {
          "command": "/full/path/to/supabase-mcp-server",  // 将此替换为步骤 1 中的实际路径
          "env": {
            "QUERY_API_KEY": "your-api-key",  // 必需 - 在 thequery.dev 获取你的 API 密钥
            "SUPABASE_PROJECT_REF": "your-project-ref",
            "SUPABASE_DB_PASSWORD": "your-db-password",
            "SUPABASE_REGION": "us-east-1",  // 可选,默认为 us-east-1
            "SUPABASE_ACCESS_TOKEN": "your-access-token",  // 可选,用于管理 API
            "SUPABASE_SERVICE_ROLE_KEY": "your-service-role-key"  // 可选,用于 Auth Admin SDK
          }
        }
      }
    }
    

如果配置正确,您应该会在 Cline MCP Servers 列表中 Supabase MCP 服务器旁边看到一个绿色指示器,并且在面板底部看到一条确认消息“supabase MCP server connected”。

Cline成功配置示例

故障排除

这里有一些可能有帮助的提示和技巧:

  • 调试安装 - 直接从终端运行 supabase-mcp-server 查看其是否正常工作。如果无法运行,则安装可能存在问题。
  • MCP服务器配置 - 如果上述步骤有效,则表示服务器已正确安装和配置。只要您提供了正确的命令,IDE 应该能够连接。请确保提供服务器可执行文件的正确路径。
  • “未找到工具”错误 - 如果在 Cursor 中看到“客户端已关闭 - 无可用工具”错误,即使已安装软件包:
    • 通过运行 which supabase-mcp-server(macOS/Linux)或 where supabase-mcp-server(Windows)找到可执行文件的完整路径。
    • 在 MCP 服务器配置中使用完整路径,而不仅仅是 supabase-mcp-server
    • 例如:/Users/username/.local/bin/supabase-mcp-serverC:\Users\username\.local\bin\supabase-mcp-server.exe
  • 环境变量 - 为连接到正确的数据库,请确保您在 mcp_config.json 或全局配置目录(macOS/Linux 上为 ~/.config/supabase-mcp/.env,Windows 上为 %APPDATA%\supabase-mcp\.env)中的 .env 文件中设置环境变量。
  • 访问日志 - MCP 服务器将详细日志写入文件:
    • 日志文件位置:
      • macOS/Linux: ~/.local/share/supabase-mcp/mcp_server.log
      • Windows: %USERPROFILE%\.local\share\supabase-mcp\mcp_server.log
    • 日志包括连接状态、配置详细信息和操作结果。
    • 使用任何文本编辑器或终端命令查看日志:
      # 在 macOS/Linux 上
      cat ~/.local/share/supabase-mcp/mcp_server.log
      
      # 在 Windows 上(PowerShell)
      Get-Content "$env:USERPROFILE\.local\share\supabase-mcp\mcp_server.log"
      

如果您卡住了或以上任何说明不正确,请提个 issue。

MCP 检查器

一个非常有用的工具,可以帮助调试 MCP 服务器问题。如果您是从源码安装的,您可以从项目仓库运行 supabase-mcp-inspector,它将运行检查器实例。结合日志,这将使您全面了解服务器中发生的情况。

📝 如果从软件包安装,运行 supabase-mcp-inspector 无法正常工作 - 我将在下一个版本中验证并修复此问题。

功能概述

数据库查询工具

从 v0.3+ 版本开始,服务器提供具有内置安全控制的全面数据库管理功能:

  • SQL 查询执行: 执行 PostgreSQL 查询并进行风险评估

    • 三级安全系统:
      • safe: 只读操作 (SELECT) - 始终允许
      • write: 数据修改 (INSERT, UPDATE, DELETE) - 需要启用不安全模式
      • destructive: 模式更改 (DROP, CREATE) - 需要启用不安全模式并确认
  • SQL 解析和验证:

    • 使用 PostgreSQL 的解析器 (pglast) 进行精确分析,并提供关于安全要求的清晰反馈
  • 自动迁移版本控制:

    • 数据库更改操作会自动进行版本控制
    • 基于操作类型和目标生成描述性名称
  • 安全控制:

    • 默认 SAFE 模式只允许只读操作
    • 所有语句都通过 asyncpg 在事务模式下运行
    • 高风险操作需要两步确认
  • 可用工具:

    • get_schemas: 列出模式,包括大小和表数量
    • get_tables: 列出表、外部表和视图及其元数据
    • get_table_schema: 获取详细的表结构(列、键、关系)
    • execute_postgresql: 对您的数据库执行 SQL 语句
    • confirm_destructive_operation: 执行高风险操作前需确认
    • retrieve_migrations: 获取迁移,并支持过滤和分页
    • live_dangerously: 在安全模式和非安全模式之间切换

管理 API 工具

从 v0.3.0 版本开始,服务器提供对 Supabase 管理 API 的安全访问,并内置安全控制:

  • 可用工具:

    • send_management_api_request: 发送任意请求到 Supabase 管理 API,并自动注入项目引用
    • get_management_api_spec: 获取增强的 API 规范,包含安全信息
      • 支持多种查询模式:按域名、按特定路径/方法或所有路径
      • 包含每个端点的风险评估信息
      • 提供详细的参数要求和响应格式
      • 帮助大型语言模型理解 Supabase 管理 API 的全部功能
    • get_management_api_safety_rules: 获取所有安全规则及其易于理解的解释
    • live_dangerously: 在安全操作模式和非安全操作模式之间切换
  • 安全控制:

    • 使用与数据库操作相同的安全管理器,实现一致的风险管理
    • 操作按风险级别分类:
      • safe: 只读操作 (GET) - 始终允许
      • unsafe: 修改状态的操作 (POST, PUT, PATCH, DELETE) - 需要非安全模式
      • blocked: 破坏性操作(删除项目等) - 永不允许
    • 默认安全模式可防止意外状态更改
    • 基于路径的模式匹配,实现精确的安全规则

注意: 管理 API 工具仅适用于远程 Supabase 实例,与本地 Supabase 开发环境不兼容。

Auth 管理工具

我原本计划向 MCP 服务器添加对 Python SDK 方法的支持。经过考虑,我决定只添加对 Auth 管理方法的支持,因为我经常发现自己手动创建测试用户,这容易出错且费时。现在,我可以直接请求 Cursor 创建测试用户,它会无缝完成。查看完整的 Auth 管理 SDK 方法文档以了解其功能。

从 v0.3.6 版本开始,服务器支持通过 Python SDK 直接访问 Supabase Auth 管理方法:

  • 包括以下工具:
    • get_auth_admin_methods_spec 用于检索所有可用 Auth 管理方法的文档
    • call_auth_admin_method 用于直接调用 Auth 管理方法,并进行正确的参数处理
  • 支持的方法:
    • get_user_by_id: 通过 ID 获取用户
    • list_users: 分页列出所有用户
    • create_user: 创建新用户
    • delete_user: 通过 ID 删除用户
    • invite_user_by_email: 向用户的邮箱发送邀请链接
    • generate_link: 为各种身份验证目的生成电子邮件链接
    • update_user_by_id: 通过 ID 更新用户属性
    • delete_factor: 删除用户的某个因子(目前 SDK 中未实现)

为什么使用 Auth 管理 SDK 而不是直接使用 SQL 查询?

Auth 管理 SDK 比直接操作 SQL 提供了几个关键优势:

  • 功能性: 支持 SQL 单独无法实现的操作(邀请、魔法链接、MFA)

  • 准确性: 比创建和执行 auth schema 上的原始 SQL 查询更可靠

  • 简洁性: 提供清晰的方法,并具有适当的验证和错误处理

  • 响应格式:

    • 所有方法返回结构化的Python对象,而不是原始字典。
    • 对象属性可以使用点表示法访问(例如,user.id 而不是 user["id"])。
  • 边界情况和限制:

    • UUID 验证:许多方法需要有效的 UUID 格式的用户 ID,否则将返回具体的验证错误。
    • 邮件配置:invite_user_by_emailgenerate_link 等方法需要在您的 Supabase 项目中配置邮件发送功能。
    • 链接类型:生成链接时,不同类型的链接有不同的要求:
      • signup 链接不需要用户存在。
      • magiclinkrecovery 链接要求用户已存在于系统中。
    • 错误处理:服务器提供来自 Supabase API 的详细错误消息,这可能与仪表板界面有所不同。
    • 方法可用性:某些方法(例如 delete_factor)在 API 中公开,但在 SDK 中未完全实现。

日志与分析

服务器提供对 Supabase 日志和分析数据的访问,使监控和排查应用程序问题更加容易:

  • 可用工具: retrieve_logs - 访问任何 Supabase 服务的日志

  • 日志集合:

    • postgres: 数据库服务器日志
    • api_gateway: API 网关请求
    • auth: 身份验证事件
    • postgrest: RESTful API 服务日志
    • pooler: 连接池日志
    • storage: 对象存储操作
    • realtime: WebSocket 订阅日志
    • edge_functions: 无服务器函数执行
    • cron: 定时作业日志
    • pgbouncer: 连接池日志
  • 功能: 按时间筛选、搜索文本、应用字段过滤器或使用自定义 SQL 查询

简化了跨 Supabase 栈的调试过程,无需在不同界面之间切换或编写复杂的查询。

数据库变更的自动版本控制

“能力越大,责任越大”。虽然 execute_postgresql 工具结合恰如其分的 live_dangerously 工具提供了一种强大且简单的 Supabase 数据库管理方法,但也意味着删除表或修改表只需一条聊天消息即可完成。为了降低不可逆转更改的风险,从 v0.3.8 版本开始,服务器支持:

  • 为数据库上执行的所有写入和破坏性 SQL 操作自动创建迁移脚本
  • 改进的查询执行安全模式,其中所有查询都分为:
    • safe 类型:始终允许。包括所有只读操作。
    • write 类型:需要用户启用 write 模式。
    • destructive 类型:需要用户启用 write 模式,并且对于不自动执行工具的客户端,需要进行两步确认才能执行查询。

通用安全模式

从 v0.3.8 版本开始,安全模式已在所有服务(数据库、API、SDK)中使用通用的安全管理器进行标准化。这提供了一致的风险管理和统一的界面,用于控制整个 MCP 服务器的安全设置。

所有操作(SQL 查询、API 请求、SDK 方法)都分为以下风险等级:

  • 风险:不会修改数据或结构的只读操作(SELECT 查询,GET API 请求)
  • 风险:修改数据但不修改结构的写入操作(INSERT/UPDATE/DELETE,大多数 POST/PUT API 请求)
  • 风险:修改数据库结构或可能导致数据丢失的破坏性操作(DROP/TRUNCATE,DELETE API 端点)
  • 极高 风险:后果严重的、完全被阻止的操作(删除项目)

安全控制基于风险等级实施:

  • 低风险操作始终允许。
  • 中等风险操作需要启用不安全模式。
  • 高风险操作需要启用不安全模式并进行显式确认。
  • 极高风险操作始终不允许。

确认流程说明

任何高风险操作(无论是 PostgreSQL 请求还是 API 请求)即使在unsafe模式下也会被阻止。 每项高风险操作都会被阻止 您必须显式确认并批准每一项高风险操作才能执行。 始终需要显式批准

更新日志

  • 📦 通过包管理器简化安装 - ✅ (v0.2.0)
  • 🌎 支持不同的 Supabase 区域 - ✅ (v0.2.2)
  • 🎮 通过安全控制以编程方式访问 Supabase 管理 API - ✅ (v0.3.0)
  • 👷‍♂️ 使用安全控制进行数据库 SQL 查询(读和读写) - ✅ (v0.3.0)
  • 🔄 针对直接连接和池化连接提供强大的事务处理 - ✅ (v0.3.2)
  • 🐍 支持原生 Python SDK 中的可用方法和对象 - ✅ (v0.3.6)
  • 🔍 加强 SQL 查询验证 ✅ (v0.3.8)
  • 📝 数据库更改的自动版本控制 ✅ (v0.3.8)
  • 📖 大幅改进 API 规范的知识和工具 ✅ (v0.3.8)
  • ✍️ 改进迁移相关工具的一致性,实现更规范的数据库版本控制 ✅ (v0.3.10)
  • 🥳 发布 Query MCP (v0.4.0)

更多详细的路线图,请查看GitHub上的这个讨论

Star 历史记录

Star 历史图表


祝您愉快!☺️

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档