Zum Hauptinhalt springen

Documentation Index

Fetch the complete documentation index at: https://docs.windsurf.com/llms.txt

Use this file to discover all available pages before exploring further.

MCP (Model Context Protocol) ist ein Protokoll, das LLMs den Zugriff auf eigene Tools und Dienste ermöglicht. Ein MCP-Client (hier: Cascade) kann Anfragen an MCP-Server stellen, um auf die von ihnen bereitgestellten Tools zuzugreifen. Cascade integriert MCP nun nativ, sodass Sie eine eigene Auswahl an MCP-Servern für die Nutzung durch Cascade einbinden können. Weitere Informationen finden Sie in der offiziellen MCP-Dokumentation.
Enterprise-Nutzer müssen dies in den Einstellungen manuell aktivieren

Hinzufügen eines neuen MCP-Plugins

Neue MCP-Plugins fügen Sie hinzu, indem Sie zu Settings > Tools > Windsurf Settings > Add Server navigieren. Wenn das gewünschte MCP-Plugin nicht aufgeführt ist, können Sie es manuell hinzufügen, indem Sie auf die Schaltfläche View Raw Config klicken und die Rohdatei mcp_config.json bearbeiten. Wenn Sie einen MCP-Server auswählen, klicken Sie einfach auf + Add Server, um den Server und seine Tools in Cascade verfügbar zu machen.
Cascade unterstützt drei Transporttypen für MCP-Server: stdio, Streamable HTTP und SSE. Cascade unterstützt außerdem OAuth für jeden Transporttyp. Für http-Server sollte die URL dem Endpunkt entsprechen und etwa so aussehen: https://<your-server-url>/mcp.
Stellen Sie sicher, dass Sie nach dem Hinzufügen eines neuen MCP-Plugins die Aktualisieren-Schaltfläche drücken.

mcp_config.json

Die Datei ~/.codeium/mcp_config.json ist eine JSON-Datei, die eine Liste von Servern enthält, zu denen sich Cascade verbinden kann. Hier ist eine Beispielkonfiguration, die einen einzelnen Server für GitHub einrichtet:
{
  "mcpServers": {
    "github": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-github"
      ],
      "env": {
        "GITHUB_PERSONAL_ACCESS_TOKEN": "<IHR_PERSÖNLICHES_ZUGANGSTOKEN>"
      }
    }
  }
}
Stelle sicher, dass du die erforderlichen Argumente und Umgebungsvariablen für die Server angibst, die du verwenden möchtest. Siehe das offizielle MCP-Server-Referenz‑Repository oder OpenTools für einige Beispielserver.

Remote HTTP-MCPs

Es ist wichtig zu beachten, dass die Konfiguration für Remote-HTTP-MCPs leicht abweicht und ein Feld serverUrl oder url erfordert. Hier ist eine Beispielkonfiguration für einen HTTP-Server:
{
  "mcpServers": {
    "remote-http-mcp": {
      "serverUrl": "<ihre-server-url>/mcp",
      "headers": {
        "API_KEY": "value"
      }
    }
  }
}

Konfigurationsinterpolation

Die Datei ~/.codeium/mcp_config.json führt die Interpolation von Umgebungsvariablen in folgenden Feldern durch: command, args, env, serverUrl, url und headers. Hier ist eine Beispielkonfiguration, die die Umgebungsvariable AUTH_TOKEN in headers verwendet.
{
  "mcpServers": {
    "remote-http-mcp": {
      "serverUrl": "<your-server-url>/mcp",
      "headers": {
        "API_KEY": "Bearer ${env:AUTH_TOKEN}"
      }
    }
  }
}

Admin-Kontrollen (Teams & Enterprise)

Team-Admins können den MCP-Zugriff für ihr Team ein- und ausschalten und eine Allowlist zugelassener MCP-Server verwalten, die dein Team verwenden kann:

MCP-Team-Einstellungen

Anpassbare MCP-Einstellungen für dein Team.
Der obige Link funktioniert nur, wenn du Admin-Berechtigungen für dein Team hast.
Standardmäßig können Nutzer innerhalb eines Teams ihre eigenen MCP-Server konfigurieren. Sobald du jedoch auch nur einen einzigen MCP-Server auf die Allowlist setzt, werden alle nicht auf der Allowlist stehenden Server für dein Team blockiert.

Funktionsweise des Server-Matchings

Wenn Sie einen MCP-Server auf die Allowlist setzen, verwendet das System Regex-Musterabgleich mit den folgenden Regeln:
  • Vollständiger Zeichenfolgenabgleich: Alle Muster werden automatisch verankert (mit ^(?:pattern)$ umschlossen), um Teiltreffer zu verhindern
  • Command-Feld: Muss exakt übereinstimmen oder gemäß Ihrem Regex-Muster
  • Arguments-Array: Jedes Argument wird einzeln mit seinem entsprechenden Muster abgeglichen
  • Array-Länge: Die Anzahl der Argumente muss zwischen Allowlist und Benutzerkonfiguration exakt übereinstimmen
  • Sonderzeichen: Zeichen wie $, ., [, ], (, ) haben in Regex eine besondere Bedeutung und sollten mit \ escaped werden, wenn Sie eine wörtliche Übereinstimmung wünschen

