Model Context Protocol (MCP)
Was ist MCP?
Model Context Protocol (MCP) ermöglicht Cursor die Verbindung mit externen Tools und Datenquellen. Installiere und verwalte MCP-Server auf der Seite anpassen oder konfiguriere sie in mcp.json.
Warum MCP verwenden?
MCP verbindet Cursor mit externen Systemen und Daten. Statt deine Projektstruktur immer wieder zu erklären, integrierst du deine Tools direkt.
MCP-Server kannst du in jeder Sprache schreiben, die auf stdout ausgeben oder einen HTTP-Endpunkt bereitstellen kann – etwa Python, JavaScript oder Go.
Durchsuche offizielle Plugins im Cursor Marketplace. Community-Plugins und MCP-Server findest du auf cursor.directory.
So funktioniert es
MCP-Server stellen über das Protokoll Funktionen bereit und verbinden Cursor mit externen Tools oder Datenquellen.
Cursor unterstützt drei Transportmethoden:
| Transport | Ausführungsumgebung | Bereitstellung | Nutzer | Eingabe | Authentifizierung |
|---|---|---|---|---|---|
stdio | Lokal | Von Cursor verwaltet | Einzelner Nutzer | Shell-Befehl | Manuell |
SSE | Lokal/Remote | Als Server bereitstellen | Mehrere Nutzer | URL eines SSE-Endpunkts | OAuth |
Streamable HTTP | Lokal/Remote | Als Server bereitstellen | Mehrere Nutzer | URL eines HTTP-Endpunkts | OAuth |
Unterstützung für Protokolle und Erweiterungen
Cursor unterstützt diese MCP-Protokollfunktionen und -erweiterungen:
| Funktion | Unterstützung | Beschreibung |
|---|---|---|
| Tools | Unterstützt | Funktionen, die das AI-Modell ausführen kann |
| Prompts | Unterstützt | Vorlagenbasierte Nachrichten und Workflows für Nutzer |
| Resources | Unterstützt | Strukturierte Datenquellen, die gelesen und referenziert werden können |
| Roots | Unterstützt | Vom Server initiierte Abfragen zu URI- oder Dateisystemgrenzen |
| Elicitation | Unterstützt | Vom Server initiierte Anfragen nach zusätzlichen Informationen von Nutzern |
| Apps (Erweiterung) | Unterstützt | Interaktive UI-Ansichten, die von MCP-Tools zurückgegeben werden |
MCP-Apps
Cursor unterstützt die MCP-Apps-Erweiterung. MCP-Tools können neben der üblichen Toolausgabe auch eine interaktive UI zurückgeben.
MCP-Apps folgen dem Prinzip der schrittweisen Erweiterung. Kann ein Host die App-UI nicht rendern, funktioniert dasselbe Tool weiterhin über normale MCP-Antworten.
MCP-Server installieren
Installation mit einem Klick
Im Cursor Marketplace finden Sie offizielle Plugins, die Sie über anpassen mit einem Klick installieren können. Benutzerdefinierte Server konfigurieren Sie mit mcp.json. Community-Plugins und MCP-Server finden Sie auf cursor.directory. Klicken Sie bei einem Marketplace-Eintrag auf „Add to Cursor“, um ihn zu installieren und sich per OAuth zu authentifizieren.
Team-Admins können MCP-Server auch über einen Team-Marketplace verteilen. Vom Team bereitgestellte Server werden unter „anpassen“ neben persönlichen und Workspace-MCP-Servern angezeigt.
mcp.json verwenden
Konfigurieren Sie benutzerdefinierte MCP-Server mit einer JSON-Datei:
{ "mcpServers": { "server-name": { "command": "npx", "args": ["-y", "mcp-server"], "env": { "API_KEY": "value" } } }}{ "mcpServers": { "server-name": { "command": "python", "args": ["mcp-server.py"], "env": { "API_KEY": "value" } } }}// MCP-Server mit HTTP oder SSE – läuft auf einem Server{ "mcpServers": { "server-name": { "url": "http://localhost:3000/mcp", "headers": { "API_KEY": "value" } } }}Statisches OAuth für Remote-Server
Für MCP-Server, die OAuth verwenden, kannst du in mcp.json statische OAuth-Client-Zugangsdaten anstelle einer dynamischen Client-Registrierung angeben. Verwende dies, wenn:
- der MCP-Anbieter dir eine feste Client ID bereitstellt (und optional ein Client Secret)
- der Anbieter die Freigabe einer Redirect-URL erfordert (z. B. Figma, Linear)
- der Anbieter OAuth 2.0 Dynamic Client Registration nicht unterstützt
Füge Remote-Server-Einträgen, die url verwenden, ein auth-Objekt hinzu:
{ "mcpServers": { "oauth-server": { "url": "https://api.example.com/mcp", "auth": { "CLIENT_ID": "your-oauth-client-id", "CLIENT_SECRET": "your-client-secret", "scopes": ["read", "write"] } } }}| Feld | Erforderlich | Beschreibung |
|---|---|---|
| CLIENT_ID | Ja | OAuth 2.0 Client ID des MCP-Anbieters |
| CLIENT_SECRET | Nein | OAuth 2.0 Client Secret (wenn der Anbieter vertrauliche Clients verwendet) |
| scopes | Nein | Anzufordernde OAuth-Scopes. Wenn nicht angegeben, verwendet Cursor /.well-known/oauth-authorization-server, um scopes_supported zu ermitteln |
Statische Redirect-URL
Cursor verwendet feste OAuth-Redirect-URLs für MCP-Server. Registriere den Callback für jede Oberfläche, über die sich deine Nutzer anmelden:
https://www.cursor.com/agents/mcp/oauth/callbackhttp://localhost:8787/callback- Web und Cursor-Agent:
https://www.cursor.com/agents/mcp/oauth/callback - Desktop-App:
http://localhost:8787/callback
Wenn Nutzer sich sowohl über das Web als auch über die Desktop-App authentifizieren, registrieren Sie beim Konfigurieren der OAuth-App des MCP-Anbieters beide URLs als zulässige Redirect-URIs. Der Server wird anhand des OAuth-Parameters state identifiziert. Daher funktionieren diese Redirect-URLs für alle MCP-Server.
Kombination mit Konfigurationsinterpolation
auth-Werte unterstützen dieselbe Interpolation wie andere Felder:
{ "mcpServers": { "oauth-server": { "url": "https://api.example.com/mcp", "auth": { "CLIENT_ID": "${env:MCP_CLIENT_ID}", "CLIENT_SECRET": "${env:MCP_CLIENT_SECRET}" } } }}Verwende Umgebungsvariablen für Client ID und Client Secret, anstatt sie fest zu codieren.
STDIO-Server-Konfiguration
Konfigurieren Sie für STDIO-Server (lokale Befehlszeilenserver) die folgenden Felder in Ihrer mcp.json:
| Feld | Erforderlich | Beschreibung | Beispiele |
|---|---|---|---|
| type | Ja | Verbindungstyp des Servers | "stdio" |
| command | Ja | Befehl zum Starten der Serveranwendung. Er muss über den Systempfad verfügbar sein oder den vollständigen Pfad enthalten. | "npx", "node", "python", "docker" |
| args | Nein | Array von Argumenten, die an den Befehl übergeben werden | ["server.py", "--port", "3000"] |
| env | Nein | Umgebungsvariablen für den Server | {"API_KEY": "${env:api-key}"} |
| envFile | Nein | Pfad zu einer Umgebungsdatei zum Laden weiterer Variablen | ".env", "${workspaceFolder}/.env" |
Die Option envFile ist nur für STDIO-Server verfügbar. Remote-Server (HTTP/SSE) unterstützen envFile nicht. Verwenden Sie für Remote-Server stattdessen die Konfigurationsinterpolation mit Umgebungsvariablen, die in Ihrem Shell-Profil oder in der Systemumgebung festgelegt sind.
Verwendung der Extension-API
Zur programmgesteuerten Registrierung von MCP-Servern bietet Cursor eine Extension-API, die eine dynamische Konfiguration ermöglicht, ohne mcp.json-Dateien zu ändern. Dies ist besonders nützlich in Enterprise-Umgebungen und für automatisierte Setup-Workflows.
Referenz zur Extension-API
MCP-Server programmgesteuert registrieren mit
vscode.cursor.mcp.registerServer()
Speicherorte für Konfigurationen
Projektkonfiguration
Erstelle .cursor/mcp.json in deinem Projekt für projektspezifische Tools.
Globale Konfiguration
Erstelle ~/.cursor/mcp.json in deinem Home-Verzeichnis für Tools, die überall verfügbar sind.
Konfigurationsinterpolation
Verwende Variablen in den Werten von mcp.json. Cursor löst Variablen in diesen Feldern auf: command, args, env, url und headers.
Unterstützte Syntax:
${env:NAME}Umgebungsvariablen${userHome}Pfad zu deinem Home-Ordner${workspaceFolder}Projektstammverzeichnis (der Ordner, der.cursor/mcp.jsonenthält)${workspaceFolderBasename}Name des Projektstammverzeichnisses${pathSeparator}und${/}Pfadtrennzeichen des Betriebssystems
Beispiele
{ "mcpServers": { "local-server": { "command": "python", "args": ["${workspaceFolder}/tools/mcp_server.py"], "env": { "API_KEY": "${env:API_KEY}" } } }}{ "mcpServers": { "remote-server": { "url": "https://api.example.com/mcp", "headers": { "Authorization": "Bearer ${env:MY_SERVICE_TOKEN}" } } }}Authentifizierung
MCP-Server verwenden Umgebungsvariablen zur Authentifizierung. Übergeben Sie API-Schlüssel und Token über die Konfiguration.
Cursor unterstützt OAuth für Server, die OAuth erfordern.
Enterprise-Admin-Steuerelemente
MCP-Verteilung und MCP-Richtlinien werden separat konfiguriert. Team-Admins können gemeinsame MCP-Server verteilen. Enterprise-Admins können MCP-Richtlinien konfigurieren.
Verteilung von Team-MCP-Servern
Konfigurieren Sie gemeinsame Team-MCP-Server unter Dashboard > Integrations & MCP. Diese Server stehen Cloud Agents zur Verfügung.
Um einen vorhandenen eigenständigen Team-MCP-Server im Agent Window, in der IDE und in der CLI verfügbar zu machen, wählen Sie unter Team MCP Servers Add to Team Marketplace aus. Cursor verknüpft den Server mit dem Standard-Team-Marketplace, ohne den Zugriff der Cloud Agents zu unterbrechen. Teammitglieder können ihn anschließend unter anpassen installieren und konfigurieren.
Durch die Verknüpfung eines MCP-Servers mit einem Marketplace wird er nicht für alle installiert oder aktiviert. Konfigurieren Sie Marketplace-Zugriff und die Plugin-Installationsmodi unter Dashboard > Plugins. Den vollständigen Ablauf finden Sie unter Vorhandene Team-MCP migrieren.
MCP-Zulassungsliste
Enterprise-Admins können im Cursor-Dashboard festlegen, welche MCP-Server Nutzer ausführen dürfen. Öffnen Sie Team Settings > MCP-Konfiguration, um festzulegen, welche Server und Tools das Team ausführen darf. Das Hinzufügen zu einer Zulassungsliste genehmigt eine MCP-Konfiguration. Der Server wird dadurch weder bereitgestellt noch installiert.
Verwenden Sie die MCP-Zulassungsliste, um genehmigte Server zu definieren:
- Befehlseinträge genehmigen lokale
stdio-MCP-Server anhand von Befehlsmustern. - URL-Einträge genehmigen Remote-HTTP/SSE-MCP-Server anhand von URL-Eintragsmustern.
- Tool-Zulassungslisten beschränken, welche Tools eines genehmigten Servers automatisch ausgeführt werden können. Lassen Sie eine Tool-Zulassungsliste leer, um alle Tools dieses Servers zuzulassen.
Netzwerksteuerung
Remote-MCP-URLs sind auf das konfigurierte URL-Muster beschränkt.
Lokale befehlsbasierte MCP-Server verwenden den jeweils für sie festgelegten Netzwerkmodus:
- Alle zulassen: ausgehenden Netzwerkzugriff zulassen.
- Zulassungsliste: nur aufgeführte Ziele zulassen.
- Alles verweigern: ausgehenden Netzwerkzugriff blockieren.
- Keine Sandbox: ohne Befehls- oder Netzwerk-Sandbox ausführen.
Nutzer-MCP-Erweiterungen
Admins können Nutzern erlauben, eigene MCP-Server außerhalb der von Admins definierten Befehls- oder URL-Muster zu konfigurieren. Für Nutzer-MCPs, die keinem von Admins definierten Muster entsprechen, kann die Netzwerk-Sperrliste für Nutzer-MCPs passende Netzwerkziele blockieren.
MCP im Chat verwenden
Cursor verwendet die unter Available Tools aufgeführten MCP-Tools automatisch, wenn sie relevant sind. Dazu gehört auch der Plan-Modus. Bitte ein bestimmtes Tool namentlich an oder beschreibe, was du brauchst. Aktiviere oder deaktiviere MCP-Server über anpassen in der Seitenleiste.
Tool-Freigabe
Cursor bittet standardmäßig um Freigabe, bevor MCP-Tools verwendet werden. Klicken Sie auf den Pfeil neben dem Tool-Namen, um die Argumente anzuzeigen.
Run Mode
MCP folgt denselben Run Modes wie Terminalbefehle. Im Modus Auto-review werden MCP-Tools auf der Allowlist sofort ausgeführt, während alles andere über den Klassifikator geleitet wird.
Tool-Antwort
Cursor zeigt die Antwort im Chat mit aufklappbaren Ansichten der Argumente und Antworten:
Bilder als Kontext
MCP-Server können Bilder wie Screenshots oder Diagramme zurückgeben. Geben Sie diese als Base64-codierte Zeichenfolgen zurück:
const RED_CIRCLE_BASE64 = "/9j/4AAQSkZJRgABAgEASABIAAD/2w...";// ^ vollständiges Base64 zur besseren Lesbarkeit gekürztserver.tool("generate_image", async (params) => { return { content: [ { type: "image", data: RED_CIRCLE_BASE64, mimeType: "image/jpeg", }, ], };});Implementierungsdetails findest du in diesem Beispielserver. Cursor fügt zurückgegebene Bilder dem Chat hinzu. Wenn das Modell Bilder unterstützt, analysiert es sie.
Sicherheitsaspekte
Beachte bei der Installation von MCP-Servern folgende Sicherheitspraktiken:
- Quelle überprüfen: Installiere MCP-Server nur von vertrauenswürdigen Entwicklern und aus vertrauenswürdigen Repositories.
- Permissions überprüfen: Prüfe, auf welche Daten und APIs der Server zugreifen kann.
- API-Schlüssel beschränken: Verwende eingeschränkte API-Schlüssel mit den minimal erforderlichen Permissions.
- Code prüfen: Prüfe bei kritischen Integrationen den Quellcode des Servers.
Beachte, dass MCP-Server auf externe Dienste zugreifen und in deinem Namen Code ausführen können. Verstehe stets, was ein Server tut, bevor du ihn installierst.
Praxisbeispiele
Praktische Anwendungsbeispiele für MCP:
- Xcode-Integration — Verbinde Cursor mit Xcode 26.3+ für Builds, Tests, SwiftUI-Vorschauen und die Suche in der Apple-Dokumentation
- Leitfaden zur Webentwicklung — Integriere Linear, Figma und Browser-Tools in deinen Entwicklungsworkflow
FAQ
MCP-Server verbinden Cursor mit externen Tools wie Google Drive, Notion und anderen Diensten, um Dokumente und Anforderungen in deinen Coding-Workflow einzubinden.
MCP-Logs anzeigen:
- Öffne das Output-Panel in Cursor (Cmd+Shift+UCtrl+Shift+U)
- Wähle im Dropdown „MCP Logs“ aus
- Überprüfe Verbindungsfehler, Authentifizierungsprobleme oder Serverabstürze
Die Logs zeigen die Serverinitialisierung, Tool-Aufrufe und Fehlermeldungen.
Ja! Du kannst Server ein- oder ausschalten, ohne sie zu entfernen:
- Öffne anpassen in der Seitenleiste
- Suche den MCP-Server, den du ändern möchtest
- Verwende den Toggle, um ihn zu aktivieren oder zu deaktivieren
Deaktivierte Server werden nicht geladen und erscheinen nicht im Chat. Das ist nützlich für die Fehlerbehebung oder um die Anzahl der Tools zu reduzieren.
Wenn ein MCP-Server ausfällt:
- Cursor zeigt eine Fehlermeldung im Chat an
- Der Tool-Aufruf wird als fehlgeschlagen markiert
- Du kannst den Vorgang wiederholen oder die Logs überprüfen
- Andere MCP-Server funktionieren weiterhin normal
Cursor isoliert Serverfehler, damit ein Server andere nicht beeinträchtigt.
Für npm-basierte Server:
- Entferne den Server aus anpassen
- Leere den npm-Cache:
npm cache clean --force - Füge den Server erneut hinzu, um die neueste Version zu erhalten
Bei benutzerdefinierten Servern aktualisiere deine lokalen Dateien und starte Cursor neu.
Ja, aber beachte die Best Practices für Sicherheit:
- Verwende Umgebungsvariablen für Secrets und hinterlege sie nie direkt im Code
- Führe sensible Server lokal mit
stdio-Transport aus - Beschränke API-Key-Permissions auf das erforderliche Minimum
- Überprüfe den Server-Code, bevor du ihn mit sensiblen Systemen verbindest
- Erwäge, Server in isolierten Umgebungen auszuführen