/ Verzeichnis / Playground / Neon
● Offiziell neondatabase 🔑 Eigener Schlüssel nötig

Neon

von neondatabase · neondatabase/mcp-server-neon

Offizielles Neon MCP — verzweigen Sie Ihr serverless Postgres für sichere Migrationstests, führen Sie Abfragen aus und verwalten Sie Projekte aus dem Chat.

Neons offizielles MCP. Branching ist der Hauptpunkt: eine einsekündig Copy-on-Write-Kopie Ihrer Datenbank, mit der Sie destruktive Migrationen auf echten Daten ohne Risiko testen können. Plus standard Projekt-/Rollen-/Datenbank-CRUD und SQL-Ausführung.

Warum nutzen

Hauptfunktionen

Live-Demo

In der Praxis

neon.replay ▶ bereit
0/0

Installieren

Wählen Sie Ihren Client

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "neon": {
      "command": "npx",
      "args": [
        "-y",
        "@neondatabase/mcp-server-neon"
      ]
    }
  }
}

Öffne Claude Desktop → Settings → Developer → Edit Config. Nach dem Speichern neu starten.

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "neon": {
      "command": "npx",
      "args": [
        "-y",
        "@neondatabase/mcp-server-neon"
      ]
    }
  }
}

Cursor nutzt das gleiche mcpServers-Schema wie Claude Desktop. Projektkonfiguration schlägt die globale.

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "neon": {
      "command": "npx",
      "args": [
        "-y",
        "@neondatabase/mcp-server-neon"
      ]
    }
  }
}

Klicken Sie auf das MCP-Servers-Symbol in der Cline-Seitenleiste, dann "Edit Configuration".

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "neon": {
      "command": "npx",
      "args": [
        "-y",
        "@neondatabase/mcp-server-neon"
      ]
    }
  }
}

Gleiche Struktur wie Claude Desktop. Windsurf neu starten zum Übernehmen.

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "neon",
      "command": "npx",
      "args": [
        "-y",
        "@neondatabase/mcp-server-neon"
      ]
    }
  ]
}

Continue nutzt ein Array von Serverobjekten statt einer Map.

~/.config/zed/settings.json
{
  "context_servers": {
    "neon": {
      "command": {
        "path": "npx",
        "args": [
          "-y",
          "@neondatabase/mcp-server-neon"
        ]
      }
    }
  }
}

In context_servers hinzufügen. Zed lädt beim Speichern neu.

claude mcp add neon -- npx -y @neondatabase/mcp-server-neon

Einzeiler. Prüfen mit claude mcp list. Entfernen mit claude mcp remove.

Anwendungsfälle

Praxisnahe Nutzung: Neon

Testen Sie eine destruktive Postgres-Migration auf einem Copy-on-Write-Branch

👤 Ingenieure, die Schemaänderungen gegen eine echte Datenbank durchführen ⏱ ~20 min intermediate

Wann einsetzen: Sie haben eine Migration (DROP COLUMN, großes UPDATE, Index-Neuerstellung) und möchten sie auf produktionsgeformten Daten ausführen, ohne das Produktive zu riskieren.

Voraussetzungen
  • Neon API-Schlüssel — console.neon.tech → Account → API keys
Ablauf
  1. Erstellen Sie einen Branch von main
    Erstellen Sie in Neon-Projekt <id> einen Branch namens 'test-drop-legacy' vom Hauptbranch. Geben Sie die Verbindungszeichenfolge für den neuen Branch zurück.✓ Kopiert
    → Branch in <2 Sekunden erstellt, Verbindungszeichenfolge zurückgegeben
  2. Wenden Sie die Migration auf dem Branch an
    Verbinden Sie sich mit dem neuen Branch und führen Sie aus: <Migration SQL einfügen>. Melden Sie Zeilenzahlen und Fehler.✓ Kopiert
    → Migration abgeschlossen; Zählungen ergeben Sinn
  3. Überprüfen Sie, dann bereinigen Sie
    Führen Sie Konsistenzabfragen auf den geänderten Tabellen aus. Wenn die Ergebnisse korrekt aussehen, sagen Sie mir Bescheid und ich werde sie auf main anwenden. Löschen Sie dann den Branch auf jeden Fall.✓ Kopiert
    → Überprüfung + Branch gelöscht, um Speicherkosten zu vermeiden