Konfigurationsoptionen

Admin-Whitelist-Konfiguration:
  • Server-ID: github-mcp-server
  • Server Config (JSON): (leer lassen)
{}
Passende Benutzerkonfiguration (mcp_config.json):
{
  "mcpServers": {
    "github-mcp-server": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "GITHUB_PERSONAL_ACCESS_TOKEN",
        "ghcr.io/github/github-mcp-server"
      ],
      "env": {
        "GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_your_token_here"
      }
    }
  }
}
So können Nutzer den GitHub-MCP-Server mit jeder gültigen Konfiguration installieren, solange die Server-ID mit dem Eintrag im Plugin-Store übereinstimmt.
Admin-Whitelist-Konfiguration:
  • Server-ID: github-mcp-server
  • Server Config (JSON):
{
  "command": "docker",
  "args": [
    "run",
    "-i",
    "--rm",
    "-e",
    "GITHUB_PERSONAL_ACCESS_TOKEN",
    "ghcr.io/github/github-mcp-server"
  ],
  "env": {
    "GITHUB_PERSONAL_ACCESS_TOKEN": ""
  }
}
Passende Benutzerkonfiguration (mcp_config.json):
{
  "mcpServers": {
    "github-mcp-server": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "GITHUB_PERSONAL_ACCESS_TOKEN",
        "ghcr.io/github/github-mcp-server"
      ],
      "env": {
        "GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_your_token_here"
      }
    }
  }
}
Nutzer müssen genau diese Konfiguration verwenden – jede Abweichung bei command oder args wird blockiert. Der Abschnitt env kann unterschiedliche Werte enthalten.
Admin-Whitelist-Konfiguration:
  • Server-ID: python-mcp-server
  • Server Config (JSON):
{
  "command": "python3",
  "args": ["/.*\\.py", "--port", "[0-9]+"]
}
Passende Benutzerkonfiguration (mcp_config.json):
{
  "mcpServers": {
    "python-mcp-server": {
      "command": "python3",
      "args": ["/home/user/my_server.py", "--port", "8080"],
      "env": {
        "PYTHONPATH": "/home/user/mcp"
      }
    }
  }
}
Dieses Beispiel bietet Nutzern Flexibilität bei gleichzeitiger Wahrung der Sicherheit:
  • Der Regex /.*\\.py passt auf jeden Python-Dateipfad wie /home/user/my_server.py
  • Der Regex [0-9]+ passt auf jeden numerischen Port wie 8080 oder 3000
  • Nutzer können Dateipfade und Ports anpassen, während Admins sicherstellen, dass nur Python-Skripte ausgeführt werden

Häufige Regex-Muster

MusterEntsprichtBeispiel
.*Beliebige Zeichenfolge/home/user/script.py
[0-9]+Beliebige Zahl8080, 3000
[a-zA-Z0-9_]+Alphanumerisch + Unterstrichapi_key_123
\\$HOMEWörtliches $HOME$HOME (nicht expandiert)
\\.pyWörtliches .pyscript.py
\\[cli\\]Wörtliches [cli]mcp[cli]

Anmerkungen

Richtlinien für die Admin-Konfiguration

  • Umgebungsvariablen: Der Abschnitt env wird nicht per Regex abgeglichen und kann von Nutzerinnen und Nutzern frei konfiguriert werden
  • Deaktivierte Tools: Das Array disabledTools wird separat behandelt und ist nicht Teil des Whitelist-Abgleichs
  • Groß-/Kleinschreibung: Alle Abgleiche sind case-sensitiv
  • Fehlerbehandlung: Ungültige Regex-Muster werden protokolliert und führen zur Zugriffsverweigerung
  • Tests: Testen Sie Ihre Regex-Muster sorgfältig – zu restriktive Muster können legitime Anwendungsfälle blockieren

Fehlerbehebung

Wenn Nutzer melden, dass ihre MCP-Server nach dem Zulassen per Allowlist nicht funktionieren:
  1. Exakte Übereinstimmung prüfen: Stellen Sie sicher, dass das Allowlist-Muster exakt der Nutzerkonfiguration entspricht
  2. Regex-Escaping prüfen: Sonderzeichen müssen ggf. maskiert werden (z. B. \. für echte Punkte)
  3. Logs prüfen: Ungültige Regex-Muster werden mit Warnungen protokolliert
  4. Muster testen: Verwenden Sie einen Regex-Tester, um zu prüfen, ob Ihre Muster wie erwartet funktionieren
Denken Sie daran: Sobald Sie einen Server auf die Allowlist setzen, werden alle anderen Server für Ihre Teammitglieder automatisch blockiert.

Allgemeine Informationen

  • Da MCP-Toolaufrufe Code ausführen können, der von beliebigen Serverimplementierenden geschrieben wurde, übernehmen wir keine Haftung für Fehler bei MCP-Toolaufrufen. Zur Klarstellung:
  • Derzeit unterstützen wir die Tools, Resources und Prompts eines MCP-Servers.