Supabase MCP 服务器是一个提供与 Supabase 数据库交互工具的模型上下文协议 (MCP) 服务器。它通过标准化接口,让 AI 助手能够轻松执行数据库操作,为开发者提供了便捷的数据库交互方式。
⚠️ 重要提示
这个 Supabase MCP 服务器是作者在 我的频道 的视频中演示其 AI IDE 编码工作流程的示例。它仍是一个正在进行中的项目,未来会继续扩展完善。
Supabase MCP 服务器旨在为 AI 助手提供与 Supabase 数据库交互的能力。下面将为你介绍使用该服务器的基本步骤。
git clone https://github.com/coleam00/supabase-mcp.git
cd supabase-mcp
FROM python:3.8-slim
WORKDIR /app
COPY requirements.txt .
RUN pip install -r requirements.txt
COPY . .
EXPOSE 5000
CMD ["python", "server.py"]
docker build -t mcp/supabase .
docker run -e SUPABASE_URL=your-supabase-url -e SUPABASE_SERVICE_KEY=your-service-role-key -it mcp/supabase
def read_table_records(table_name: str,
column_names: List[str] = ["*"],
filter_conditions: Optional[List[Tuple[str, str, str]]] = None,
page: int = 1,
per_page: int = 10) -> Dict:
"""
从指定表中读取记录。
参数:
table_name (str): 表名
column_names (List[str]): 要返回的列名称,默认为 ["*"],表示所有列
filter_conditions (Optional[List[Tuple[str, str, str]]]): 筛选条件列表,每个元组包含 (column, operator, value)
page (int): 当前页码,默认为 1
per_page (int): 每页显示的记录数,默认为 10
返回:
Dict: 包含查询结果、总记录数和分页信息的字典
"""
def create_table_record(table_name: str,
record_data: Dict[str, Any]) -> bool:
"""
向指定表中插入新记录。
参数:
table_name (str): 表名
record_data (Dict[str, Any]): 新记录的数据字典
返回:
bool: 操作是否成功
"""
def update_table_record(table_name: str,
filter_conditions: List[Tuple[str, str, str]],
update_data: Dict[str, Any]) -> int:
"""
根据筛选条件更新指定表中的记录。
参数:
table_name (str): 表名
filter_conditions (List[Tuple[str, str, str]]): 筛选条件列表,每个元组包含 (column, operator, value)
update_data (Dict[str, Any]): 要更新的数据字典
返回:
int: 更新的记录数
"""
def delete_table_records(table_name: str,
filter_conditions: List[Tuple[str, str, str]]) -> int:
"""
根据筛选条件删除指定表中的记录。
参数:
table_name (str): 表名
filter_conditions (List[Tuple[str, str, str]]): 筛选条件列表,每个元组包含 (column, operator, value)
返回:
int: 删除的记录数
"""
supabase-mcp/
├── server.py # MCP 服务器入口
├── requirements.txt # 依赖管理
└── docker/Dockerfile # Docker 镜像配置
pytest tests/
coverage run -m pytest tests/ && coverage report
{
"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-SERVICE-ROLE-KEY"
}
}
}
}
| 属性 | 详情 |
|---|---|
| 变量名 | 描述 |
| SUPABASE_URL | Supabase 实例的 URL |
| SUPABASE_KEY | Service Role 的 API Key |
本项目采用 MIT License。