这是一个提供与 Supabase 数据库交互工具的模型上下文协议(MCP)服务器。该服务器使 AI 助手能够通过标准化接口执行数据库操作。
注意:此 Supabase MCP 服务器是作为演示我的 AI IDE 编码工作流程而创建的。它仍处于开发阶段,我将在未来发布的视频中继续扩展这一项目,视频地址为 我的频道。
git clone https://github.com/coleam00/supabase-mcp.git
cd supabase-m
docker build -t mcp/supabase .
Supabase MCP 服务器可以通过模型上下文协议集成到 AI 助手中。
{
"mcpServers": {
"supabase": {
"command": "docker",
"args": ["run", "--rm", "-i", "-e", "SUPABASE_URL", "-e", "SUPABASE_SERVICE_KEY", "mcp/supabase"],
"env": {
"SUPABASE_URL": "YOUR-SUPABASE-URL",
"SUPABASE_SERVICE_KEY": "YOUR-SUPABASE-SERVICE-ROLE-KEY"
}
}
}
}
YOUR-SUPABASE-URL 和 YOUR-SUPABASE-SERVICE-ROLE-KEY 替换为您实际的 Supabase 凭据。有关模型上下文协议的更多信息,请访问 modelcontextprotocol.io。
read_table_rows(
table_name: str,
columns: Optional[List[str]] = None,
filters: Optional[Dict[str, Any]] = None,
limit: Optional[int] = None,
offset: Optional[int] = None
)
示例:
# 读取活跃用户
read_table_rows(
table_name="users",
columns=["id", "name", "email"],
filters={"is_active": True},
limit=10,
offset=0
)
create_table_records(
table_name: str,
records: Union[Dict[str, Any], List[Dict[str, Any]]]
)
示例:
# 创建新用户
create_table_records(
table_name="users",
records={
"name": "John Doe",
"email": "john@example.com",
"is_active": True
}
)
update_table_records(
table_name: str,
updates: Dict[str, Any],
filters: Dict[str, Any]
)
示例:
# 更新用户状态
update_table_records(
table_name="users",
updates={"status": "premium"},
filters={"is_active": True}
)
delete_table_records(
table_name: str,
filters: Dict[str, Any]
)
示例:
# 删除非活跃用户
delete_table_records(
table_name="users",
filters={"is_active": False}
)
supabase-mcp/
├── supabase_mcp/
│ ├── __init__.py
│ ├── server.py # 主 MCP 服务器实现
│ └── tests/ # 单元测试
├── Dockerfile # MCP 服务器的 Docker 配置
├── example_mcp_config.json # 示例 MCP 配置
├── requirements.txt # Python 依赖项
├── .env.example # 示例环境变量
├── README.md # 项目文档
├── PLANNING.md # 项目规划
└── TASKS.md # 任务跟踪
pytest supabase_mcp/tests/
Supabase MCP 服务器实现了 模型上下文协议,允许 AI 助手以标准化方式与 Supabase 数据库进行交互。
example_mcp_config.json 文件展示了如何配置 AI 助手以使用 Supabase MCP 服务器:
{
"mcpServers": {
"supabase": {
"command": "docker",
"args": ["run", "--rm", "-i", "-e", "SUPABASE_URL", "-e", "SUPABASE_SERVICE_KEY", "mcp/supabase"],
"env": {
"SUPABASE_URL": "YOUR-SUPABASE-URL",
"SUPABASE_SERVICE_KEY": "YOUR-SUPABASE-SERVICE-ROLE-KEY"
}
}
}
}
此配置告诉 AI 助手:
mcp/supabase Docker 镜像支持模型上下文协议的 AI 助手可以使用此服务器:
助手将有权访问上述“可用工具”部分中记录的工具。
| 变量 | 描述 |
|---|---|
SUPABASE_URL | 您的 Supabase 项目的 URL |
SUPABASE_SERVICE_KEY | Supabase 认证的服务角色密钥 |
本项目采用 MIT 许可证 - 详情见 LICENSE 文件。