Supabase MCP 服务器🚀
🔥 强大的模型上下文协议 (MCP) 服务器,可通过 Cursor 的 Composer 和 Codeium 的 Cascade 为您的 Supabase PostgreSQL 数据库提供全面的管理控制。此工具提供全面的表操作、记录管理、模式修改等功能,可实现无缝的数据库管理。
📚 目录
🔧 先决条件
- Node.js >= 16.x
- npm >= 8.x
- Supabase 项目包括:
- 项目 ID
- 数据库密码
- PostgreSQL 连接字符串
- Cursor IDE 或 Codeium 的 Cascade(针对付费用户)
🚀 快速入门
📥 安装
⚙️ 配置
- 安装依赖项并构建项目:
- 在 Cursor 的 MCP 设置中,使用以下命令添加服务器:代替:
/path/to/dist/index.js
替换为您的实际路径[PROJECT-ID]
替换为您的 Supabase 项目 ID[PASSWORD]
替换为您的数据库密码
注意:请确保您的数据库凭证安全,切勿将其提交到版本控制中。
🎯 集成
光标 MCP 集成
模型上下文协议 (MCP) 允许您为 Cursor 中的代理 LLM 提供自定义工具。该服务器可以与 Cursor 的 Composer 功能集成,通过自然语言命令直接访问所有数据库管理工具。
在 Cursor 中设置
- 打开“光标设置”>“功能”>“MCP”
- 点击“+ 添加新的 MCP 服务器”按钮
- 填写模态表单:
- 名称:“Supabase MCP”(或您喜欢的任何昵称)
- 类型:
command
(stdio 传输) - 命令:包含连接详细信息的完整命令字符串
- 首先构建项目:
- 获取你的 Node.js 路径:
- 添加服务器命令:代替:
/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
: - 快速访问配置:
- 找到 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
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
一个强大的服务器,通过 Cursor 的 Composer 和 Codeium 的 Cascade 提供对 Supabase PostgreSQL 数据库的管理控制,实现表、记录、模式修改等功能的数据库管理。
Related MCP Servers
- AsecurityAlicenseAqualityFacilitates management and optimization of PostgreSQL databases, offering analysis, setup guidance, and debugging, while ensuring secure and efficient database operations.Last updated -3612TypeScriptAGPL 3.0
- AsecurityAlicenseAqualityThis server enables interaction with Supabase PostgreSQL databases through the MCP protocol, allowing seamless integration with Cursor and Windsurf IDEs for secure and validated database management.Last updated -11699PythonApache 2.0
- -securityAlicense-qualityAn MCP server that connects to Supabase PostgreSQL databases, exposing table schemas as resources and providing tools for data analysis through SQL queries.Last updated -JavaScriptMIT License
- -securityFlicense-qualityA server that allows AI models to interact with PostgreSQL databases through a standardized protocol, providing database schema information and SQL query execution capabilities.Last updated -JavaScript