Supabase数据库交互协议服务器

一个模型上下文协议(MCP)服务器,为AI助手提供通过标准化工具与Supabase数据库交互的能力。

  • by haladesigns
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 haladesigns/supabase-mcp

使用说明

Supabase MCP服务器

一种模型上下文协议(MCP)服务器,为AI助手提供通过标准化工具与Supabase数据库交互的能力。

特性

  • 通过筛选和列选择从表中读取行
  • 创建单个或多个记录
  • 使用灵活的筛选更新记录
  • 使用筛选条件安全删除记录
  • 基于环境的配置
  • 标准运输支持

安装

  1. 克隆存储库:
git clone <repository-url>
cd mcp
  1. 创建虚拟环境并安装依赖项:
python -m venv .venv
source .venv/bin/activate  # On Windows: .venv\Scripts\activate
pip install -r requirements.txt
  1. 设置环境变量: 创建一个 .env 项目根目录中的文件,其中包含:
SUPABASE_URL=your_project_url
SUPABASE_SERVICE_KEY=your_service_role_key

用法

运行MCP服务器:

python -m supabase_mcp.server

可用工具

read_rows

通过可选的筛选和列选择从Supabase表中读取数据。

{
    "table": "users",
    "columns": ["id", "name", "email"],  # Optional
    "filters": {"is_active": true},      # Optional
    "limit": 10                          # Optional
}

创建记录

将一条或多条记录插入表中。

{
    "table": "users",
    "records": {
        "name": "John Doe",
        "email": "john@example.com"
    }
    # Or multiple records:
    # "records": [
    #     {"name": "John", "email": "john@example.com"},
    #     {"name": "Jane", "email": "jane@example.com"}
    # ]
}

update_records

更新与特定筛选器匹配的记录。

{
    "table": "users",
    "filters": {"id": 123},
    "data": {"status": "active"}
}

删除记录

删除与特定筛选器匹配的记录。

{
    "table": "users",
    "filters": {"status": "inactive"}
}

安全

  • 使用服务角色键进行数据库操作
  • 需要适当的环境配置
  • 使用Pydantic模型验证所有输入

许可证

MIT许可证