n

ninad7007

@ninad7007/supabase-mcp
0 Stars 297 次浏览 ninad7007 更新于 2026-08-23

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

安装

  1. 克隆仓库:

    bash
    git clone https://github.com/yourusername/supabase-mcp.git
    cd supabase-mcp

  2. 创建一个包含您的Supabase凭据的.env文件:

    bash
    cp .env.example .env

    使用您的Supabase凭据编辑.env文件:

    SUPABASE_URL=your-project-url

    SUPABASE_KEY=your-service-role-key

  3. 构建并启动容器:

    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问题

  1. 如果容器无法启动:

    bash

    查看日志

    docker-compose logs -f

    检查容器状态

    docker-compose ps

    删除并重建

    docker-compose down
    docker-compose up --build

  2. 如果遇到端口冲突:

    bash

    停止使用端口8000的所有现有容器

    docker-compose down

    或者修改docker-compose.yml中的端口

    ports:

    - "8000:8000" # 将第一个数字更改为可用端口

  3. 如果环境变量未加载:

    bash

    验证.env文件存在且值正确

    cat .env

    检查容器内的环境变量

    docker-compose exec mcp-server env

在您的AI IDE中配置MCP

通用配置步骤

  1. 打开您的AI IDE的设置/首选项

  2. 导航到MCP或AI设置部分

  3. 添加一个新的MCP服务器,使用以下配置:

    json
    {
    "name": "Supabase MCP",
    "command": "docker-compose",
    "args": ["up"],
    "cwd": "/path/to/supabase-mcp"
    }

特定IDE说明

Cursor

  1. 打开设置 (⌘, 或 Ctrl+,)
  2. 转到“AI”部分
  3. 在“MCP Servers”下点击“Add Server”
  4. 使用上述配置
  5. 重启Cursor以应用更改

VS Code with AI Extensions

  1. 打开命令面板 (⌘⇧P 或 Ctrl+Shift+P)
  2. 搜索“MCP”或“AI Settings”
  3. 添加新的MCP服务器配置
  4. 使用上述配置
  5. 重新加载VS Code窗口

JetBrains IDEs with AI Plugins

  1. 打开设置 (⌘, 或 Ctrl+Alt+S)
  2. 导航到“Tools” → “AI” → “MCP Servers”
  3. 点击“+”添加新服务器
  4. 使用上述配置
  5. 重启IDE以应用更改

验证MCP连接

  1. 检查IDE的状态栏中的MCP服务器状态
  2. 查找绿色指示器或“MCP Connected”消息
  3. 尝试使用需要数据库访问的AI功能
  4. 检查Docker日志中的任何连接问题:
    bash
    docker-compose logs -f

使用方法

  1. 启动MCP服务器:

    bash
    docker-compose up

  2. 配置您的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中使用适当的行级安全策略
  • 考虑为生产环境实现速率限制

贡献指南

  1. 分叉仓库
  2. 创建功能分支
  3. 提交你的更改
  4. 推送到该分支
  5. 创建拉取请求

许可证

MIT

相关 MCP 服务