Ergebnis: Vertrauen, dass Ihre Migration auf echten Daten funktioniert, ohne Risiko für die Produktion.

Fallstricke
  • Branch verbraucht Speicher proportional zu dem, was Sie darauf schreiben — Löschen Sie Branches nach dem Testen umgehend — verlassene Branches mit vielen Schreibzugriffen erhöhen die Rechnung
  • Branch ist ein Snapshot — sieht keine Schreibzugriffe, die auf main nach der Branch-Erstellung erfolgen — Branch kurz vor der Anwendungszeit; oder verwenden Sie Neon Time-Travel, um von einem bestimmten Zeitstempel zu verzweigen
Kombinieren mit: github · postgres

Starten Sie eine kurzlebige Datenbank pro PR für Integrationstests

👤 Teams, die CI-Integrationstests gegen echtes Postgres durchführen ⏱ ~15 min intermediate

Wann einsetzen: Jeder PR benötigt seine eigene isolierte Datenbank; SQLite-Mocks reichen nicht aus.

Ablauf
  1. Erstellen Sie einen Branch mit dem Namen des PR
    Erstellen Sie einen Neon-Branch in Projekt <id> namens 'pr-482' von main. Geben Sie die Verbindungszeichenfolge zurück.✓ Kopiert
    → Branch bereit, Verbindungszeichenfolge zurückgegeben
  2. Führen Sie die Test-Suite dagegen aus
    Stellen Sie DATABASE_URL auf diese Verbindungszeichenfolge ein. Führen Sie npm run test:integration aus und melden Sie die Ergebnisse.✓ Kopiert
    → Tests werden ausgeführt, Bestehens-/Fehlerzusammenfassung
  3. Reißen Sie es ab
    Löschen Sie Branch 'pr-482'.✓ Kopiert
    → Branch entfernt

Ergebnis: Echte DB-Integrationstests mit Sekunden-Isolationszeit, keine Kontamination des gemeinsamen Zustands.

Fallstricke
  • Branch-Grenzen pro Projekt bei niedrigeren Plänen — Kostenlose Tier-Grenzen sind wichtig; entweder upgraden oder einen max-N-Branches-Sweeper implementieren
Kombinieren mit: github

Geben Sie Claude sicheren Schreibschutz-Zugriff auf eine Production Neon DB

👤 Ingenieure, die Produktionsdaten debuggen, ohne dem Modell Schreibberechtigung zu geben ⏱ ~10 min beginner

Wann einsetzen: Sie möchten ein Produktivproblem untersuchen, haben aber Angst vor einem fehlgeschlagenen UPDATE.

Ablauf
  1. Erstellen Sie eine schreibgeschützte Rolle
    Erstellen Sie in Neon-Projekt <id> eine Rolle 'claude_readonly' mit SELECT-only-Zugriff auf Schema public. Geben Sie ihre Verbindungszeichenfolge zurück.✓ Kopiert
    → Rolle erstellt; Verbindungszeichenfolge zurückgegeben
  2. Verbinden Sie sich über Postgres MCP
    Verwenden Sie diese Verbindungszeichenfolge mit Postgres MCP. Bestätigen Sie, dass ich SELECT ausführen, aber nicht INSERT.✓ Kopiert
    → SELECT funktioniert, INSERT gibt Fehler 'Berechtigung verweigert'
  3. Untersuchen Sie das Problem
    Fragen Sie nun die Tabelle orders für die betroffene user_id 99214 ab. Wie ist der Zeilenzustand und ist etwas Ungewöhnliches?✓ Kopiert
    → Konkrete Diagnose aus echten Daten

