hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Integrations
Enables CRUD operations on Postgres tables, including querying data with filters, inserting data, updating data, deleting data, and listing tables in a Supabase project.
Supabase MCP 服务器
模型上下文协议 (MCP) 服务器允许 Claude 和其他 LLM 与 Supabase 交互以对 Postgres 表执行 CRUD 操作。
特征
- 数据库操作:
- 使用过滤器查询数据
- 插入数据
- 更新数据
- 删除数据
- 列出表格
先决条件
- Node.js(v16 或更高版本)
- npm 或 yarn
- 带有 API 密钥的 Supabase 项目
安装
选项 1:从 npm 安装(推荐)
该软件包已发布在 npm 上!您可以使用以下命令全局安装它:
或者在您的项目中本地:
选项 2:克隆存储库
配置
使用您的 Supabase 凭证创建一个.env
文件:
与 Claude 一起使用
为了兼容 Claude,需要特定的传输模式。此软件包提供了用于 Claude 集成的专用二进制文件:
在 Claude Desktop MCP 配置中
确保在配置中设置了所需的环境变量。Claude 将使用 stdio 传输进行通信。
使用 Claude Binary 进行手动测试
要在 Claude 之外进行测试,您可以运行:
或者如果全局安装:
用作独立服务器
全局安装后:
这将在http://localhost:3000 (或 .env 文件中指定的端口)启动 MCP 服务器。
代码中的用法
您还可以在自己的 Node.js 项目中使用 supabase-mcp 作为库:
故障排除
常见问题和解决方案
1.“端口XXXX已被使用”
HTTP 服务器会自动尝试查找可用端口。您可以通过更改.env
文件中的MCP_SERVER_PORT
值来手动指定其他端口。
2.“缺少必需的环境变量”
确保您有一个包含所有必需值的正确.env
文件,或者您已在系统中设置了环境变量。
3. “TypeError:没有‘new’就无法调用类构造函数服务器”
如果您看到此错误,则可能是您正在运行该软件包的旧版本。请更新到最新版本:
4. Claude 的 JSON 解析错误
确保您使用的是 Claude 特定的二进制文件( supabase-mcp-claude
)而不是常规的 HTTP 服务器( supabase-mcp
)。
5. Claude 请求超时
这通常意味着 Claude 发起了连接,但服务器无法及时响应。请检查:
- 您的 Supabase 凭证正确吗?
- 您的服务器设置是否正确并且正在运行?
- 有什么东西阻碍了连接吗?
工具参考
数据库工具
- 查询数据库
- 参数:
table
(字符串):要查询的表的名称select
(字符串,可选):以逗号分隔的列列表(默认值:“*”)query
(对象,可选):过滤条件
- 参数:
- 插入数据
- 参数:
table
(字符串):表的名称data
(对象或对象数组):要插入的数据
- 参数:
- 更新数据
- 参数:
table
(字符串):表的名称data
(对象):要更新为键值对的数据query
(对象):更新的过滤条件
- 参数:
- 删除数据
- 参数:
table
(字符串):表的名称query
(对象):删除的过滤条件
- 参数:
- 列表表
- 参数:无
版本历史记录
- 1.0.0:初始版本
- 1.0.1:添加自动端口选择
- 1.0.2:修复协议兼容性问题
- 1.0.3:添加了 JSON-RPC 支持
- 1.1.0:使用官方 MCP SDK 完全重写
- 1.2.0:添加了单独的 Claude 传输并修复了端口冲突问题
- 1.3.0:更新以提高与 TypeScript 项目的兼容性
- 1.4.0:根据 Supabase 社区最佳实践修复了 Claude stdio 传输集成
- 1.5.0:删除了 Edge Function 支持,以提高稳定性并专注于数据库操作
执照
麻省理工学院
This server cannot be installed
模型上下文协议服务器使 Claude 和其他 LLM 能够通过自然语言执行数据库操作并调用 Supabase 中的边缘函数。