Supabase MCP Server 🚀
镜子 (jìng zi)
MCP-Mirror
README
Supabase MCP 服务器 🚀
🔥 强大的模型上下文协议 (MCP) 服务器,通过 Cursor 的 Composer 和 Codeium 的 Cascade 提供对 Supabase PostgreSQL 数据库的完全管理控制。此工具支持无缝数据库管理,具有全面的表操作、记录管理、模式修改等功能。
<div align="center"> <img src="https://miro.medium.com/v2/resize:fit:1400/1*pnSzmFJRCJztS7tkSJXYuQ.jpeg" alt="Supabase" width="600"/> </div>
📚 目录
🔧 先决条件
- Node.js >= 16.x
- npm >= 8.x
- 具有以下信息的 Supabase 项目:
- 项目 ID
- 数据库密码
- PostgreSQL 连接字符串
- Cursor IDE 或 Codeium 的 Cascade(适用于付费用户)
🚀 快速开始
📥 安装
# 克隆仓库
git clone https://github.com/Quegenx/supabase-mcp-server.git
cd supabase-mcp-server
# 安装依赖
npm install
# 构建项目
npm run build
⚙️ 配置
-
安装依赖并构建项目:
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]
为您的数据库密码
注意:请确保您的数据库凭据安全,并且永远不要将其提交到版本控制。
🎯 集成
Cursor MCP 集成
模型上下文协议 (MCP) 允许您为 Cursor 中的代理 LLM 提供自定义工具。此服务器可以与 Cursor 的 Composer 功能集成,通过自然语言命令直接访问所有数据库管理工具。
在 Cursor 中设置
-
打开 Cursor 设置 > 功能 > MCP
-
点击 "+ Add New MCP Server" 按钮
-
填写模态表单:
- 名称: "Supabase MCP" (或您喜欢的任何昵称)
- 类型:
command
(stdio 传输) - 命令: 包含连接详细信息的完整命令字符串
-
首先构建项目:
npm install npm run build
-
获取您的 Node.js 路径:
# 在 Mac/Linux 上 which node # 在 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]
为您的数据库密码
-
点击 "Add Server",然后点击右上角的刷新按钮
在 Cursor 中使用工具
当您描述数据库任务时,Composer Agent 将自动检测并使用相关工具。 例如:
- "列出我数据库中的所有表"
- "创建一个新的 users 表"
- "向 email 列添加索引"
当代理使用工具时,您将看到:
- 批准/拒绝工具调用的提示
- 工具调用参数(可展开)
- 批准后的响应
注意:对于像这样的 stdio 服务器,该命令应该是有效的 shell 命令。 如果您需要环境变量,请考虑使用包装脚本。
Windsurf/Cascade 集成
此 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 输入上方的工具栏
- 点击锤子图标
- 点击 "Configure" 以打开 mcp_config.json
-
在配置中替换:
/path/to/node
为您的实际 Node.js 路径/path/to/dist/index.js
为您的实际路径[PROJECT-ID]
为您的 Supabase 项目 ID[PASSWORD]
为您的数据库密码
-
在 Cascade 中:
- 点击工具栏中的锤子图标
- 点击 "Configure" 以验证您的设置
- 点击 "Refresh" 以加载 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 和数据库管理工具之间的上下文切换
- 安全访问:通过适当的身份验证维护您的数据库安全
📁 项目结构
supabase-mcp-server/
├── dist/ # 编译后的 JavaScript 文件
│ ├── index.d.ts # TypeScript 声明
│ └── index.js # 主 JavaScript 文件
├── src/ # 源代码
│ └── index.ts # 主 TypeScript 文件
├── package.json # 项目配置
├── package-lock.json # 依赖锁定文件
└── tsconfig.json # TypeScript 配置
💡 用法
配置完成后,MCP 服务器通过 Cursor 的 Composer 提供所有数据库管理工具。 只需描述您想对数据库执行的操作,AI 将使用适当的命令。
例子:
- 📋 "显示我数据库中的所有表"
- ➕ "创建一个新的 users 表,其中包含 id、name 和 email 列"
- 🔍 "在 users 表的 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
以查看详细日志:
DEBUG=true /usr/local/bin/node /path/to/dist/index.js [connection-string]
平台特定说明
Windows 用户
# 使用以下格式的命令
"C:\\Program Files\\nodejs\\node.exe" "C:\\path\\to\\dist\\index.js" "postgresql://..."
Linux 用户
# 查找 Node.js 路径
which node
# 使脚本可执行
chmod +x /path/to/dist/index.js
如果您仍然遇到问题,请打开一个 issue,并提供:
- 您的操作系统
- Node.js 版本 (
node --version
) - 完整错误消息
- 重现步骤
🤝 贡献
欢迎贡献! 请随时提交 Pull Request。
📄 许可证
<div align="center"> <p>用 ❤️ 为 Cursor 社区构建</p> <p> <a href="https://cursor.sh">Cursor</a> • <a href="https://supabase.com">Supabase</a> • <a href="https://github.com/Quegenx">GitHub</a> </p> </div>
推荐服务器
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
MCP Package Docs Server
促进大型语言模型高效访问和获取 Go、Python 和 NPM 包的结构化文档,通过多语言支持和性能优化来增强软件开发。
Claude Code MCP
一个实现了 Claude Code 作为模型上下文协议(Model Context Protocol, MCP)服务器的方案,它可以通过标准化的 MCP 接口来使用 Claude 的软件工程能力(代码生成、编辑、审查和文件操作)。
@kazuph/mcp-taskmanager
用于任务管理的模型上下文协议服务器。它允许 Claude Desktop(或任何 MCP 客户端)在基于队列的系统中管理和执行任务。
mermaid-mcp-server
一个模型上下文协议 (MCP) 服务器,用于将 Mermaid 图表转换为 PNG 图像。
Jira-Context-MCP
MCP 服务器向 AI 编码助手(如 Cursor)提供 Jira 工单信息。

Linear MCP Server
一个模型上下文协议(Model Context Protocol)服务器,它与 Linear 的问题跟踪系统集成,允许大型语言模型(LLM)通过自然语言交互来创建、更新、搜索和评论 Linear 问题。

Sequential Thinking MCP Server
这个服务器通过将复杂问题分解为顺序步骤来促进结构化的问题解决,支持修订,并通过完整的 MCP 集成来实现多条解决方案路径。
Curri MCP Server
通过管理文本笔记、提供笔记创建工具以及使用结构化提示生成摘要,从而实现与 Curri API 的交互。