Supabase MCP 服务器🚀
🔥 强大的模型上下文协议 (MCP) 服务器,可通过 Cursor 的 Composer 和 Codeium 的 Cascade 为您的 Supabase PostgreSQL 数据库提供全面的管理控制。此工具提供全面的表操作、记录管理、模式修改等功能,可实现无缝的数据库管理。
📚 目录
🔧 先决条件
Node.js >= 16.x
npm >= 8.x
Supabase 项目包括:
项目 ID
数据库密码
PostgreSQL 连接字符串
Cursor IDE 或 Codeium 的 Cascade(针对付费用户)
🚀 快速入门
📥 安装
⚙️ 配置
安装依赖项并构建项目:
npm install npm run build在 Cursor 的 MCP 设置中,使用以下命令添加服务器:
/opt/homebrew/bin/node /path/to/dist/index.js postgresql://postgres.[PROJECT-ID]:[PASSWORD]@aws-0-eu-central-1.pooler.supabase.com:5432/postgres代替:
/path/to/dist/index.js
替换为您的实际路径[PROJECT-ID]
替换为您的 Supabase 项目 ID[PASSWORD]
替换为您的数据库密码
注意:请确保您的数据库凭证安全,切勿将其提交到版本控制中。
🎯 集成
光标 MCP 集成
模型上下文协议 (MCP) 允许您为 Cursor 中的代理 LLM 提供自定义工具。该服务器可以与 Cursor 的 Composer 功能集成,通过自然语言命令直接访问所有数据库管理工具。
在 Cursor 中设置
打开“光标设置”>“功能”>“MCP”
点击“+ 添加新的 MCP 服务器”按钮
填写模态表单:
名称:“Supabase MCP”(或您喜欢的任何昵称)
类型:
command
(stdio 传输)命令:包含连接详细信息的完整命令字符串
首先构建项目:
npm install npm run build获取你的 Node.js 路径:
# On Mac/Linux which node # On Windows where node添加服务器命令:
/path/to/node /path/to/dist/index.js postgresql://postgres.[PROJECT-ID]:[PASSWORD]@aws-0-eu-central-1.pooler.supabase.com:5432/postgres代替:
/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
:{ "mcpServers": { "supabase-mcp": { "command": "/path/to/node", "args": [ "/path/to/dist/index.js", "postgresql://postgres.[PROJECT-ID]:[PASSWORD]@aws-0-eu-central-1.pooler.supabase.com:5432/postgres" ] } } }快速访问配置:
找到 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
- 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 -12802Apache 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 -1MIT License
- -securityAlicense-qualityEnables Cursor and Windsurf to safely interact with Supabase databases by providing tools for database management, SQL query execution, and Supabase Management API access with built-in safety controls.Last updated -10Apache 2.0
- -security-license-qualityEnables IDE access to Supabase databases with SQL query execution, schema management, Auth admin operations, and built-in safety controls to prevent accidental destructive actions.Last updated -Apache 2.0