返回 MCP 目录
public公开dns本地运行

Selfhosted Supabase

这是一个专为自托管Supabase实例设计的Model Context Protocol (MCP)服务器项目,提供了数据库管理、模式查询、用户认证、存储查看等功能,支持通过MCP客户端工具进行开发环境集成。

article

README

🚀 自托管 Supabase MCP 服务器

本项目可帮助你自托管 Supabase MCP 服务器,通过简单的安装和配置,就能快速搭建并运行服务。

🚀 快速开始

要使用自托管 Supabase MCP 服务器,需完成安装和配置环境变量的步骤,之后就可以运行服务了。

📦 安装指南

使用 npm 安装 @supabase/supabase-jspg

npm install @supabase/supabase-js pg

🔧 配置环境变量

创建一个 .env 文件并添加以下内容:

SUPABASE_URL=your-supabase-url
SUPABASE_ANON_KEY=your-supabase-anon-key
SUPABASE_SERVICE_ROLE_KEY=your-supabase-service-key (可选)
DATABASE_URL=postgres://user:password@localhost:5432/dbname (可选)
SUPABASE_AUTH_JWT_SECRET=your-jwt-secret (可选)

💻 使用示例

基础用法

通过 Node.js 运行:

import { createServer } from '@modelcontextprotocol/sdk'
import { SupabaseProvider } from './src/SupabaseProvider'

async function start() {
  const server = await createServer()
  server.use(new SupabaseProvider())
  await server.listen(3001)
}

start().catch(console.error)

📚 详细文档

CLI 选项

Usage: mcp-server [options]

Options:
  -u, --url <supabase-url>      Supabase 服务 URL
  -a, --anon-key <anon-key>     Supabase 匿名访问密钥
  -s, --service-key <service-key>  Supabase 服务角色密钥(可选)
  -d, --db-url <db-url>        数据库连接 URL(可选)
  -j, --jwt-secret <jwt-secret>  Supabase JWT 签名密钥(可选)
  -c, --config <config-path>    工具配置文件路径(默认为 ./mcp-tools.json)
  -h, --help                   显示帮助信息

配置文件示例

package.json

{
  "scripts": {
    "start": "mcp-server --url your-supabase-url --anon-key your-anon-key"
  }
}

mcp-tools.json

{
  "tools": {
    "supabase": {
      "version": "2.39.0",
      "path": "~/.supabase/cli"
    },
    "psql": {
      "version": "15.4",
      "path": "/usr/bin/psql"
    }
  }
}

自定义工具配置

import { defineTools } from '@modelcontextprotocol/sdk'

defineTools(() => ({
  supabase: {
    version: '2.39.0',
    path: '~/.supabase/cli'
  },
  psql: {
    version: '15.4',
    path: '/usr/bin/psql'
  }
}))

注意事项

⚠️ 重要提示

  • 支持的文件类型:.sql, .psql, .js, .ts
  • 使用 #-- 注释 SQL 查询
  • 忽略语言特定的注释(如 TypeScript 的 // 和 JavaScript 的 //

开发

  • 语言:TypeScript
  • 构建:使用 tsc(TypeScript 编译器)
  • 依赖项:请参阅 package.json
  • 开发:在 src/ 目录中进行修改

📄 许可证

本项目遵循 MIT 协议。

help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端