Ergebnis: Eine produktive Produktionsdebug-Sitzung mit nachweisbarer Schreibschutz-Sicherheit.

Fallstricke
  • Vergessen, zukünftige Tabellen zu verstehen — neue Tabellen sind nicht abgedeckt — Verwenden Sie ALTER DEFAULT PRIVILEGES, um sicherzustellen, dass neue Tabellen SELECT automatisch claude_readonly gewähren
Kombinieren mit: postgres

Überprüfen Sie die Schema-Entwicklung über Branches hinweg vor dem Zusammenführen

👤 DBAs und Plattform-Ingenieure ⏱ ~25 min advanced

Wann einsetzen: Mehrere Feature-Branches haben jeweils eigene Schemaänderungen; Sie möchten die kumulative Differenz sehen.

Ablauf
  1. Führen Sie Branches und ihre Zustände auf
    Führen Sie alle Neon-Branches für Projekt <id> auf. Geben Sie mir für jeden eine einzeilige Beschreibung, wie sein Schema vom Hauptbranch abweicht.✓ Kopiert
    → Pro-Branch Schema-Delta-Zusammenfassung
  2. Vergleichen Sie zwei Branches im Detail
    Für Branch 'feature-payments' vs main: diffieren Sie die Tabellen, Spalten, Indizes und Constraints. Formatieren Sie als SQL-Migration.✓ Kopiert
    → Überprüfbare SQL-Differenz
  3. Identifizieren Sie Konflikte
    Wenn sowohl feature-payments als auch feature-auth zusammengeführt werden, führen ihre Schemaänderungen zu Konflikten? Wo?✓ Kopiert
    → Spezifische Konfliktliste, nicht 'keine offensichtlichen Probleme'

Ergebnis: Zusammenführungsreihenfolge plus Konflikte bekannt, bevor sie auf main treffen.

Fallstricke
  • Diff übersieht Änderungen in materialisierten Ansichten oder gespeicherten Procs — Seien Sie explizit — bitten Sie Claude, auch pg_proc und View-Definitionen zu diffieren, nicht nur Tabellen
Kombinieren mit: github

Kombinationen

Mit anderen MCPs für 10-fache Wirkung

neon + github

Kurzlebige DB pro PR für CI-Tests mit PR-Kommentaren mit Verbindungsinformationen

Wenn PR #482 geöffnet wird, erstellen Sie einen Neon-Branch 'pr-482', führen Sie Migrationen + Seeds aus, buchen Sie die Verbindungszeichenfolge als privaten Kommentar zum PR.✓ Kopiert
neon + postgres

Verwenden Sie Postgres MCP für sicherer schreibgeschützte Abfragen, sobald Neon den Branch hochfährt

Erstellen Sie einen Neon-Branch mit schreibgeschützter Rolle 'claude_ro'. Verwenden Sie dann Postgres MCP mit dieser Verbindungszeichenfolge, um das Benutzer-99214-Problem zu untersuchen.✓ Kopiert
neon + filesystem

Wenden Sie lokale SQL-Migrationsdateien in Reihenfolge auf einen Neon-Branch an

Lesen Sie jede .sql-Datei unter /db/migrations/ in Namensreihenfolge. Wenden Sie sie nacheinander auf Neon-Branch 'staging' an.✓ Kopiert

Werkzeuge

Was dieses MCP bereitstellt

