Zum Hauptinhalt springen
MCP (Model Context Protocol) ist ein Protokoll, das LLMs den Zugriff auf benutzerdefinierte Tools und Dienste ermöglicht. Ein MCP-Client (in diesem Fall Cascade) kann Anfragen an MCP-Server senden, um auf die von ihnen bereitgestellten Tools zuzugreifen. Cascade ist jetzt nativ in MCP integriert, sodass Sie eine eigene Auswahl an MCP-Servern für die Verwendung mit Cascade einbinden können. Weitere Informationen finden Sie in der offiziellen MCP-Dokumentation.
Enterprise-Nutzer müssen dies manuell über die Settings aktivieren

Hinzufügen eines neuen MCP-Plugins

Neue MCP-Plugins können hinzugefügt werden, indem Sie zum Abschnitt Settings > Tools > Windsurf Settings > Add Server navigieren. Wenn Sie das gewünschte MCP-Plugin nicht finden, können Sie es manuell hinzufügen, indem Sie auf die Schaltfläche View Raw Config klicken und die Datei mcp_config.json direkt bearbeiten. Wenn Sie auf einen MCP-Server klicken, 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. Bei http-Servern sollte die URL dem Endpunkt entsprechen und in etwa wie https://<your-server-url>/mcp aussehen.
Achten Sie darauf, nach dem Hinzufügen eines neuen MCP-Plugins auf die Schaltfläche zum Aktualisieren zu klicken.

mcp_config.json

Die Datei ~/.codeium/mcp_config.json ist eine JSON-Datei, die eine Liste von Servern enthält, zu denen Cascade eine Verbindung herstellen 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": "<YOUR_PERSONAL_ACCESS_TOKEN>"
      }
    }
  }
}
Stelle sicher, dass du die erforderlichen Argumente und Umgebungsvariablen für die Server angibst, die du verwenden möchtest. Im offiziellen Referenz-Repo für MCP-Server oder bei OpenTools findest du einige Beispielserver.

Remote-HTTP-MCPs

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

Interpolation in der Konfiguration

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

Admin-Einstellungen (Teams & Unternehmen)

Team-Admins können den MCP-Zugriff für ihr Team umschalten und außerdem genehmigte MCP-Server für ihr Team auf die Whitelist setzen:

MCP Team Settings

Konfigurierbare MCP-Einstellungen für Ihr Team.
Der obige Link funktioniert nur, wenn Sie Admin-Rechte für Ihr Team haben.
Standardmäßig können Nutzer innerhalb eines Teams ihre eigenen MCP-Server konfigurieren. Sobald Sie jedoch auch nur einen einzigen MCP-Server auf die Whitelist setzen, werden alle nicht auf der Whitelist stehenden Server für Ihr Team blockiert.

So funktioniert der Server-Abgleich

Wenn Sie einen MCP-Server auf die Whitelist setzen, verwendet das System Regex-Abgleich nach den folgenden Regeln:
  • Vollständiger String-Abgleich: Alle Muster werden automatisch verankert (in ^(?:pattern)$ eingeschlossen), um Teiltreffer zu verhindern
  • Befehlsfeld: Muss exakt oder entsprechend Ihrem Regex-Muster übereinstimmen
  • Argument-Array: Jedes Argument wird einzeln mit dem entsprechenden Muster abgeglichen
  • Array-Länge: Die Anzahl der Argumente muss in der Whitelist und in der Nutzerkonfiguration exakt übereinstimmen
  • Sonderzeichen: Zeichen wie $, ., [, ], (, ) haben in Regex eine besondere Bedeutung und sollten mit \ maskiert werden, wenn Sie eine wörtliche Übereinstimmung möchten

Konfigurationsoptionen

Admin-Whitelist-Konfiguration:
  • Server-ID: github-mcp-server
  • Server Config (JSON): (leer lassen)
{}
Passende Nutzerkonfiguration (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"
      }
    }
  }
}
Dadurch 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 Nutzerkonfiguration (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 Nutzerkonfiguration (mcp_config.json):
{
  "mcpServers": {
    "python-mcp-server": {
      "command": "python3",
      "args": ["/home/user/my_server.py", "--port", "8080"],
      "env": {
        "PYTHONPATH": "/home/user/mcp"
      }
    }
  }
}
Dieses Beispiel gibt Nutzern Flexibilität und wahrt gleichzeitig die Sicherheit:
  • Die Regex /.*\\.py entspricht jedem Pfad zu einer Python-Datei wie /home/user/my_server.py
  • Die Regex [0-9]+ entspricht jedem 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_]+Alphanumerische Zeichen + Unterstrichapi_key_123
\\$HOMEWörtliches $HOME$HOME (nicht expandiert)
\\.pyWörtliches .pyscript.py
\\[cli\\]Wörtliches [cli]mcp[cli]

Hinweise

Richtlinien für die Admin-Konfiguration

  • Umgebungsvariablen: Der Abschnitt env wird nicht per Regex abgeglichen und kann von Nutzern frei konfiguriert werden
  • Deaktivierte Tools: Das Array disabledTools wird separat behandelt und ist nicht Teil des Whitelist-Abgleichs
  • Groß-/Kleinschreibung: Der Abgleich berücksichtigt die Groß- und Kleinschreibung
  • 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 Whitelisting nicht funktionieren:
  1. Exakten Abgleich prüfen: Stellen Sie sicher, dass das Whitelist-Muster genau mit der Konfiguration des Nutzers übereinstimmt
  2. Regex-Escaping überprüfen: Sonderzeichen müssen möglicherweise maskiert werden (z. B. \. für literale 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 Whitelist setzen, werden alle anderen Server für Ihre Teammitglieder automatisch blockiert.

Allgemeine Informationen

  • Da MCP-Tool-Aufrufe Code ausführen können, der von beliebigen Entwicklern eines Servers geschrieben wurde, übernehmen wir keine Haftung für Fehler bei MCP-Tool-Aufrufen. Zur Klarstellung:
  • Wir unterstützen derzeit die Tools, Ressourcen und Prompts eines MCP-Servers.