Zum Hauptinhalt springen

Documentation Index

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

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

MCP-Server hinzufügen

Über die Befehlszeile

Der schnellste Weg, einen MCP-Server hinzuzufügen:
# stdio-Server — Befehl einfach nach -- angeben
devin mcp add <name> -- <command> [args...]

# HTTP-Server — URL als Positionsargument übergeben
devin mcp add <name> <URL>

# HTTP-Server — oder das Flag --url verwenden
devin mcp add <name> --url <URL>
Der Transporttyp wird automatisch erkannt: Eine URL weist auf HTTP (Streamable HTTP) hin, nachgestellte Argumente (oder --command) auf stdio.
Remote-MCP-Server verwenden standardmäßig Streamable HTTP. Wenn der Server mit einem HTTP-4xx-Fehler antwortet, fällt die CLI unter derselben URL auf SSE zurück. Setze "transport": "sse" bei Bedarf explizit — siehe unten Legacy-SSE-Fallback.
Standardmäßig werden Server im lokalen Geltungsbereich gespeichert (.devin/config.local.json, von Git ignoriert). Verwende -s/--scope, um das zu ändern:
devin mcp add -s project <name> <URL>   # geteilt über .devin/config.json
devin mcp add -s user <name> <URL>      # global (~/.config/devin/config.json; %APPDATA%\devin\config.json unter Windows)
Sie können Server auch über die Befehlszeile verwalten:
devin mcp list              # Alle konfigurierten Server auflisten
devin mcp get <name>        # Details zu einem bestimmten Server anzeigen
devin mcp remove <name>     # Einen konfigurierten Server entfernen
devin mcp login <name>      # Authentifizierung mit einem Server über OAuth
devin mcp logout <name>     # Gespeicherte OAuth-Anmeldedaten entfernen

Über die Konfigurationsdatei

Füge Server direkt im Abschnitt mcpServers deiner Konfigurationsdatei hinzu:
// .devin/config.json
{
  "mcpServers": {
    "server-name": {
      "command": "npx",
      "args": ["-y", "@company/mcp-server"],
      "env": {
        "API_KEY": "your-key"
      }
    }
  }
}
Server auf Projektebene werden über die Versionsverwaltung mit deinem 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)

FeldTypErforderlichBeschreibung
commandstringJaDas auszuführende Programm
argsstring[]NeinBefehlszeilenargumente
envobjectNeinZu setzende Umgebungsvariablen

Remote-Server (Streamable HTTP)

FeldTypErforderlichBeschreibung
urlstringJaDie URL des Endpunkts des MCP-Servers
transportstringNein"http" (Streamable HTTP, Standard für URL-basierte Server) oder "sse" (veraltetes SSE). Wenn "http" festgelegt ist oder weggelassen wird, versucht die CLI zuerst Streamable HTTP und fällt bei 4xx-Fehlern auf SSE zurück (gemäß Spezifikation). Legen Sie "sse" explizit fest, wenn sich der SSE-Endpunkt des Servers unter einem anderen Pfad befindet.
headersobjectNeinBenutzerdefinierte HTTP-Header, die in Anfragen gesendet werden

Beispiele

{
  "mcpServers": {
    "github": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-github"],
      "env": {
        "GITHUB_TOKEN": "ghp_..."
      }
    }
  }
}
{
  "mcpServers": {
    "notion": {
      "url": "https://mcp.notion.com/mcp",
      "transport": "http"
    }
  }
}
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.
{
  "mcpServers": {
    "linear": {
      "url": "https://mcp.linear.app/mcp",
      "transport": "http"
    }
  }
}
{
  "mcpServers": {
    "atlassian": {
      "url": "https://mcp.atlassian.com/v1/mcp",
      "transport": "http"
    }
  }
}
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.
{
  "mcpServers": {
    "my-tools": {
      "command": "python",
      "args": ["./scripts/mcp-server.py"],
      "env": {
        "DB_URL": "postgres://localhost/mydb"
      }
    }
  }
}

Authentifizierung

Einige Remote-MCP-Server erfordern eine OAuth-Authentifizierung. Nachdem du deiner Konfiguration einen OAuth-basierten Server hinzugefügt hast, melde dich mit dem Befehl login an:
devin mcp login <server-name>
Zum Beispiel:
devin mcp login notion    # Mit Notion authentifizieren
devin mcp login linear    # Mit Linear authentifizieren
Dadurch öffnet sich ein Browserfenster, in dem du den Zugriff autorisieren kannst. Die OAuth-Token werden lokal gespeichert und automatisch erneuert. Du kannst optional bestimmte OAuth-Geltungsbereiche anfordern:
devin mcp login notion --scopes read,write
So entfernen Sie gespeicherte OAuth-Zugangsdaten für einen Server:
devin mcp logout <server-name>
Wenn der Server OAuth unterstützt, werden Sie bei der ersten Verwendung des Servers außerdem automatisch zur Authentifizierung aufgefordert.

Secrets verwalten

Committe niemals API keys oder Secrets in die Versionsverwaltung. Verwende .devin/config.local.json für sensible Werte.
Für Teamprojekte wird folgendes Vorgehen empfohlen:
  1. Definiere den Server in .devin/config.json mit Platzhaltern oder ohne Umgebungsvariablen
  2. Jedes Teammitglied fügt seine persönlichen Keys in .devin/config.local.json hinzu
Die lokale Konfigurationsdatei wird automatisch von Git ausgeschlossen.

MCP-Berechtigungen

Sie können in Ihrer Berechtigungskonfiguration bestimmte MCP-Tools vorab genehmigen, ablehnen oder jedes Mal eine Rückfrage erzwingen:
{
  "permissions": {
    "allow": [
      "mcp__github__list_issues",
      "mcp__github__create_issue"
    ],
    "deny": [
      "mcp__github__delete_repo"
    ],
    "ask": [
      "mcp__linear__*"
    ]
  }
}
Muster für den Berechtigungsabgleich:
PatternEntspricht
mcp__server__toolEin bestimmtes Tool auf einem bestimmten Server
mcp__server__*Alle Tools auf einem bestimmten Server
mcp__*Alle MCP-Tools auf allen Servern

Fehlerbehebung

Wenn beim Verbinden mit einem Remote-MCP-Server Fehler wie Auth required oder AuthRequired angezeigt werden, erfordert der Server eine OAuth-Authentifizierung.Führen Sie Folgendes aus:
devin mcp login <server-name>
Jeder MCP-Client authentifiziert sich unabhängig. Selbst wenn Sie sich bereits in Windsurf oder Claude Code authentifiziert haben, müssen Sie 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:
devin mcp logout <server-name>
devin mcp login <server-name>
Prüfen Sie, ob der Befehl außerhalb von Devin CLI funktioniert:
npx -y @modelcontextprotocol/server-github
Prüfen Sie, ob alle erforderlichen Umgebungsvariablen gesetzt sind.
Bitten Sie den Agenten, die MCP-Server und Tools aufzulisten. Möglicherweise braucht der Server einen Moment für die Initialisierung.
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.
Beim Verbinden mit einem HTTP-Server versucht Devin CLI zuerst Streamable HTTP. Wenn der Server mit einem HTTP-4xx-Fehler antwortet (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 — Verbindungsfehler, Timeouts und 5xx-Antworten werden direkt gemeldet, ohne einen SSE-Versuch.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.