Zum Hauptinhalt springen
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.