Neon
offiziellInteragiere mit der serverlosen Postgres-Plattform Neon
Was kann man mit Neon MCP machen?
- Projekte erstellen und verwalten — Erstellen, auflisten oder löschen Sie Neon-Projekte über
create_project,list_projectsunddelete_project. - SQL-Abfragen ausführen — Führen Sie Lese-/Schreib-SQL mit
run_sqloderrun_sql_transactionaus und listen Sie Tabellen mitget_database_tablesauf. - Branches verwalten — Erstellen Sie Branches mit
create_branch, vergleichen Sie Schema-Unterschiede übercompare_database_schemaoder setzen Sie vom übergeordneten Branch zurück mitreset_from_parent. - Sichere Migrationen durchführen — Verwenden Sie
prepare_database_migration, um auf einem temporären Branch zu testen, und wenden Sie danncomplete_database_migrationan. - Abfrageleistung optimieren — Finden Sie langsame Abfragen mit
list_slow_queries, erhalten Sie Ausführungspläne überexplain_sql_statementund testen Sie die Optimierung mitprepare_query_tuning.
Dokumentation
Neon MCP Server
Neon MCP Server ist ein Open-Source-Tool, mit dem Sie über natürliche Sprache mit Ihren Lakebase-Postgres-Datenbanken auf Neon interagieren können.
Das Model Context Protocol (MCP) ist ein standardisiertes Protokoll, das dazu dient, den Kontext zwischen großen Sprachmodellen (LLMs) und externen Systemen zu verwalten. Dieses Repository stellt einen Remote-MCP-Server für Neon bereit.
Neons MCP-Server fungiert als Brücke zwischen Anfragen in natürlicher Sprache und der Neon API. Auf Basis von MCP übersetzt er Ihre Anfragen in die erforderlichen API-Aufrufe und ermöglicht es Ihnen, Aufgaben wie das Erstellen von Projekten und Branches, das Ausführen von Abfragen und die Durchführung von Datenbankmigrationen nahtlos zu verwalten.
Zu den wichtigsten Funktionen des Neon MCP-Servers gehören:
- Interaktion in natürlicher Sprache: Verwalten Sie Neon-Datenbanken mit intuitiven, gesprächsorientierten Befehlen.
- Vereinfachte Datenbankverwaltung: Führen Sie komplexe Aktionen aus, ohne SQL zu schreiben oder die Neon API direkt zu verwenden.
- Zugänglichkeit für Nicht-Entwickler: Ermöglichen Sie Benutzern mit unterschiedlichem technischem Hintergrund die Interaktion mit Neon-Datenbanken.
- Unterstützung für Datenbankmigrationen: Nutzen Sie Neons Branching-Funktionen für Datenbankschemaänderungen, die über natürliche Sprache angestoßen werden.
In Claude Code oder einem beliebigen MCP-Client können Sie beispielsweise natürliche Sprache verwenden, um Aufgaben mit Neon zu erledigen, wie etwa:
Let's create a new Postgres database, and call it "my-database". Let's then create a table called users with the following columns: id, name, email, and password.I want to run a migration on my project called "my-project" that alters the users table to add a new column called "created_at".Can you give me a summary of all of my Neon projects and what data is in each one?
[!WARNING]
Sicherheitshinweise zum Neon MCP Server
Der Neon MCP Server gewährt über Anfragen in natürlicher Sprache umfangreiche Datenbankverwaltungsfunktionen. Überprüfen und autorisieren Sie immer Aktionen, die vom LLM angefordert werden, bevor diese ausgeführt werden. Stellen Sie sicher, dass nur autorisierte Benutzer und Anwendungen Zugriff auf den Neon MCP Server haben.Der Neon MCP Server ist nur für lokale Entwicklung und IDE-Integrationen gedacht. Wir empfehlen nicht, den Neon MCP Server in Produktionsumgebungen zu verwenden. Er kann leistungsstarke Operationen ausführen, die zu unbeabsichtigten oder unbefugten Änderungen führen können.
Weitere Informationen finden Sie unter MCP-Sicherheitsleitfaden →.
Einrichten des Neon MCP Servers
Es gibt mehrere Optionen zum Einrichten des Neon MCP Servers:
- Schnelleinrichtung mit API-Schlüssel (Cursor, VS Code und Claude Code): Führen Sie
neon@latest initaus, um Neons MCP Server, Agent Skills und die VS-Code-Erweiterung mit einem einzigen Befehl automatisch zu konfigurieren. - Remote-MCP-Server (OAuth-basierte Authentifizierung): Verbinden Sie sich mit Neons verwaltetem MCP-Server über OAuth zur Authentifizierung. Diese Methode ist bequemer, da sie die Verwaltung von API-Schlüsseln überflüssig macht. Außerdem erhalten Sie automatisch die neuesten Funktionen und Verbesserungen, sobald sie veröffentlicht werden.
- Remote-MCP-Server (API-Schlüssel-basierte Authentifizierung): Verbinden Sie sich mit Neons verwaltetem MCP-Server über einen API-Schlüssel zur Authentifizierung. Diese Methode ist nützlich, wenn Sie einen Remote-Agenten mit Neon verbinden möchten, wo OAuth nicht verfügbar ist. Außerdem erhalten Sie automatisch die neuesten Funktionen und Verbesserungen, sobald sie veröffentlicht werden.
Voraussetzungen
- Eine MCP-Client-Anwendung.
- Ein Neon-Konto.
- Node.js (>= v18.0.0): Herunterladen von nodejs.org.
- Wenn IP Allow aktiviert ist, fügen Sie
34.192.103.46und23.22.233.166zu Ihrer Zulassungsliste hinzu (mcp.neon.tech-statische IPs).
Für die Entwicklung benötigen Sie Node.js 22+ (pnpm wird über Corepack bereitgestellt – führen Sie corepack enable aus, um es zu aktivieren).
Option 1. Schnelleinrichtung mit API-Schlüssel
Möchten Sie keinen API-Schlüssel manuell erstellen?
Führen Sie neon@latest init aus, um Neons MCP Server mit einem einzigen Befehl automatisch zu konfigurieren:
npx neon@latest init
Dies funktioniert mit Cursor, VS Code (GitHub Copilot) und Claude Code. Es authentifiziert sich über OAuth, erstellt einen Neon-API-Schlüssel für Sie und konfiguriert Ihren Editor automatisch.
Option 2. Remote gehosteter MCP Server (OAuth-basierte Authentifizierung)
Verbinden Sie sich mit Neons verwaltetem MCP-Server über OAuth zur Authentifizierung. Dies ist die einfachste Einrichtung, erfordert keine lokale Installation dieses Servers und benötigt keinen Neon-API-Schlüssel, der im Client konfiguriert ist.
Führen Sie den folgenden Befehl aus, um den Neon MCP Server für alle erkannten Agenten und Editoren in Ihrem Arbeitsbereich hinzuzufügen:
npx add-mcp https://mcp.neon.tech/mcp
Fügen Sie das Flag -g hinzu, um den Neon MCP Server zur globalen MCP-Serverliste hinzuzufügen, statt nur für das Projekt.
Alternativ können Sie den folgenden „Neon“-Eintrag zur MCP-Serverkonfigurationsdatei Ihres Clients hinzufügen (z. B. mcp.json, mcp_config.json):
{
"mcpServers": {
"Neon": {
"type": "http",
"url": "https://mcp.neon.tech/mcp"
}
}
}
Kiro: Fügen Sie Folgendes zu Ihrer Kiro-MCP-Konfigurationsdatei hinzu (~/.kiro/settings/mcp.json für global oder .kiro/settings/mcp.json für projektspezifisch):
{
"mcpServers": {
"Neon": {
"url": "https://mcp.neon.tech/mcp"
}
}
}
Oder verwenden Sie die Installationsschaltfläche mit einem Klick oben in dieser README. Weitere Informationen finden Sie in der Kiro-MCP-Dokumentation.
- Starten Sie Ihren MCP-Client neu bzw. aktualisieren Sie ihn.
- Ein OAuth-Fenster öffnet sich in Ihrem Browser. Folgen Sie den Anweisungen, um Ihrem MCP-Client den Zugriff auf Ihr Neon-Konto zu autorisieren.
Bei OAuth-basierter Authentifizierung arbeitet der MCP-Server standardmäßig mit Projekten unter Ihrem persönlichen Neon-Konto. Um auf Projekte zuzugreifen oder diese zu verwalten, die zu einer Organisation gehören, müssen Sie entweder
org_idoderproject_idexplizit in Ihrer Anfrage an den MCP-Client angeben.
Option 3. Remote gehosteter MCP Server (API-Schlüssel-basierte Authentifizierung)
Der Remote-MCP-Server unterstützt auch die Authentifizierung über einen API-Schlüssel im Authorization-Header, sofern Ihr Client dies unterstützt.
Erstellen Sie einen Neon-API-Schlüssel in der Neon-Konsole. Führen Sie anschließend den folgenden Befehl aus, um den Neon MCP Server für alle erkannten Agenten und Editoren in Ihrem Arbeitsbereich hinzuzufügen:
npx add-mcp https://mcp.neon.tech/mcp --header "Authorization: Bearer <$NEON_API_KEY>"
Alternativ können Sie den folgenden „Neon“-Eintrag zur MCP-Serverkonfigurationsdatei Ihres Clients hinzufügen (z. B. mcp.json, mcp_config.json):
{
"mcpServers": {
"Neon": {
"type": "http",
"url": "https://mcp.neon.tech/mcp",
"headers": {
"Authorization": "Bearer <$NEON_API_KEY>"
}
}
}
}
Geben Sie den API-Schlüssel einer Organisation an, um den Zugriff nur auf Projekte dieser Organisation zu beschränken.
Bereiche (Scopes) und Nur-Lese-Modus
Neon MCP unterstützt die OAuth-Bereiche read, write und * (* bedeutet beides). Ihr MCP-Client kann diese Bereiche direkt anfordern, oder Sie treffen die Auswahl in der OAuth-Berechtigungs-UI.
Der Nur-Lese-Modus schränkt ein, welche Tools verfügbar sind, und deaktiviert Schreiboperationen wie das Erstellen von Projekten, Branches oder das Ausführen von Migrationen. Zu den Nur-Lese-Tools gehören das Auflisten von Projekten, das Beschreiben von Schemas, das Abfragen von Daten und das Anzeigen von Leistungsmetriken.
Sie können den Nur-Lese-Modus auf zwei Arten festlegen:
- OAuth-Bereichsauswahl (empfohlen): Wählen Sie in OAuth „Nur Lesen“, indem Sie Vollzugriff in der Autorisierungs-UI deaktivieren.
readonly-Abfrageparameter: Fügen Sie?readonly=truezu Ihrer MCP-Server-URL hinzu:
{
"mcpServers": {
"Neon": {
"url": "https://mcp.neon.tech/mcp?readonly=true"
}
}
}
So verhält sich der Abfrageparameter:
- API-Schlüssel-Flow:
readonly=trueist der Weg, den Nur-Lese-Modus zu aktivieren (in diesem Flow gibt es keinen OAuth-Bereichsaustausch). - OAuth-Flow:
readonly=trueüberschreibt den OAuth-Bereich. Ohne ihn wird der Nur-Lese-Modus durch den in der OAuth-Zustimmungs-UI ausgewählten Bereich bestimmt.
Der ältere HTTP-Header x-read-only wird ebenfalls als Fallback unterstützt (mit niedrigerer Priorität als der Abfrageparameter).
Hinweis: Der Nur-Lese-Modus schränkt ein, welche Tools verfügbar sind. Darüber hinaus bleibt das
run_sql-Tool nur für Nur-Lese-Abfragen verfügbar.
URL-Abfrageparameter für die Zugriffskontrolle
Der Gewährungskontext (Bereichskategorien, Projekteingrenzung, Nur-Lese-Modus) wird über URL-Abfrageparameter in der MCP-Server-URL konfiguriert. Die Konfiguration reist mit jeder Anfrage und wird sofort wirksam – keine erneute Authentifizierung erforderlich.
| Parameter | Beschreibung | Beispiel |
|---|---|---|
readonly | Nur-Lese-Modus aktivieren (true/false) | ?readonly=true |
category | Auf bestimmte Tool-Kategorien beschränken (wiederholt oder CSV) | ?category=querying&category=schema |
projectId | Alle Operationen auf ein einzelnes Projekt eingrenzen | ?projectId=proj-123 |
Beispiel für Nur-Lesen + projektspezifisch:
{
"mcpServers": {
"Neon": {
"url": "https://mcp.neon.tech/mcp?readonly=true&projectId=my-project-id"
}
}
}
Beispiel mit Kategoriefilter (nur Abfrage- und Schema-Tools):
{
"mcpServers": {
"Neon": {
"url": "https://mcp.neon.tech/mcp?category=querying&category=schema"
}
}
}
Sie können für jede Konfiguration über den /api/list-tools-Endpunkt eine Vorschau der sichtbaren Tools anzeigen (keine Authentifizierung erforderlich):
curl "https://mcp.neon.tech/api/list-tools?readonly=true&category=querying"
Im Nur-Lese-Modus verfügbare Tools
list_projects,list_shared_projects,describe_project,list_organizationsdescribe_branch,list_branch_computes,compare_database_schemarun_sql,run_sql_transaction,get_database_tables,describe_table_schemalist_slow_queries,explain_sql_statement,inspect_databaseget_connection_stringget_neon_auth_configquery_logs,list_log_fields,list_log_field_valuessearch,fetch,list_docs_resources,get_doc_resource
Tools, die Schreibzugriff erfordern:
create_project,delete_projectcreate_branch,delete_branch,reset_from_parentprovision_neon_auth,configure_neon_auth,provision_neon_data_apiprepare_database_migration,complete_database_migrationprepare_query_tuning,complete_query_tuning
Server-Sent Events (SSE)-Transport (veraltet)
MCP unterstützt zwei Remote-Server-Transporte: das veraltete Server-Sent Events (SSE) und das neuere, empfohlene Streamable HTTP. Wenn Ihr LLM-Client Streamable HTTP noch nicht unterstützt, können Sie den Endpunkt von https://mcp.neon.tech/mcp auf https://mcp.neon.tech/sse umstellen, um stattdessen SSE zu verwenden.
Führen Sie den folgenden Befehl aus, um den Neon MCP Server für alle erkannten Agenten und Editoren in Ihrem Arbeitsbereich über den SSE-Transport hinzuzufügen:
npx add-mcp https://mcp.neon.tech/sse --type sse
Architektur des Remote-Servers
Der Remote-Server läuft als Next.js-App-Router-Anwendung auf Vercel unter mcp.neon.tech.
[!NOTE] Der Root-Pfad
/leitet zur Neon-MCP-Server-Dokumentation weiter. Es gibt keine Landingpage.
Kernimplementierungsbereiche:
app/api/[transport]/route.ts: MCP-Transportendpunkt für Streamable HTTP (/mcp) und SSE (/sse)app/api/authorize/,app/callback/,app/api/token/,app/api/revoke/: OAuth-Flow-Endpunkteapp/.well-known/: OAuth-Discovery-Metadaten-Endpunktemcp/: MCP-Server, Tools, Handler, Analysen und Sentry-Integrationlib/: Next.js-kompatible Helfer (OAuth, Konfiguration, Fehlerbehandlung)mcp/utils/read-only.ts: Nur-Lese-Modus und Bereichsverwaltung
Anleitungen
- Neon-MCP-Server-Anleitung
- MCP-Clients mit Neon verbinden
- Cursor mit Neon MCP Server
- Claude Code mit Neon MCP Server
- Claude Desktop mit Neon MCP Server
- Cline mit Neon MCP Server
- Windsurf mit Neon MCP Server
- Zed mit Neon MCP Server
Funktionen
Unterstützte Tools
Der Neon MCP Server stellt die folgenden Aktionen bereit, die MCP-Clients als „Tools“ zur Verfügung gestellt werden. Sie können diese Tools verwenden, um über Befehle in natürlicher Sprache mit Ihren Neon-Projekten und -Datenbanken zu interagieren.
Metadaten zum Tool-Bereich
Jede Tool-Definition enthält eine scope-Kategorie, die für die berechtigungsbasierte Tool-Filterung und die Einwilligungs-UI verwendet wird. Die aktuellen Kategorien sind:
projectsbranchesschemaqueryingneon_authdata_apiobservabilitydocsnull(Tools ohne Bereichskategorie)
Hinweise:
compare_database_schemaist unterschemakategorisiert.provision_neon_data_apiist unterdata_apikategorisiert (getrennt vonneon_auth).- Die Durchsetzung von Schreibschutz stützt sich weiterhin auf
readOnlySafeund die serverseitige Schreibschutzlogik;scopesind Kategorien-Metadaten und kein eigenständiger Lese-/Schreib-Schalter. - Im projektbezogenen Modus (
?projectId=...) sindsearchundfetchnicht verfügbar.
Projektverwaltung:
list_projects: Listet die ersten 10 Neon-Projekte in Ihrem Konto auf und liefert eine Zusammenfassung jedes Projekts. Wenn Sie ein bestimmtes Projekt nicht finden können, erhöhen Sie das Limit, indem Sie einen höheren Wert an den Parameterlimitübergeben.list_shared_projects: Listet Neon-Projekte auf, die mit dem aktuellen Benutzer geteilt werden. Unterstützt einen Suchparameter und die Begrenzung der Anzahl zurückgegebener Projekte (Standard: 10).describe_project: Ruft detaillierte Informationen zu einem bestimmten Neon-Projekt ab, einschließlich ID, Name sowie zugehöriger Branches und Datenbanken.create_project: Erstellt ein neues Neon-Projekt in Ihrem Neon-Konto. Ein Projekt dient als Container für Branches, Datenbanken, Rollen und Computes.delete_project: Löscht ein bestehendes Neon-Projekt und alle zugehörigen Ressourcen.list_organizations: Listet alle Organisationen auf, auf die der aktuelle Benutzer Zugriff hat. Optional können Sie mithilfe des Suchparameters nach Organisationsname oder -ID filtern.
Branch-Verwaltung:
create_branch: Erstellt einen neuen Branch innerhalb eines angegebenen Neon-Projekts. Nutzt die Branching-Funktion von Neon für Entwicklung, Tests oder Migrationen.delete_branch: Löscht einen bestehenden Branch aus einem Neon-Projekt.describe_branch: Ruft Details zu einem bestimmten Branch ab, wie Name, ID und übergeordneter Branch.list_branch_computes: Listet Compute-Endpoints für ein Projekt oder einen bestimmten Branch auf, einschließlich Compute-ID, Typ, Größe, letzte aktive Zeit und Autoscaling-Informationen.compare_database_schema: Zeigt den Schema-Diff zwischen dem Child-Branch und seinem übergeordneten Branch.reset_from_parent: Setzt den aktuellen Branch auf den Zustand seines übergeordneten Branches zurück und verwirft lokale Änderungen. Sichert automatisch als Backup, wenn der Branch Child-Branches hat, oder optional auf Anfrage mit einem benutzerdefinierten Namen.
SQL-Abfrageausführung:
get_connection_string: Gibt Ihre Datenbank-Verbindungszeichenfolge zurück.run_sql: Führt eine einzelne SQL-Abfrage gegen eine angegebene Neon-Datenbank aus. Unterstützt sowohl Lese- als auch Schreiboperationen.run_sql_transaction: Führt eine Reihe von SQL-Abfragen innerhalb einer einzelnen Transaktion gegen eine Neon-Datenbank aus.get_database_tables: Listet alle Tabellen innerhalb einer angegebenen Neon-Datenbank auf.describe_table_schema: Ruft die Schema-Definition einer bestimmten Tabelle ab und beschreibt Spalten, Datentypen und Constraints.
Datenbank-Migrationen (Schemaänderungen):
prepare_database_migration: Startet einen Datenbank-Migrationsprozess. Entscheidend ist, dass ein temporärer Branch erstellt wird, um die Migration sicher anzuwenden und zu testen, bevor der Haupt-Branch betroffen ist.complete_database_migration: Schließt eine vorbereitete Datenbankmigration ab und wendet sie auf den Haupt-Branch an. Diese Aktion führt Änderungen vom temporären Migrationsbranch zusammen und bereinigt temporäre Ressourcen.
SQL-Abfragen und Optimierung:
inspect_database: Führt eine von 14 vordefinierten schreibgeschützten Postgres-Diagnosen gegen einen Branch aus – Relationen- und Indexgrößen, Index- und Sequential-Scan-Nutzung, aktive Abfragen und Sperren, die schwersten und häufigsten Abfragen, Cache-Trefferquote und Working-Set-Größe, Autovacuum- und Bloat-Schätzungen sowie Replikationsstatus. Dieselben Prüfungen wie der CLI-Befehlneon inspect db. Vier davon benötigen die Erweiterungpg_stat_statementsoderneon.list_slow_queries: Identifiziert Leistungsengpässe, indem die langsamsten Abfragen in einer Datenbank ermittelt werden. Erfordert die pg_stat_statements-Erweiterung.explain_sql_statement: Liefert detaillierte Ausführungspläne für SQL-Abfragen, um Leistungsengpässe zu identifizieren.prepare_query_tuning: Analysiert die Abfrageleistung und schlägt Optimierungen vor, wie die Erstellung von Indizes. Erstellt einen temporären Branch zum sicheren Testen dieser Optimierungen.complete_query_tuning: Schließt die Abfrage-Optimierung ab, indem Optimierungen entweder auf den Haupt-Branch angewendet oder verworfen werden. Bereinigt den temporären Optimierungsbranch.
Neon Auth:
provision_neon_auth: Stellt Neon Auth für ein Neon-Projekt bereit. Es ermöglicht Entwicklern, Authentifizierungsinfrastruktur einfach einzurichten, indem eine Integration mit einem Auth-Anbieter erstellt wird.configure_neon_auth: Konfiguriert eine bestehende Neon-Auth-Integration für einen Branch – verwaltet vertrauenswürdige Origins, Localhost-Zugriff, Authentifizierungsmethoden, OAuth-Anbieter und den Transaktions-E-Mail-Anbieter.get_neon_auth_config: Liest die vollständige Neon-Auth-Konfiguration für einen Branch, einschließlich Integrations-Metadaten und konfigurierbarer Einstellungen (Geheimnisse werden geschwärzt).
Neon Data API:
provision_neon_data_api: Stellt die Neon Data API für HTTP-basierten Datenbankzugriff bereit, mit optionaler JWT-Authentifizierung über Neon Auth oder externe JWKS-Anbieter.
Suche und Erkennung:
search: Durchsucht Organisationen, Projekte und Branches, die mit einer Abfrage übereinstimmen. Gibt IDs, Titel und direkte Links zur Neon Console zurück.fetch: Ruft detaillierte Informationen zu einer bestimmten Organisation, einem Projekt oder Branch mithilfe einer ID ab (in der Regel vom Suchtool).
Observability: Diese Tools erfordern die Neon Platform Beta und sind derzeit nur für Projekte in der Region aws-us-east-2 verfügbar. Ein Branch ohne Log-Zugriff gibt HTTP 404 zurück, mit dem Grund telemetry_not_enabled.
query_logs: Fragt OpenTelemetry-Logs ab, die von Neon-Serverless-Funktionen und anderen Diensten ausgegeben werden. Verwenden Sie strukturierte Filter für Quelle, Dienstname, Schweregrad und Zeitfenster oder rohelogqlfür Stream-Selektoren und Zeilenfilter, die die strukturierten Eingaben nicht ausdrücken können.list_log_fields: Listet die Log-Felder auf, für die Sie auf einem Branch Werte aufzählen können, wieservice_name,severity_textundscope_name. Vorlist_log_field_valuesverwenden.list_log_field_values: Listet die unterschiedlichen Werte eines Log-Felds innerhalb eines Branches und Zeitfensters auf, um konkrete Werte für strukturierte Filter oder rohelogqlzu ermitteln.
Dokumentation und Ressourcen:
list_docs_resources: Listet alle verfügbaren Neon-Dokumentationsseiten auf, indem der Index vonhttps://neon.com/docs/llms.txtabgerufen wird. Gibt Seiten-URLs und Titel zurück, die einzeln mit dem Toolget_doc_resourceabgerufen werden können.get_doc_resource: Ruft eine bestimmte Neon-Dokumentationsseite als Markdown-Inhalt ab. Verwenden Sie zuerst das Toollist_docs_resources, um verfügbare Seiten-Slugs zu ermitteln, und übergeben Sie dann den Slug an dieses Tool.
Migrationen
Migrationen sind eine Möglichkeit, Änderungen an Ihrem Datenbankschema im Laufe der Zeit zu verwalten. Mit dem Neon-MCP-Server können LLMs Migrationen sicher mit separaten „Start“- (prepare_database_migration) und „Commit“-Befehlen (complete_database_migration) durchführen.
Der Befehl „Start“ akzeptiert eine Migration und führt sie in einem neuen temporären Branch aus. Nach der Rückgabe weist dieser Befehl das LLM darauf hin, die Migration auf diesem Branch zu testen. Das LLM kann dann den Befehl „Commit“ ausführen, um die Migration auf den ursprünglichen Branch anzuwenden.
Entwicklung
Dieses Projekt verwendet pnpm als Paketmanager, festgelegt über Corepack.
Projektstruktur
Der MCP-Servercode befindet sich im Repository-Stammverzeichnis, einer Next.js-Anwendung, die bei Vercel unter mcp.neon.tech bereitgestellt wird.
corepack enable
pnpm install
Lokale Entwicklung
# Start the Next.js dev server (for the remote MCP server)
pnpm dev
Linting und Typprüfung
pnpm lint
pnpm typecheck
Umgebungsvariablen
Erforderlich für die Remote-Serverlaufzeit:
| Variable | Beschreibung |
|---|---|
SERVER_HOST | Server-URL (Standardwert: VERCEL_URL) |
UPSTREAM_OAUTH_HOST | Neon-OAuth-Anbieter-URL |
CLIENT_ID | OAuth-Client-ID |
CLIENT_SECRET | OAuth-Client-Geheimnis |
COOKIE_SECRET | Geheimnis für signierte Cookies |
KV_URL | Vercel-KV-URL (Upstash Redis) |
OAUTH_DATABASE_URL | Postgres-URL für die Token-Speicherung |
Optional:
| Variable | Beschreibung |
|---|---|
LOG_LEVEL | Winston-Log-Level: error, warn, info (Standard), debug, verbose, silly |
Testpyramide
Alle Tests werden vom Repository-Stammverzeichnis aus ausgeführt.
# Unit tests
pnpm test:unit
# Integration tests
pnpm test:integration
# MCP protocol end-to-end tests (real MCP client/server tool calls)
pnpm test:e2e:mcp
# Website end-to-end tests (Playwright; provisions/validates ephemeral DB first)
pnpm test:e2e:web
# Full end-to-end suite
pnpm test:e2e
# Full test pyramid (unit + integration + e2e; used in CI)
pnpm test
Teststrategie:
- Bevorzugen Sie E2E für Transport/Protokoll und sichtbares Benutzerverhalten.
- Verwenden Sie Integrationstests für deterministische Tool-Verträge und Workflow-Verhalten.
- Verwenden Sie Unit-Tests für reine Logik und Randfälle.
- Verlassen Sie sich bei Merge-Gating-Tests nicht auf die Verfügbarkeit von Drittanbietern; mocken Sie externe Abhängigkeiten in den Integrations-/Unit-Ebenen.
Bereitstellung
Vercel stellt den Remote-Server automatisch aus der Branch-Konfiguration des Repositorys bereit. Für Pull-Requests stehen Vorschauumgebungen zur Verfügung.