ninad7007
MCP 服务配置
复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用
{
"mcpServers": {
"supabase": {
"args": [
"up"
],
"command": "docker-compose"
}
}
}
服务介绍
Supabase MCP 服务器
一个模型上下文协议(MCP)服务器,使AI工具能够与Supabase数据库进行交互。该服务器提供了读取、创建、更新和删除Supabase表中记录的工具。
功能
- 从任何Supabase表中读取行,并支持过滤和列选择
- 在表中创建单个或多个记录
- 根据过滤条件更新记录
- 根据过滤条件删除记录
- 为AI模型理解提供全面的工具描述
- 使用Pydantic进行类型安全的请求/响应处理
- 支持Docker以便于部署
前提条件
- Python 3.9+
- Docker 和 Docker Compose
- 拥有服务角色密钥的Supabase项目
- 兼容FastMCP的AI IDE
安装
-
克隆仓库:
bash
git clone https://github.com/yourusername/supabase-mcp.git
cd supabase-mcp -
创建一个包含您的Supabase凭据的
.env文件:bash
cp .env.example .env使用您的Supabase凭据编辑.env文件:
SUPABASE_URL=your-project-url
SUPABASE_KEY=your-service-role-key
-
构建并启动容器:
bash
构建并在分离模式下启动
docker-compose up --build -d
查看日志
docker-compose logs -f
停止容器
docker-compose down
服务器将在 http://localhost:8000 上可用。
Docker 管理命令
bash
启动容器
docker-compose up
在分离模式(后台)下启动
docker-compose up -d
停止容器
docker-compose down
查看日志
docker-compose logs -f
重建容器
docker-compose up --build
检查容器状态
docker-compose ps
重启容器
docker-compose restart
解决Docker问题
-
如果容器无法启动:
bash
查看日志
docker-compose logs -f
检查容器状态
docker-compose ps
删除并重建
docker-compose down
docker-compose up --build -
如果遇到端口冲突:
bash
停止使用端口8000的所有现有容器
docker-compose down
或者修改docker-compose.yml中的端口
ports:
- "8000:8000" # 将第一个数字更改为可用端口
-
如果环境变量未加载:
bash
验证.env文件存在且值正确
cat .env
检查容器内的环境变量
docker-compose exec mcp-server env
在您的AI IDE中配置MCP
通用配置步骤
-
打开您的AI IDE的设置/首选项
-
导航到MCP或AI设置部分
-
添加一个新的MCP服务器,使用以下配置:
json
{
"name": "Supabase MCP",
"command": "docker-compose",
"args": ["up"],
"cwd": "/path/to/supabase-mcp"
}
特定IDE说明
Cursor
- 打开设置 (⌘, 或 Ctrl+,)
- 转到“AI”部分
- 在“MCP Servers”下点击“Add Server”
- 使用上述配置
- 重启Cursor以应用更改
VS Code with AI Extensions
- 打开命令面板 (⌘⇧P 或 Ctrl+Shift+P)
- 搜索“MCP”或“AI Settings”
- 添加新的MCP服务器配置
- 使用上述配置
- 重新加载VS Code窗口
JetBrains IDEs with AI Plugins
- 打开设置 (⌘, 或 Ctrl+Alt+S)
- 导航到“Tools” → “AI” → “MCP Servers”
- 点击“+”添加新服务器
- 使用上述配置
- 重启IDE以应用更改
验证MCP连接
- 检查IDE的状态栏中的MCP服务器状态
- 查找绿色指示器或“MCP Connected”消息
- 尝试使用需要数据库访问的AI功能
- 检查Docker日志中的任何连接问题:
bash
docker-compose logs -f
使用方法
-
启动MCP服务器:
bash
docker-compose up -
配置您的AI工具以使用MCP服务器:
json
{
"mcpServers": {
"supabase": {
"command": "docker-compose",
"args": ["up"]
}
}
}
可用工具
read_rows从Supabase表中读取行,并可选择进行过滤和列选择。
示例用法:
json
{
"table_name": "users",
"columns": ["id", "name"],
"filters": { "age": { "gt": 18 } },
"limit": 10
}
create_records
在Supabase表中创建一条或多条记录。
示例用法:
json
{
"table_name": "users",
"records": [
{ "name": "John", "age": 30 },
{ "name": "Jane", "age": 25 }
]
}
update_records
根据过滤条件更新Supabase表中的记录。
示例用法:
json
{
"table_name": "users",
"filters": { "status": "inactive" },
"updates": { "status": "active" }
}
delete_records
根据过滤条件从Supabase表中删除记录。
示例用法:
json
{
"table_name": "users",
"filters": { "id": 1 }
}
安全注意事项
- 总是在安全环境中使用服务角色密钥
- 绝不要在客户端代码中暴露服务角色密钥
- 在Supabase中使用适当的行级安全策略
- 考虑为生产环境实现速率限制
贡献指南
- 分叉仓库
- 创建功能分支
- 提交你的更改
- 推送到该分支
- 创建拉取请求
许可证
MIT