本项目可帮助你自托管 Supabase MCP 服务器,通过简单的安装和配置,就能快速搭建并运行服务。
要使用自托管 Supabase MCP 服务器,需完成安装和配置环境变量的步骤,之后就可以运行服务了。
使用 npm 安装 @supabase/supabase-js
和 pg
:
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)
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 的//
)
tsc
(TypeScript 编译器)package.json
src/
目录中进行修改本项目遵循 MIT 协议。