Skip to main content
Glama

@supabase/mcp-server-postgrest

Dies ist ein MCP-Server für PostgREST . Er ermöglicht LLMs, CRUD-Operationen an Ihrer App über die REST-API durchzuführen.

Dieser Server funktioniert mit Supabase-Projekten (die PostgREST ausführen) und jedem eigenständigen PostgREST-Server.

Werkzeuge

Folgende Tools stehen zur Verfügung:

postgrestRequest

Führt eine HTTP-Anfrage an einen konfigurierten PostgREST-Server aus. Akzeptiert die folgenden Argumente:

  • method : Die zu verwendende HTTP-Methode (z. B. GET , POST , PATCH , DELETE )

  • path : Der abzufragende Pfad (z. B. /todos?id=eq.1 )

  • body : Der Anforderungstext (für POST und PATCH Anforderungen)

Es gibt die JSON-Antwort vom PostgREST-Server zurück, einschließlich ausgewählter Zeilen für GET Anfragen und aktualisierter Zeilen für POST und PATCH Anfragen.

sqlToRest

Konvertiert eine SQL-Abfrage in die entsprechende PostgREST-Syntax (als Methode und Pfad). Nützlich für komplexe Abfragen, die LLMs sonst nur schwer in gültige PostgREST-Syntax konvertieren könnten.

Beachten Sie, dass PostgREST nur eine Teilmenge von SQL unterstützt, sodass nicht alle Abfragen konvertiert werden. Weitere Informationen finden Sie sql-to-rest .

Es akzeptiert die folgenden Argumente:

  • sql : Die zu konvertierende SQL-Abfrage.

Es gibt ein Objekt mit method und path für die Anfrage zurück. LLMs können dann das Tool postgrestRequest verwenden, um die Anfrage auszuführen.

Related MCP server: Supabase MCP Server

Verwendung

Mit Claude Desktop

Claude Desktop ist ein beliebter LLM-Client, der das Model Context Protocol unterstützt. Sie können Ihren PostgREST-Server mit Claude Desktop verbinden, um Ihre Datenbank über natürliche Sprachbefehle abzufragen.

Sie können MCP-Server über die Konfigurationsdatei unter folgender Adresse zu Claude Desktop hinzufügen:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

  • Windows: %APPDATA%\Claude\claude_desktop_config.json

Um Ihr Supabase-Projekt (oder einen beliebigen PostgREST-Server) zu Claude Desktop hinzuzufügen, fügen Sie dem mcpServers Objekt in der Konfigurationsdatei die folgende Konfiguration hinzu:

{ "mcpServers": { "todos": { "command": "npx", "args": [ "-y", "@supabase/mcp-server-postgrest@latest", "--apiUrl", "https://your-project-ref.supabase.co/rest/v1", "--apiKey", "your-anon-key", "--schema", "public" ] } } }

Konfiguration

  • apiUrl : Die Basis-URL Ihres PostgREST-Endpunkts

  • apiKey : Ihr API-Schlüssel zur Authentifizierung (optional)

  • schema : Das Postgres-Schema, aus dem die API bereitgestellt wird (z. B. public “). Beachten Sie, dass nicht öffentliche Schemata manuell über PostgREST bereitgestellt werden müssen.

Programmgesteuert (benutzerdefinierter MCP-Client)

Wenn Sie Ihren eigenen MCP-Client erstellen, können Sie sich programmgesteuert über Ihren bevorzugten Transport mit einem PostgREST-Server verbinden. Das MCP SDK bietet integrierte stdio- und SSE- Transporte. Wir bieten außerdem einen StreamTransport an, wenn Sie eine direkte Verbindung zu MCP-Servern im Arbeitsspeicher oder über Ihren eigenen streambasierten Transport herstellen möchten.

Installation

npm i @supabase/mcp-server-postgrest
yarn add @supabase/mcp-server-postgrest
pnpm add @supabase/mcp-server-postgrest

Beispiel

Im folgenden Beispiel wird StreamTransport verwendet, um eine direkte Verbindung zwischen einem MCP-Client und einem Server herzustellen.

import { Client } from '@modelcontextprotocol/sdk/client/index.js'; import { StreamTransport } from '@supabase/mcp-utils'; import { createPostgrestMcpServer } from '@supabase/mcp-server-postgrest'; // Create a stream transport for both client and server const clientTransport = new StreamTransport(); const serverTransport = new StreamTransport(); // Connect the streams together clientTransport.readable.pipeTo(serverTransport.writable); serverTransport.readable.pipeTo(clientTransport.writable); const client = new Client( { name: 'MyClient', version: '0.1.0', }, { capabilities: {}, } ); const supabaseUrl = 'https://your-project-ref.supabase.co'; // http://127.0.0.1:54321 for local const apiKey = 'your-anon-key'; // or service role, or user JWT const schema = 'public'; // or any other exposed schema const server = createPostgrestMcpServer({ apiUrl: `${supabaseUrl}/rest/v1`, apiKey, schema, }); // Connect the client and server to their respective transports await server.connect(serverTransport); await client.connect(clientTransport); // Call tools, etc const output = await client.callTool({ name: 'postgrestRequest', arguments: { method: 'GET', path: '/todos', }, });
-
security - not tested
-
license - not tested
-
quality - not tested

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/supabase-community/mcp-supabase'

If you have feedback or need assistance with the MCP directory API, please join our Discord server