article
README
🚀 自托管 Supabase MCP 服务器
本项目可帮助你自托管 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)
📚 详细文档
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 协议。
Scan to join WeChat group