MCP-Server hinzufügen
Über die Befehlszeile
Der schnellste Weg, einen MCP-Server hinzuzufügen:--command) auf stdio.
Remote-MCP-Server verwenden standardmäßig Streamable HTTP. Wenn der Server mit einem HTTP-4xx-Fehler wie 404 oder 405 antwortet, fällt die CLI unter derselben URL auf SSE zurück. Authentifizierungsfehler (ein 401 oder ein 403 wegen unzureichenden Geltungsbereichs mit einer
WWW-Authenticate-Challenge) lösen den Fallback nicht aus — sie werden direkt gemeldet, damit du dich authentifizieren kannst. Setze "transport": "sse" bei Bedarf explizit — siehe unten Legacy-SSE-Fallback..devin/mcp_config.local.json, von Git ignoriert). Verwende -s/--scope, um das zu ändern:
Über die Konfigurationsdatei
Fügen Sie Server direkt im AbschnittmcpServers Ihrer MCP-Konfigurationsdatei hinzu:
Der Speicherort der MCP-Konfigurationsdatei wurde mit v3000.3 (dem Local-3.6-Release) geändert. Ältere Versionen (vor v3000.3) speichern MCP-Server im Schlüssel
mcpServers der Hauptkonfigurationsdateien (~/.config/devin/config.json, .devin/config.json, .devin/config.local.json). Neuere Versionen speichern sie in separaten Dateien an denselben Speicherorten: ~/.config/devin/mcp_config.json (%APPDATA%\devin\mcp_config.json unter Windows), .devin/mcp_config.json und .devin/mcp_config.local.json. Beim Start werden alle in den Hauptkonfigurationsdateien gefundenen mcpServers-Einträge automatisch in die separaten Dateien migriert.- Projektkonfiguration
- Nutzerkonfiguration
- Lokale Überschreibung
Server auf Projektebene werden über die Versionsverwaltung mit Ihrem Team geteilt.
Optionen für die Serverkonfiguration
MCP-Server können auf zwei Arten konfiguriert werden: als lokaler Befehl (stdio-Transport) oder als Remote-Server (HTTP-Transport).Lokaler Befehl (stdio)
Remote-Server (Streamable HTTP)
Beispiele
GitHub (stdio)
GitHub (stdio)
Notion (HTTP mit OAuth)
Notion (HTTP mit OAuth)
Führen Sie nach dem Hinzufügen eines OAuth-basierten Servers
devin mcp login notion aus, um die Authentifizierung durchzuführen. Weitere Informationen finden Sie unten unter Authentifizierung.Linear (HTTP mit OAuth)
Linear (HTTP mit OAuth)
Atlassian / Jira (HTTP mit OAuth)
Atlassian / Jira (HTTP mit OAuth)
Führen Sie nach dem Hinzufügen
devin mcp login atlassian aus, um die Authentifizierung durchzuführen. Jeder MCP-Client (Windsurf, Claude Code, Devin CLI) verwaltet seine eigene OAuth-Sitzung. Sie müssen sich also separat anmelden, auch wenn Sie sich bereits in einem anderen Tool authentifiziert haben.Eigener Server (stdio)
Eigener Server (stdio)
Authentifizierung
Einige Remote-MCP-Server erfordern eine OAuth-Authentifizierung. Nachdem du deiner Konfiguration einen OAuth-basierten Server hinzugefügt hast, melde dich mit dem Befehllogin an:
Wenn der Server OAuth unterstützt, werden Sie bei der ersten Verwendung des Servers außerdem automatisch zur Authentifizierung aufgefordert.
Erneute Authentifizierung
Gespeicherte OAuth-Anmeldedaten sind nicht dauerhaft gültig — sie laufen ab, und ein Administrator kann sie beim Anbieter widerrufen. In diesem Fall meldet der Server statt eine Verbindung herzustellen den Status auth-required, und seine Tools (sowie Prompts) sind erst wieder verfügbar, nachdem Sie sich erneut angemeldet haben. Um sich erneut zu authentifizieren, löschen Sie die gespeicherten Anmeldedaten und führen Sie den Browser-Ablauf erneut aus:logout löscht die gespeicherten Tokens für diesen Server; login startet den OAuth-Ablauf erneut und speichert neue Tokens. Gehen Sie nach Änderungen an oauthClientId, oauthClientSecret oder oauthResource genauso vor — Anmeldedaten, die mit den alten Settings ausgestellt wurden, werden nicht wiederverwendet.
Editor-Integrationen, die Devin CLI über ACP steuern, zeigen denselben Status „Authentifizierung erforderlich“ mit einer Aktion zur erneuten Authentifizierung an. Diese löscht die gespeicherten Anmeldedaten und öffnet den Browser-Ablauf erneut — dies entspricht dem obigen Paar aus
logout und login.Vorregistrierte OAuth-Clients
Die meisten OAuth-basierten MCP-Server unterstützen die dynamische Client-Registrierung (DCR), sodass Devin CLI sich automatisch registriert und Sie keine Client-Zugangsdaten angeben müssen. Einige Anbieter (z. B. GitHub) unterstützen DCR nicht und erfordern stattdessen einen vorregistrierten OAuth-Client. Geben Sie für diese die Client-ID an — und ein Client-Secret, falls es sich um einen vertraulichen Client handelt — überoauthClientId / oauthClientSecret:
oauthClientId gesetzt ist, überspringt Devin CLI die dynamische Client-Registrierung und verwendet während des OAuth-Ablaufs Ihren vorregistrierten Client. Führen Sie devin mcp login <name> aus (oder authentifizieren Sie sich bei der ersten Verwendung), um sich wie gewohnt zu authentifizieren.
Sie können diese Werte auch über die Befehlszeile festlegen, wenn Sie einen Server hinzufügen oder sich bei einem Server anmelden:
oauthClientId / oauthClientSecret sind OAuth-Client-Anmeldedaten, die während des Autorisierungsflusses verwendet werden. Sie sind keine allgemeinen Anmeldedaten für einzelne Requests — wenn ein Server ein statisches Token erwartet, verwende stattdessen headers (HTTP) oder env (stdio).OAuth-Ressourcenüberschreibung
Während der OAuth-Autorisierung und des Token-Austauschs sendet Devin CLI einen RFC 8707-resource-Parameter, damit der Autorisierungsserver auf eine Zielgruppe beschränkte Tokens ausstellen kann. Standardmäßig ist der Wert die URL des MCP-Servers. Überschreiben Sie ihn mit oauthResource:
- Nicht festgelegt (Standard):
resourcewird auf die URL des MCP-Servers gesetzt. - Nicht leerer Wert: ersetzt den Standard durch Ihren Wert (z. B. eine bestimmte Anwendungs-ID-URI).
- Leere Zeichenfolge (
""): lässt den Parameterresourcesowohl aus der Autorisierungs-URL als auch aus dem Token-Austausch vollständig weg.
oauthResource die Auflösung von ${env:VAR} und ${file:/path}.
Aktivieren und Deaktivieren von Servern
Sie können einen MCP-Server vorübergehend deaktivieren, ohne seine Konfiguration zu entfernen. Ein deaktivierter Server wird bei der Tool-Erkennung übersprungen — seine Tools werden nicht angezeigt, und der Serverprozess wird nicht gestartet."disabled": true für den Server-Eintrag in der Konfigurationsdatei. Verwenden Sie -s/--scope, um einen bestimmten Geltungsbereich festzulegen:
Das Deaktivieren ist nützlich, wenn Sie die Konfiguration eines Servers (einschließlich Umgebungsvariablen und OAuth-Anmeldedaten) beibehalten, ihn aber vorübergehend nicht verwenden möchten — zum Beispiel, um die Startzeit zu verkürzen oder ein Problem zu isolieren.
Secrets verwalten
Für Teamprojekte wird folgendes Vorgehen empfohlen:- Definiere den Server in
.devin/mcp_config.jsonmit Platzhaltern oder ohne Umgebungsvariablen - Jedes Teammitglied fügt seine persönlichen Keys in
.devin/mcp_config.local.jsonhinzu
MCP-Berechtigungen
Sie können in Ihrer Berechtigungskonfiguration bestimmte MCP-Tools vorab genehmigen, ablehnen oder jedes Mal eine Rückfrage erzwingen:Prompts
Prompts benötigen keine eigene Konfiguration: Jeder verbundene Server, der die MCP-Fähigkeitprompts deklariert, stellt automatisch Slash-Befehle im Format /mcp__<server>__<prompt> bereit. Da der Befehlsname den Servernamen enthält, werden beim Umbenennen eines Servers in mcpServers auch dessen Prompt-Befehle umbenannt. Siehe MCP Overview — Prompts als Slash-Befehle.
Einschränkungen auf Organisationsebene
Wenn Sie Teil eines Enterprise-Teams sind, kann Ihr Admin einschränken, mit welchen MCP-Servern Sie eine Verbindung herstellen können. Ein von Ihnen konfigurierter Server kann blockiert werden, wenn MCP für Ihr Team deaktiviert ist oder wenn er weder auf der Allowlist Ihres Teams noch in einer erzwungenen MCP Registry enthalten ist — in diesem Fall wird keine Verbindung hergestellt und seine Tools sind nicht verfügbar. Weitere Informationen finden Sie unter Team Settings — MCP Registry.Fehlerbehebung
Authentifizierung erforderlich / OAuth-Fehler bei Remote-Servern
Authentifizierung erforderlich / OAuth-Fehler bei Remote-Servern
Wenn beim Verbinden mit einem Remote-MCP-Server Fehler wie Jeder MCP-Client authentifiziert sich unabhängig. Selbst wenn Sie sich bereits in Windsurf oder Claude Code authentifiziert haben, müssen Sie
Auth required oder AuthRequired angezeigt werden, erfordert der Server eine OAuth-Authentifizierung.Führen Sie Folgendes aus:devin mcp login für Devin CLI separat ausführen.Um Ihren Authentifizierungsstatus zu prüfen, versuchen Sie, die Anmeldedaten zu entfernen und erneut hinzuzufügen:Server startet nicht
Server startet nicht
Prüfen Sie, ob der Befehl außerhalb von Devin CLI funktioniert:Prüfen Sie, ob alle erforderlichen Umgebungsvariablen gesetzt sind.
Tools werden nicht angezeigt
Tools werden nicht angezeigt
Bitten Sie den Agenten, die MCP-Server und Tools aufzulisten. Möglicherweise braucht der Server einen Moment für die Initialisierung.
Zugriff verweigert
Zugriff verweigert
Prüfen Sie Ihre Berechtigungskonfiguration. MCP-Tools fragen standardmäßig nach einer Bestätigung. Fügen Sie sie zu
permissions.allow hinzu, um sie automatisch zu genehmigen.OAuth-Fehler durch den resource-Parameter
OAuth-Fehler durch den resource-Parameter
Einige Autorisierungsserver lehnen OAuth-Anfragen ab, die den RFC-8707-Parameter Authentifizieren Sie sich dann erneut:Unter OAuth-Ressourcenüberschreibung finden Sie die vollständige Übersicht über das Verhalten von
resource enthalten. Setzen Sie oauthResource auf eine leere Zeichenfolge, um den Parameter wegzulassen:oauthResource.Legacy-SSE-Fallback
Legacy-SSE-Fallback
Beim Verbinden mit einem HTTP-Server versucht Devin CLI zuerst Streamable HTTP. Wenn der Server mit einem HTTP-4xx-Fehler antwortet, der nicht die Authentifizierung betrifft (z. B. 404 oder 405), wird automatisch auf Legacy SSE unter derselben konfigurierten URL zurückgegriffen. Dies entspricht den Hinweisen zur Abwärtskompatibilität in der MCP-Spezifikation.Der Fallback wird nur bei 4xx-Antworten ausgelöst, die nicht die Authentifizierung betreffen. Verbindungsfehler, Timeouts und 5xx-Antworten werden direkt gemeldet, ohne einen SSE-Versuch. Antworten, die eine Authentifizierung erfordern — also ein 401 oder ein 403 wegen unzureichenden Geltungsbereichs mit einer
WWW-Authenticate-Challenge —, werden ebenfalls direkt gemeldet. So können Sie gleich devin mcp login <server-name> ausführen (oder den erforderlichen Geltungsbereich gewähren), statt einen SSE-Versuch zu sehen. Siehe Authentifizierung erforderlich / OAuth-Fehler bei Remote-Servern.Wenn sich der SSE-Endpunkt Ihres Servers unter einem anderen Pfad befindet (z. B. /sse statt /mcp), setzen Sie "transport": "sse" mit der SSE-URL, um direkt eine Verbindung herzustellen, ohne es zuerst über Streamable HTTP zu versuchen.Wenn beide Transportarten fehlschlagen, enthält die Fehlermeldung Details aus beiden Versuchen, um die Fehlerbehebung zu erleichtern.
