Model Context Protocol (MCP)
Model Context Protocol (MCP)
PgArachne unterstützt nativ das Model Context Protocol (MCP), einen offenen Standard, der es KI-Modellen (wie Claude oder Cursor) ermöglicht, sicher auf Ihre Daten und Funktionen als „Tools" zuzugreifen.
Wie funktioniert es?
PgArachne agiert direkt als MCP-Server. Anstatt für jedes Projekt einen eigenen HTTP-Server zu schreiben, starten Sie PgArachne einfach über Ihrer Datenbank. PgArachne analysiert automatisch Ihre erlaubten SQL-Funktionen und stellt sie KI-Clients über HTTP(S) zur Verfügung.
🛠️ SQL-Funktionen als Tools
Jede SQL-Funktion, die über den JSON-RPC-2.0-Endpunkt von PgArachne erreichbar ist, wird automatisch zu einem „Tool", das der KI zur Verfügung steht. Welche Funktionen freigegeben werden, entscheiden allein die PostgreSQL-Berechtigungen: jede Funktion mit einem einzigen jsonb-Parameter, auf die die authentifizierte Rolle EXECUTE und auf deren Schema sie USAGE hat (siehe Welche Funktionen aufrufbar sind). Das LLM sieht den Funktionsnamen, die Parameter und die Beschreibung aus den SQL-Kommentaren.
Verbindungsanleitung
1 a. Authentifizierung — API-Token (empfohlen für Produktion)
Für eine dauerhafte KI-Verbindung verwenden Sie ein langlebiges API-Token. Das Token muss von einem Administrator (einem Mitglied der Rolle pgarachne_admin) generiert werden:
-- Zur Administrator-Rolle wechseln
SET ROLE pgarachne_admin;
-- Neues Token für die Zielrolle generieren (z. B. 'app_user')
SELECT pgarachne.add_api_token('Claude Desktop', 'app_user');Speichern Sie den zurückgegebenen Wert. Verwenden Sie ihn als Authorization: Bearer IHR_API_TOKEN in der Konfiguration des KI-Clients.
1 b. Authentifizierung — Direkte Zugangsdaten (Entwicklung & einfache Setups)
Alternativ können Sie PostgreSQL-Benutzername und Passwort direkt über HTTP Basic Authentication übermitteln.
Es ist kein Token-Management erforderlich und kein GRANT … TO pgarachne notwendig — PgArachne
verbindet sich direkt als der angegebene Benutzer.
Authorization: Basic <base64(benutzername:passwort)>Verwenden Sie diesen Ansatz für lokale Tests oder interne Dienste, bei denen Zugangsdaten bereits sicher verwaltet werden. Für produktive KI-Integrationen mit Cloud-Clients sind API-Token die bevorzugte Wahl.
2. Claude Desktop
Fügen Sie PgArachne zu Ihrer Claude Desktop-Konfiguration hinzu (~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"pgarachne": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-http",
"--url",
"https://ihre-api.com/db/my_database/mcp"
],
"env": {
"Authorization": "Bearer IHR_API_TOKEN"
}
}
}
}Hinweis: HTTP(S) ist erforderlich für die Verbindung. Das Beispiel verwendet die server-http-npx-Bridge von Anthropic, die als Vermittler zwischen Standard-MCP (stdio) und PgArachne (HTTP) fungiert.
3. Cursor
Fügen Sie in den Cursor-Einstellungen (Einstellungen > MCP) einen neuen Server hinzu, der direkt über HTTP kommuniziert (oder verwenden Sie die oben genannte Bridge, falls Ihre Cursor-Version keine nativen HTTP-MCP-Server unterstützt):
- Typ:
command(mit npx-Bridge) oderhttp - Name:
PgArachne - URL:
https://ihre-api.com/db/my_database/mcp - Auth-Header:
Authorization: Bearer IHR_API_TOKEN
🌐 Öffentliche Erreichbarkeit (Ngrok)
Wenn Sie PgArachne lokal testen und mit einem cloudbasierten KI-Client verbinden möchten (außerhalb lokaler Installationen), muss Ihr Server über eine HTTP(S)-URL öffentlich erreichbar sein.
# Ngrok für den HTTP-PgArachne-Port starten (z. B. 8080)
ngrok http 8080Verwenden Sie anschließend die von Ngrok generierte HTTPS-Adresse in der KI-Konfiguration.
Sicherheit
Der MCP-Endpunkt respektiert vollständig das PostgreSQL-Berechtigungssystem:
- Authentifizierung: Jede Anfrage erfordert ein gültiges API-Token, JWT oder HTTP-Basic-Zugangsdaten; nicht authentifizierte Anfragen werden sofort abgelehnt.
- Autorisierung: Die KI kann nur jene Funktionen in erlaubten Schemata sehen und aufrufen, für die die authentifizierte Rolle
GRANT EXECUTEbesitzt. - RLS: Row-Level Security ist vollständig aktiv — die KI sieht nur die Zeilen, auf die die jeweilige Rolle Zugriff hat.
Eine vollständige Übersicht aller unterstützten Authentifizierungsmethoden finden Sie unter Sicherheit & Authentifizierung.