CS

cappahccino/sb-mcp

开发工具

本页由 AI 翻译,技术细节请以原文为准。 查看原文

4 stars 3 forks 质量 58 趋势 12MIT

Supabase Model Context Protocol (MCP) server for CRUD operations and Edge Functions

概览

A Model Context Protocol (MCP) server that allows Claude and other LLMs to interact with Supabase to perform CRUD operations on Postgres tables. - Database operations: - Query data with filters - Insert data - Update data - Delete data - List tables - Node.js (v16 or newer) - npm or yarn - Supabase project with API keys The package is published on npm! You can install it globally with: Create a .env file with your Supabase credentials: Claude requires a specific transport mode for compatibility. This package provides a dedicated binary for Claude integration: Make sure you set the required environment variables in the configuration. Claude will use the stdio transport for communication. For testing outside of Claude, you can run:

README

以下为原文 README 节选,完整内容请查看原文。

Supabase MCP Server

A Model Context Protocol (MCP) server that allows Claude and other LLMs to interact with Supabase to perform CRUD operations on Postgres tables.

Features

  • Database operations:
    • Query data with filters
    • Insert data
    • Update data
    • Delete data
    • List tables

Prerequisites

  • Node.js (v16 or newer)
  • npm or yarn
  • Supabase project with API keys

Installation

The package is published on npm! You can install it globally with:

npm install -g supabase-mcp

Or locally in your project:

npm install supabase-mcp

Option 2: Clone the repository

git clone https://github.com/Cappahccino/SB-MCP.git
cd SB-MCP
npm install
npm run build

Configuration

Create a .env file with your Supabase credentials:

# Supabase credentials
SUPABASE_URL=your_supabase_project_url
SUPABASE_ANON_KEY=your_supabase_anon_key
SUPABASE_SERVICE_ROLE_KEY=your_supabase_service_role_key

# MCP server configuration
MCP_SERVER_PORT=3000
MCP_SERVER_HOST=localhost
MCP_API_KEY=your_secret_api_key

Usage with Claude

Claude requires a specific transport mode for compatibility. This package provides a dedicated binary for Claude integration:

In Claude Desktop MCP Config

"supabase": {
  "command": "npx",
  "args": [
    "-y",
    "supabase-mcp@latest",
    "supabase-mcp-claude"
  ],
  "env": {
    "SUPABASE_URL": "your_supabase_project_url",
    "SUPABASE_ANON_KEY": "your_supabase_anon_key", 
    "SUPABASE_SERVICE_ROLE_KEY": "your_service_role_key",
    "MCP_API_KEY": "your_secret_api_key"
  }
}

Make sure you set the required environment variables in the configuration. Claude will use the stdio transport for communication.

Manual Testing with Claude Binary

For testing outside of Claude, you can run:

npm run start:claude

Or if installed globally:

supabase-mcp-claude

Usage as a Standalone Server

After installing globally:

supabase-mcp

This will start the MCP server at http://localhost:3000 (or the port specified in your .env file).

Usage in Your Code

You can also use supabase-mcp as a library in your own Node.js projects:

import { createServer, mcpConfig, validateConfig } from 'supabase-mcp';

// Validate configuration
validateConfig();

// Create the server
const app = createServer();

// Start the server
app.listen(mcpConfig.port, mcpConfig.host, () => {
  console.log(`Supabase MCP server running at http://${mcpConfig.host}:${mcpConfig.port}`);
});

Troubleshooting

Common Issues and Solutions

1. “Port XXXX is already in use”

The HTTP server attempts to find an available port automatically. You can manually specify a different port in your .env file by changing the MCP_SERVER_PORT value.

2. “Missing required environment variables”

在 GitHub 查看完整 README

安装

npx -y supabase-mcp@latest supabase-mcp-claude
新手?先看 mcpskill.org 教程 →