Supabase MCP Server

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

Integrations

  • Enables querying Supabase database tables with filtering options and generating TypeScript types from database schemas

  • Generates TypeScript type definitions from Supabase database schemas for use in development

Supabase MCP 服务器

用于与 Supabase 数据库交互的模型上下文协议 (MCP) 服务器。该服务器提供通过 MCP 接口查询表和生成 TypeScript 类型的工具。

特征

  • 查询表:对任何表执行查询,支持以下内容:
    • 模式选择
    • 列过滤
    • 具有多个运算符的 Where 子句
    • 分页
    • 错误处理
  • 类型生成:为您的数据库生成 TypeScript 类型:
    • 支持任何模式(公共、授权、API 等)
    • 适用于本地和远程 Supabase 项目
    • 直接输出到控制台
    • 自动项目参考检测

先决条件

  1. Node.js(v16 或更高版本)
  2. Supabase 项目(本地或托管)
  3. Supabase CLI(用于类型生成)

安装

  1. 克隆存储库:
git clone https://github.com/yourusername/supabase-mcp-server.git cd supabase-mcp-server
  1. 安装依赖项:
npm install
  1. 安装 Supabase CLI(类型生成所需):
# Using npm npm install -g supabase # Or using Homebrew on macOS brew install supabase/tap/supabase

配置

  1. 获取您的 Supabase 凭证:
    • 对于托管项目:
      1. 转到您的 Supabase 项目仪表板
      2. 导航至项目设置 > API
      3. 复制项目 URL 和 service_role 密钥(不是 anon 密钥)
    • 对于本地项目:
      1. 启动本地 Supabase 实例
      2. 使用本地 URL(通常为http://localhost:54321
      3. 使用本地 service_role 密钥
  2. 配置环境变量:
# Create a .env file (this will be ignored by git) echo "SUPABASE_URL=your_project_url SUPABASE_KEY=your_service_role_key" > .env
  1. 构建服务器:
npm run build

与 Claude Desktop 集成

  1. 打开Claude桌面设置:
    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • Windows: %APPDATA%\Claude\claude_desktop_config.json
    • Linux: ~/.config/Claude/claude_desktop_config.json
  2. 添加服务器配置:
{ "mcpServers": { "supabase": { "command": "node", "args": ["/absolute/path/to/supabase-mcp-server/build/index.js"], "env": { "SUPABASE_URL": "your_project_url", "SUPABASE_KEY": "your_service_role_key" } } } }

与 VSCode 扩展集成

  1. 打开 VSCode 设置:
    • macOS: ~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json
    • Windows: %APPDATA%\Code\User\globalStorage\saoudrizwan.claude-dev\settings\cline_mcp_settings.json
    • Linux: ~/.config/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json
  2. 添加服务器配置(与 Claude Desktop 相同的格式)。

使用示例

查询表

// Query with schema selection and where clause <use_mcp_tool> <server_name>supabase</server_name> <tool_name>query_table</tool_name> <arguments> { "schema": "public", "table": "users", "select": "id,name,email", "where": [ { "column": "is_active", "operator": "eq", "value": true } ] } </arguments> </use_mcp_tool>

生成类型

// Generate types for public schema <use_mcp_tool> <server_name>supabase</server_name> <tool_name>generate_types</tool_name> <arguments> { "schema": "public" } </arguments> </use_mcp_tool>

可用工具

查询表

使用模式选择和 where 子句支持查询特定表。

参数:

  • schema (可选):数据库模式(默认为公共)
  • table (必填):要查询的表的名称
  • select (可选):以逗号分隔的列列表
  • where (可选):条件数组,包含:
    • column :列名
    • operator :eq、neq、gt、gte、lt、lte、like、ilike、is 之一
    • value :要比较的值

生成类型

为您的 Supabase 数据库模式生成 TypeScript 类型。

参数:

  • schema (可选):数据库模式(默认为公共)

故障排除

类型生成问题

  1. 确保已安装 Supabase CLI:
supabase --version
  1. 对于本地项目:
    • 确保您的本地 Supabase 实例正在运行
    • 验证您的 service_role 键是否正确
  2. 对于托管项目:
    • 确认您的项目参考正确(从 URL 中提取)
    • 验证您使用的是 service_role 密钥,而不是 anon 密钥

查询问题

  1. 检查您的架构和表名称
  2. 验证 select 和 where 子句中的列名
  3. 确保您的 service_role 密钥具有必要的权限

贡献

  1. 分叉存储库
  2. 创建你的功能分支: git checkout -b feature/my-feature
  3. 提交您的更改: git commit -am 'Add my feature'
  4. 推送到分支: git push origin feature/my-feature
  5. 提交拉取请求

执照

MIT 许可证 - 详情请参阅许可证文件

You must be authenticated.

A
security – no known vulnerabilities
F
license - not found
A
quality - confirmed to work

通过模型上下文协议接口支持查询 Supabase 数据库和生成 TypeScript 类型,支持模式选择、列过滤和分页等功能。

  1. Features
    1. Prerequisites
      1. Installation
        1. Configuration
          1. Integration with Claude Desktop
            1. Integration with VSCode Extension
              1. Usage Examples
                1. Querying Tables
                2. Generating Types
              2. Available Tools
                1. query_table
                2. generate_types
              3. Troubleshooting
                1. Type Generation Issues
                2. Query Issues
              4. Contributing
                1. License
                  ID: wjmmfri9rj