Selfhosted Supabase

Selfhosted Supabase

🚀 自托管 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
-a, --anon-key      Supabase 匿名访问密钥
-s, --service-key   Supabase 服务角色密钥(可选)
-d, --db-url         数据库连接 URL(可选)
-j, --jwt-secret   Supabase JWT 签名密钥(可选)
-c, --config     工具配置文件路径(默认为 ./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 协议。

  • 0 关注
  • 0 收藏,10 浏览
  • system 提出于 2025-09-24 15:54

相似服务问题