Supabase MCP服务器添加福利群:解决AI开发者的「MCP实战痛点」一个模型上下文协议(MCP)服务器,允许Claude和其他大型语言模型与Supabase进行交互,以对Postgres表执行CRUD操作。
该包已发布到npm!你可以通过以下命令全局安装它:
npm install -g supabase-mcp
或者在你的项目中本地安装:
npm install supabase-mcp
git clone https://github.com/Cappahccino/SB-MCP.git
cd SB-MCP
npm install
npm run build

创建一个包含你的Supabase凭据的.env文件:
# Supabase credentials SUPABASE_URL=your_supabase_project_url SUPABASE_ANON_KEY=your_supabase_anon_key SUPABASE_SERVICE_ROLE_KEY=your_supabase_service_role_key # MCP server configuration MCP_SERVER_PORT=3000 MCP_SERVER_HOST=localhost MCP_API_KEY=your_secret_api_key
Claude需要特定的传输模式以兼容。此包为Claude集成提供了一个专用二进制文件:
"supabase": {
"command": "npx",
"args": [
"-y",
"supabase-mcp@latest",
"supabase-mcp-claude"
],
"env": {
"SUPABASE_URL": "your_supabase_project_url",
"SUPABASE_ANON_KEY": "your_supabase_anon_key",
"SUPABASE_SERVICE_ROLE_KEY": "your_service_role_key",
"MCP_API_KEY": "your_secret_api_key"
}
}

确保你在配置中设置了所需的环境变量。Claude将使用stdio传输方式进行通信。
要在Claude之外进行测试,可以运行:
npm run start:claude
或者如果全局安装了:
supabase-mcp-claude
全局安装后:
supabase-mcp
这将在http://localhost:3000(或你在.env文件中指定的端口)启动MCP服务器。
你也可以在自己的Node.js项目中将supabase-mcp作为一个库来使用:
import { createServer, mcpConfig, validateConfig } from 'supabase-mcp';
// Validate configuration
validateConfig();
// Create the server
const app = createServer();
// Start the server
app.listen(mcpConfig.port, mcpConfig.host, () => {
console.log(`Supabase MCP server running at http://${mcpConfig.host}:${mcpConfig.port}`);
});

HTTP服务器会自动尝试找到一个可用端口。你可以在你的.env文件中手动指定不同的端口,通过更改MCP_SERVER_PORT值。
确保你有一个包含所有必需值的正确的.env文件,或者已经在系统中设置了这些环境变量。
如果你看到这个错误,可能是正在运行软件包的旧版本。升级到最新版本:
npm install -g supabase-mcp@latest
请确保使用的是Claude专用二进制文件(supabase-mcp-claude)而不是普通的HTTP服务器(supabase-mcp)。
这通常意味着Claude发起了连接但服务器未能及时响应。检查:
queryDatabase
table (字符串): 要查询的表名select (字符串, 可选): 逗号分隔的列列表 (默认: "*")query (对象, 可选): 过滤条件insertData
table (字符串): 表名data (对象或对象数组): 要插入的数据updateData
table (字符串): 表名data (对象): 作为键值对更新的数据query (对象): 更新的过滤条件deleteData
table (字符串): 表名query (对象): 删除的过滤条件listTables
MIT