PostgREST
@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ürPOSTundPATCHAnforderungen)
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.jsonWindows:
%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-EndpunktsapiKey: 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-postgrestyarn add @supabase/mcp-server-postgrestpnpm add @supabase/mcp-server-postgrestBeispiel
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',
},
});This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
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/supabase-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server