WerkzeugEingabenWann aufrufenKosten
list_projects (keine) Sehen Sie Ihre Neon-Projekte kostenlos
describe_project project_id Erhalten Sie einen Überblick über ein Projekt kostenlos
create_branch project_id, name?, parent_id?, parent_lsn? oder parent_timestamp? Verzweigen Sie einen Branch zum Testen oder für PR-Datenbanken pro PR Branch-Speicher wird nach Schreibzugriffen berechnet
list_branches project_id Bestände von Branches kostenlos
delete_branch project_id, branch_id Bereinigen nach dem Testen — wichtig zur Kontrolle der Speicherkosten kostenlos
get_connection_string project_id, branch_id?, role_name?, database_name? Holen Sie sich eine Verbindungszeichenfolge, die auf einen Branch/Rolle/DB beschränkt ist kostenlos
run_sql project_id, branch_id?, sql: str Führen Sie SQL gegen jeden Branch aus Rechenzeit berechnet
describe_table_schema project_id, branch_id?, table_name Untersuchen Sie eine Tabelle, ohne die SQL selbst zu schreiben kostenlos
create_role / drop_role project_id, role_name Verwalten Sie Rollen für scoped Zugriff kostenlos
create_database / list_databases project_id, name Multi-DB-pro-Projekt-Setups kostenlos

Kosten & Limits

Was der Betrieb kostet

API-Kontingent
Standard Neon API-Grenzen pro Plan
Tokens pro Aufruf
Die meisten Vorgänge sind klein; SQL-Ergebnisse skalieren mit Zeilenzahl — begrenzen Sie explorative Abfragen immer
Kosten in €
MCP kostenlos; Neon Free Tier deckt kleine Projekte ab, bezahlte Pläne berechnen Compute-Stunden und Speicher
Tipp
Branches sind fast kostenlos, bis sie Schreibzugriffe akkumulieren. Das #1-Kostenproblem sind vergessene Branches — legen Sie eine Sweep-Richtlinie fest oder löschen Sie sie nach Gebrauch immer.

Sicherheit

Rechte, Secrets, Reichweite

Minimale Scopes: Begrenzen Sie API-Schlüssel auf ein einzelnes Projekt, wenn möglich
Credential-Speicherung: API-Schlüssel in Umgebungsvariable NEON_API_KEY
Datenabfluss: Aufrufe an console.neon.tech API; SQL-Verkehr zu Ihrem regionalen Endpoint des Projekts
Niemals gewähren: Organisationsweite Admin-Schlüssel für langlebige Agents

Fehlerbehebung

Häufige Fehler und Lösungen

401 Unauthorized

API-Schlüssel ungültig oder widerrufen. Generieren Sie einen neuen bei console.neon.tech → Account → API keys.

Prüfen: curl -H 'Authorization: Bearer $NEON_API_KEY' https://console.neon.tech/api/v2/projects
Branch creation fails: 'limit reached'

Sie haben das Branch-Limit Ihres Plans erreicht. Löschen Sie nicht verwendete Branches oder upgraden Sie.

run_sql times out on a long migration

Lang laufende Anweisungen können das Standard-Timeout überschreiten. Verwenden Sie psql mit der Verbindungszeichenfolge für sehr lange Operationen oder teilen Sie die Migration auf.

Connection string works once then fails (compute paused)

Neon Free-Tier-Compute wird automatisch angehalten. Erste Verbindung weckt es auf (Kaltstart ~1s); nachfolgende Verbindungen sind OK. Behandeln Sie Latenz beim ersten Aufruf nicht als Fehler.

Alternativen

Neon vs. andere

AlternativeWann stattdessenKompromiss
Supabase MCPSie möchten Authentifizierung, Edge-Funktionen, Speicher zusätzlich zu PostgresSchwerere Oberfläche; Branching auf Pro-Plan beschränkt
Postgres MCPSie benötigen nur schreibgeschützten SQL-Zugriff und verwenden kein BranchingKeine Branch-/Projektverwaltung
AWS RDS via aws MCPSie sind auf AWS-verwaltetem Postgres (RDS/Aurora)Kein Branching; Bereitstellung ist schwerer und langsamer

Mehr

Ressourcen

📖 Offizielle README auf GitHub lesen

🐙 Offene Issues ansehen

🔍 Alle 400+ MCP-Server und Skills durchsuchen