Integrations
Integrates with Codeium's Cascade feature (for paying users) to provide database management tools through natural language commands in the Cascade interface.
Enables direct management of PostgreSQL databases with tools for tables, columns, records, indexes, constraints, functions, triggers, and executing custom SQL queries.
Provides full administrative control over a Supabase PostgreSQL database, including tools for table operations, record management, schema modifications, indexes, constraints, database functions, triggers, security policies, and storage management.
Supabase MCP 服务器🚀
🔥 强大的模型上下文协议 (MCP) 服务器,可通过 Cursor 的 Composer 和 Codeium 的 Cascade 为您的 Supabase PostgreSQL 数据库提供全面的管理控制。此工具提供全面的表操作、记录管理、模式修改等功能,可实现无缝的数据库管理。
📚 目录
🔧 先决条件
- Node.js >= 16.x
- npm >= 8.x
- Supabase 项目包括:
- 项目 ID
- 数据库密码
- PostgreSQL 连接字符串
- Cursor IDE 或 Codeium 的 Cascade(针对付费用户)
🚀 快速入门
📥 安装
⚙️ 配置
- 安装依赖项并构建项目:Copy
- 在 Cursor 的 MCP 设置中,使用以下命令添加服务器:代替:Copy
/path/to/dist/index.js
替换为您的实际路径[PROJECT-ID]
替换为您的 Supabase 项目 ID[PASSWORD]
替换为您的数据库密码
注意:请确保您的数据库凭证安全,切勿将其提交到版本控制中。
🎯 集成
光标 MCP 集成
模型上下文协议 (MCP) 允许您为 Cursor 中的代理 LLM 提供自定义工具。该服务器可以与 Cursor 的 Composer 功能集成,通过自然语言命令直接访问所有数据库管理工具。
在 Cursor 中设置
- 打开“光标设置”>“功能”>“MCP”
- 点击“+ 添加新的 MCP 服务器”按钮
- 填写模态表单:
- 名称:“Supabase MCP”(或您喜欢的任何昵称)
- 类型:
command
(stdio 传输) - 命令:包含连接详细信息的完整命令字符串
- 首先构建项目:Copy
- 获取你的 Node.js 路径:Copy
- 添加服务器命令:代替:Copy
/path/to/node
替换为你的实际 Node.js 路径(来自步骤 5)/path/to/dist/index.js
替换为您构建的 JavaScript 文件的实际路径[PROJECT-ID]
替换为您的 Supabase 项目 ID[PASSWORD]
替换为您的数据库密码
- 点击“添加服务器”,然后点击右上角的刷新按钮
使用 Cursor 中的工具
当你描述数据库任务时,Composer Agent 会自动检测并使用相关工具。例如:
- “列出我的数据库中的所有表”
- “创建一个新的用户表”
- “为电子邮件列添加索引”
当代理使用工具时,您会看到:
- 提示批准/拒绝工具调用
- 工具调用参数(可扩展)
- 批准后的回应
注意:对于像这样的 stdio 服务器,该命令必须是有效的 shell 命令。如果需要环境变量,请考虑使用包装脚本。
风帆冲浪/级联集成
此 MCP 服务器还支持 Codeium 的 Cascade (Windsurf) 集成。请注意,此功能目前仅适用于付费个人用户(不适用于团队或企业用户)。
使用 Cascade 进行设置
- 创建或编辑
~/.codeium/windsurf/mcp_config.json
:Copy - 快速访问配置:
- 找到 Cascade 输入上方的工具栏
- 点击锤子图标
- 点击“配置”打开 mcp_config.json
- 在配置中替换:
/path/to/node
替换为您的实际 Node.js 路径/path/to/dist/index.js
替换为您的实际路径[PROJECT-ID]
替换为您的 Supabase 项目 ID[PASSWORD]
替换为您的数据库密码
- 在 Cascade 中:
- 单击工具栏中的锤子图标
- 单击“配置”以验证您的设置
- 点击“刷新”加载 MCP 服务器
- 单击服务器名称查看可用的工具
Cascade 用户重要须知
- 仅支持工具功能(无提示或资源)
- MCP 工具调用无论成功或失败都会消耗积分
- 不支持图像输出
- 仅支持 stdio 传输类型
- 工具调用可以调用任意服务器实现者编写的代码
- Cascade 不承担 MCP 工具调用失败的责任
✨ 特点
🎯 可用的数据库工具
表管理
- 表:
list_tables
、create_table
、drop_table
、rename_table
- 列:
add_column
、drop_column
、alter_column
- 记录:
fetch_records
、create_record
、update_record
、delete_record
索引和约束
- 索引:
list_indexes
、create_index
、delete_index
、update_index
- 约束:
list_constraints
、add_constraint
、remove_constraint
、update_constraint
数据库函数和触发器
- 函数:
list_functions
、create_function
、update_function
、delete_function
- 触发器:
list_triggers
、create_trigger
、update_trigger
、delete_trigger
安全与访问控制
- 策略:
list_policies
、create_policy
、update_policy
、delete_policy
- 角色:
list_roles
、create_role
、update_role
、delete_role
存储管理
- 存储桶:
list_buckets
、create_bucket
、delete_bucket
- 文件:
delete_file
、bulk_delete_files
- 文件夹:
list_folders
数据类型和出版物
- 枚举类型:
list_enumerated_types
、create_enumerated_type
、update_enumerated_type
、delete_enumerated_type
- 出版物:
list_publications
、create_publication
、update_publication
、delete_publication
实时功能
- 政策:
list_realtime_policies
、create_realtime_policy
、update_realtime_policy
、delete_realtime_policy
- 频道:
list_realtime_channels
、manage_realtime_channels
、send_realtime_message
、get_realtime_messages
- 管理:
manage_realtime_status
、manage_realtime_views
用户管理
- 授权:
list_users
、create_user
、update_user
、delete_user
直接 SQL 访问
- 查询:
query
——执行自定义 SQL 查询
🚀 主要优点
- 自然语言控制:通过简单的对话命令管理您的 Supabase 数据库
- 全面覆盖:全套工具,涵盖表格、记录、索引、功能、安全性等
- 无缝集成:直接在 Cursor 的 Composer 和 Codeium 的 Cascade 中工作
- 开发人员友好:减少 IDE 和数据库管理工具之间的上下文切换
- 安全访问:通过适当的身份验证维护数据库安全
📁 项目结构
💡 使用方法
配置完成后,MCP 服务器将通过 Cursor 的 Composer 提供所有数据库管理工具。只需描述您想要对数据库执行的操作,AI 就会使用相应的命令。
例子:
- 📋“显示我的数据库中的所有表”
- ➕“创建一个包含 id、name 和 email 列的新用户表”
- 🔍“在用户表的电子邮件列上添加索引”
🔒 安全说明
- 🔐 确保数据库连接字符串的安全
- ⚠️ 切勿将敏感凭据提交到版本控制
- 👮 使用适当的访问控制和权限
- 🛡️ 验证并清理所有输入以防止 SQL 注入
🛠️ 故障排除
常见连接问题
- Node.js 路径问题
- 确保使用正确的 Node.js 路径
- 在 Mac/Linux 上:使用
which node
找到正确的路径 - 在 Windows 上:使用
where node
查找正确的路径 - 将
/usr/local/bin/node
替换为您的实际 Node.js 路径
- 文件路径问题
- 使用绝对路径而不是相对路径
- 在 Mac/Linux 上:在项目目录中使用
pwd
获取完整路径 - 在 Windows 上:使用
cd
获取完整路径 - 例如:
/Users/username/projects/supabase-mcp-server/dist/index.js
- MCP 未检测工具
- 点击 Cursor 的 MCP 设置中的刷新按钮
- 确保服务器正在运行(没有错误消息)
- 检查你的连接字符串是否正确
- 验证您的 Supabase 凭据是否有效
- 权限问题
- 确保
dist
目录存在(运行npm run build
) - 检查文件权限(在 Unix 系统上为
chmod +x
) - 使用适当的权限运行
npm install
- 确保
调试模式
在命令前添加DEBUG=true
即可查看详细日志:
特定平台的说明
Windows 用户
Linux 用户
如果您仍然遇到问题,请打开以下问题:
- 您的操作系统
- Node.js 版本(
node --version
) - 完整错误消息
- 复现步骤
🤝 贡献
欢迎贡献代码!欢迎提交 Pull 请求。
📄 许可证
This server cannot be installed
一个强大的服务器,通过 Cursor 的 Composer 和 Codeium 的 Cascade 提供对 Supabase PostgreSQL 数据库的管理控制,实现表、记录、模式修改等功能的数据库管理。