使用说明
Supabase MCP服务器
模型上下文协议(MCP)服务器,使AI工具能够与Supabase数据库交互。此服务器提供用于读取、创建、更新和删除Supabase表中记录的工具。
特性
- 通过筛选和列选择从任何Supabase表中读取行
- 在表中创建单个或多个记录
- 根据筛选条件更新记录
- 根据筛选条件删除记录
- 用于理解AI模型的全面工具描述
- 使用Pydantic进行类型安全的请求/响应处理
- Docker支持,易于部署
先决条件
- Python 3.9+
- Docker和Docker Compose
- 带有服务角色键的Supabase项目
- 与FastMCP兼容的AI集成开发环境
安装
- 克隆存储库:
git clone https://github.com/yourusername/supabase-mcp.git
cd supabase-mcp
- 创建一个
.env使用您的Supabase凭据文件:
cp .env.example .env
# Edit .env with your Supabase credentials:
# SUPABASE_URL=your-project-url
# SUPABASE_KEY=your-service-role-key
- 构建并启动容器:
# Build and start in detached mode
docker-compose up --build -d
# To view logs
docker-compose logs -f
# To stop the container
docker-compose down
服务器将在以下时间可用 http://localhost:8000.
Docker管理命令
# Start the container
docker-compose up
# Start in detached mode (background)
docker-compose up -d
# Stop the container
docker-compose down
# View logs
docker-compose logs -f
# Rebuild the container
docker-compose up --build
# Check container status
docker-compose ps
# Restart the container
docker-compose restart
Docker问题排查
-
如果容器无法启动:
# Check logs docker-compose logs -f # Check container status docker-compose ps # Remove and rebuild docker-compose down docker-compose up --build -
如果出现端口冲突:
# Stop any existing containers using port 8000 docker-compose down # Or modify the port in docker-compose.yml # ports: # - "8000:8000" # Change the first number to an available port -
如果环境变量未加载:
# Verify .env file exists and has correct values cat .env # Check environment variables in container docker-compose exec mcp-server env
在AI IDE中配置MCP
一般配置步骤
- 打开AI IDE的设置/首选项
- 导航到MCP或AI设置部分
- 添加具有以下配置的新MCP服务器:
{
"name": "Supabase MCP",
"command": "docker-compose",
"args": ["up"],
"cwd": "/path/to/supabase-mcp"
}
IDE特定说明
光标
- 打开设置(⌘或Ctrl+)
- 转到“AI”部分
- 在“MCP服务器”下,单击“添加服务器”
- 使用上面的配置
- 重新启动Cursor以应用更改
带有AI扩展的VS代码
- 打开命令面板(P或Ctrl+Shift+P)
- 搜索“MCP”或“AI设置”
- 添加新的MCP服务器配置
- 使用上面的配置
- 重新加载VS代码窗口
带有AI插件的JetBrains IDE
- 打开设置(⌘或Ctrl+Alt+S)
- 导航到“工具”→ "AI" → “MCP服务器”
- 点击“+”添加新服务器
- 使用上面的配置
- 重新启动IDE以应用更改
验证MCP连接
- 检查IDE的状态栏以了解MCP服务器状态
- 查找绿色指示灯或“MCP已连接”消息
- 尝试使用需要数据库访问的AI功能
- 检查Docker日志是否存在任何连接问题:
docker-compose logs -f
用法
- 启动MCP服务器:
docker-compose up
- 配置您的AI工具以使用MCP服务器:
{
"mcpServers": {
"supabase": {
"command": "docker-compose",
"args": ["up"]
}
}
}
可用工具
read_rows
使用可选的筛选和列选择从Supabase表中读取行。
示例用法:
{
"table_name": "users",
"columns": ["id", "name"],
"filters": { "age": { "gt": 18 } },
"limit": 10
}
创建记录
在Supabase表中创建一条或多条记录。
示例用法:
{
"table_name": "users",
"records": [
{ "name": "John", "age": 30 },
{ "name": "Jane", "age": 25 }
]
}
update_records
根据筛选条件更新辅助数据库表中的记录。
示例用法:
{
"table_name": "users",
"filters": { "status": "inactive" },
"updates": { "status": "active" }
}
删除记录
根据筛选条件从辅助数据库表中删除记录。
示例用法:
{
"table_name": "users",
"filters": { "id": 1 }
}
安全考虑
- 始终在安全的环境中使用服务角色密钥
- 切勿在客户端代码中公开服务角色密钥
- 在Supabase中使用适当的行级安全策略
- 考虑对生产使用实施限速
贡献
- 分叉存储库
- 创建要素分支
- 提交您的更改
- 推到分支
- 创建拉取请求
许可证
麻省理工学院