README
🚀 如何设置和使用 Supabase MCP 服务器
本项目提供了一个 MCP(机器控制协议)服务器,可借助 Cursor 和 Codeium Cascade 对 Supabase 数据库进行管理。通过该服务器,你能够使用自然语言命令执行各类数据库操作。
🚀 快速开始
安装依赖
- 克隆本仓库:
git clone git@github.com:Quegenx/supabase-mcp-server.git
cd supabase-mcp-server
- 安装所有依赖项:
npm install
- 构建项目:
npm run build
配置
-
复制你的 Supabase 项目 ID 和 Anon 公共密钥。
-
创建一个
.env文件:
echo "SUPABASE_PROJECT_ID=your_project_id" > .env
echo "SUPABASE_PUBLIC_KEY=your_anon_key" >> .env
- 启动服务器:
npm start
✨ 主要特性
配置完成后,MCP 服务器会在 Cursor 的 Composer 中提供所有数据库管理工具。你只需描述想要对数据库执行的操作,AI 就会使用合适的命令来执行。
示例:
- 📋 "显示我数据库中的所有表"
- ➕ "创建一个包含 id、name 和 email 列的新用户表"
- 🔍 "在 users 表的 email 列上添加索引"
📦 安装指南
安装依赖
- 克隆本仓库:
git clone git@github.com:Quegenx/supabase-mcp-server.git
cd supabase-mcp-server
- 安装所有依赖项:
npm install
- 构建项目:
npm run build
配置
-
复制你的 Supabase 项目 ID 和 Anon 公共密钥。
-
创建一个
.env文件:
echo "SUPABASE_PROJECT_ID=your_project_id" > .env
echo "SUPABASE_PUBLIC_KEY=your_anon_key" >> .env
- 启动服务器:
npm start
💻 使用示例
基础用法
配置完成后,MCP 服务器将在 Cursor 的 Composer 中提供所有数据库管理工具。只需描述你想要对数据库进行的操作,AI 将会使用适当的命令执行。
示例:
- 📋 "显示我数据库中的所有表"
- ➕ "创建一个包含 id、name 和 email 列的新用户表"
- 🔍 "在 users 表的 email 列上添加索引"
📚 详细文档
项目结构
supabase-mcp-server/
├── dist/ # 编译后的 JavaScript 文件
│ ├── index.d.ts # TypeScript 声明文件
│ └── index.js # 主 JavaScript 文件
├── src/ # 源代码
│ └── index.ts # 主 TypeScript 文件
├── package.json # 项目配置
├── package-lock.json # 依赖项锁定文件
└── tsconfig.json # TypeScript 配置文件
平台特定说明
Windows 用户
- 确保安装了 Node.js
- 使用命令行运行命令
- 复制
.env文件到项目根目录
macOS 和 Linux 用户
- 确保你使用的是最新版本的 Node.js
- 可以使用
xdg-open或open打开生成的日志文件:
xdg-open ./logs/server.log
🔧 技术细节
故障排除
环境变量问题
- 确保你已经正确设置了
SUPABASE_PROJECT_ID和SUPABASE_PUBLIC_KEY。 - 检查
.env文件是否存在,并且没有拼写错误。
连接问题
- 确保你的网络允许出站到 Supabase 服务(默认端口:443)
- 使用
curl https://api.supabase.com/v1/anon测试连接
启动问题
npm start -- --env development
如果需要调试,可以使用以下命令:
DEBUG=supabase-mcp:* npm start
安全注意事项
- 🔐 保持你的数据库连接字符串安全
- ⚠️ 永远不要将敏感凭证提交到版本控制系统
- 👮 使用适当的访问控制和权限
- 🛡️ 验证和清理所有输入以防止 SQL 注入
📄 许可证
MIT License
📞 联系方式
有问题或建议?请在 GitHub Issues 中创建一个问题。
Scan to join WeChat group