mcp数据库工具
MCP服务器,将Claude连接到您的Supabase项目。查询表、管理身份验证用户、检查存储桶和运行SQL——所有这些都来自Claude。
由...建造 色变.
安装
npx -y mcp-supabase-tools或全局安装:
npm install -g mcp-supabase-toolsClaude桌面配置
添加到您的 claude_desktop_config.json:
{
"mcpServers": {
"supabase": {
"command": "npx",
"args": ["-y", "mcp-supabase-tools"],
"env": {
"SUPABASE_URL": "https://your-project.supabase.co",
"SUPABASE_SERVICE_KEY": "your-service-role-key"
}
}
}
}环境变量
| 变量 | 必填 | 描述 |
|---|---|---|
SUPABASE_URL | 是 | 您的Supabase项目URL(例如。 https://abc123.supabase.co) |
SUPABASE_SERVICE_KEY | 是 | 服务角色密钥(不是匿名密钥)。在“项目设置”>“API”中找到。 |
工具
查询表
从任何具有可选筛选器、排序和限制的表中选择行。
- 桌子 (字符串,必填)--表名
- 选择 (字符串,默认值
"*")--列选择 - 过滤器 (array,可选)--数组
{column, operator, value}物体。操作员:eq,neq,gt,gte,lt,lte,like,ilike,is,in - 限制 (number,默认值为100)--要返回的最大行数
- 订单\_ by (string,可选)--排序依据的列
- 上升 (boolean,默认为true)--排序方向
insert_rows
在表中插入一行或多行。
- 桌子 (字符串,必填)--表名
- 行 (array,必填)--要插入的行对象数组
update_rows
更新符合筛选条件的行。
- 桌子 (字符串,必填)--表名
- 价值观 (object,必填)--要更新的键值对
- 过滤器 (array,必填)--数组
{column, operator, value}匹配行
delete_rows
删除符合筛选条件的行。
- 桌子 (字符串,必填)--表名
- 过滤器 (array,必填)--数组
{column, operator, value}匹配行
run_sql
对数据库执行原始SQL。
- 查询 (字符串,必填)--要执行的SQL查询
需要安装: 在Supabase SQL编辑器中创建Postgres函数:
CREATE OR REPLACE FUNCTION exec_sql(query text)
RETURNS json
LANGUAGE plpgsql
SECURITY DEFINER
AS $$
DECLARE
result json;
BEGIN
EXECUTE query INTO result;
RETURN result;
EXCEPTION WHEN OTHERS THEN
RETURN json_build_object('error', SQLERRM);
END;
$$;list_tables
列出中的所有表 public 模式。没有参数。
需要 exec_sql 上面的功能。
获取_用户
列出身份验证用户(需要服务角色密钥)。
- 限制 (数字,默认值50)--返回的最大用户数
get_storage_buckets
列出所有存储桶。没有参数。
安全说明
- 使用服务角色密钥,而不是匿名密钥。服务角色密钥绕过行级安全,因此将其视为数据库密码。
- 切勿提交您的服务密钥 版本控制。使用环境变量。
- 这
run_sql工具使用SECURITY DEFINER函数,这意味着它以函数创建者的权限运行。仅当您信任使用此MCP服务器的代理时,才创建此功能。 - 对于只读访问,请修改
exec_sql函数拒绝写入操作,或省略run_sql/insert_rows/update_rows/delete_rows工具。
许可证
麻省理工学院
