数据库连接服务

PolarDB Supabase MCP Server 是一个连接AI助手与PolarDB Supabase实例的服务,支持管理表、查询数据等功能。

  • by ApsaraDB
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 ApsaraDB/PolarDB-Supabase-MCP-Server

使用说明

PolarDB Supabase MCP服务器

将您的PolarDB Supabase实例连接到Cursor、Claude、Windsurf和其他AI助手。

这 模型上下文协议 (MCP)规范了大型语言模型(LLM)与Supabase等外部服务的通信方式。该服务器将AI助手直接与您的PolarDB Supabase项目连接,并允许他们执行管理表、获取配置和查询数据等任务。

先决条件

你需要在你的机器上安装Node.js。您可以通过运行以下命令来检查:

node -v

如果你没有安装Node.js,你可以从以下网址下载 nodejs.org.

设置

1.获取您的PolarDB凭据

您需要从PolarDB实例中获取以下内容:

  • API URL:您的PolarDB实例端点(例如。, http://your-host:port)
  • 服务角色密钥:用于数据库操作,并作为边缘功能/秘密的回退身份验证
  • 仪表板用户名/密码 (可选):用于边缘功能、机密管理和类型生成(如果未提供,将使用服务角色密钥)

2.配置您的MCP客户端

配置您的MCP客户端(如Cursor)以使用此服务器。大多数MCP客户端将配置存储为JSON。

选项1:使用npx(推荐-不需要本地构建)

{
  "mcpServers": {
    "polardb-supabase": {
      "command": "npx",
      "args": [
        "-y",
        "polardb-supabase-mcp",
        "--api-url",
        "http://your-polardb-supabase-host:port",
        "--service-role-key",
        "your-service-role-key",
        "--anon-key",
        "your-anon-key",
        "--dashboard-username",
        "your-dashboard-username",
        "--dashboard-password",
        "your-dashboard-password",
        "--project-ref",
        "default"
      ]
    }
  }
}

选项2:使用本地构建

{
  "mcpServers": {
    "polardb-supabase": {
      "command": "node",
      "args": [
        "/path/to/supabase-mcp/packages/mcp-server-supabase/dist/transports/stdio.js",
        "--api-url",
        "http://your-polardb-supabase-host:port",
        "--service-role-key",
        "your-service-role-key",
        "--anon-key",
        "your-anon-key",
        "--dashboard-username",
        "your-dashboard-username",
        "--dashboard-password",
        "your-dashboard-password",
        "--project-ref",
        "default"
      ]
    }
  }
}

将占位符值替换为实际的PolarDB凭据。

安全

在运行MCP服务器之前,我们建议您阅读我们的 安全最佳实践 了解将LLM连接到PolarDB项目的风险以及如何减轻这些风险。

只读模式

要将服务器限制为只读查询,请设置 --read-only 标志:

node /path/to/supabase-mcp/packages/mcp-server-supabase/dist/transports/stdio.js --read-only

我们建议您默认启用此功能。这可以防止对数据库进行写入操作,包括创建或删除边缘函数机密。

工具

LLM可以使用以下工具:

数据库

  • list_tables:列出指定架构中的所有表
  • execute_sql:执行数据库中的原始SQL

发展

  • get_project_url:获取项目的API URL
  • get_anon_key:获取项目的匿名API密钥

边缘功能

  • list_edge_functions:列出项目中的所有边函数
  • get_edge_function:获取特定边函数的详细信息
  • deploy_edge_function:将新的边缘功能部署到项目中

边缘功能的秘密

  • list_ef_secrets:列出所有边缘函数机密(加密值)。
  • create_ef_secrets:创建或更新边缘函数机密(支持批处理;值已加密)。
  • delete_ef_secrets:删除边缘函数机密(支持批量删除)。

备注:机密管理支持两种身份验证方法:首选仪表板身份验证(用户名/密码),但也可以使用服务角色密钥。秘密在存储时会自动加密。

AI提示

  • get_best_practices:列出所有可用的Supabase AI提示和开发指南

资源

许可证

该项目在Apache 2.0下获得许可。看 许可证 文件以获取详细信息。