Skip to Content
BenutzerhandbuchFunktionenMCP

Verbinde Qwen Code über MCP mit Tools

Qwen Code kann sich über das Model Context Protocol (MCP)  mit externen Tools und Datenquellen verbinden. MCP-Server geben Qwen Code Zugriff auf deine Tools, Datenbanken und APIs.

Was du mit MCP machen kannst

Wenn MCP-Server verbunden sind, kannst du Qwen Code bitten:

  • Mit Dateien und Repositories zu arbeiten (Lesen/Suchen/Schreiben, je nach aktivierten Tools)
  • Datenbanken abzufragen (Schema-Inspektion, Abfragen, Berichte)
  • Interne Services zu integrieren (Eigene APIs als MCP-Tools bereitstellen)
  • Workflows zu automatisieren (Wiederholbare Aufgaben als Tools/Prompts bereitstellen)
Tip

Wenn du direkt loslegen willst, springe zum Schnellstart.

Schnellstart

Qwen Code lädt MCP-Server aus dem Eintrag mcpServers in deiner settings.json. Du kannst Server konfigurieren, indem du entweder:

  • Die settings.json direkt bearbeitest
  • Die qwen mcp Befehle verwendest (siehe CLI Referenz)

Fügen Sie Ihren ersten Server hinzu

  1. Fügen Sie einen Server hinzu (Beispiel: Remote-HTTP-MCP-Server):
qwen mcp add --transport http my-server http://localhost:3000/mcp
  1. Überprüfen Sie, ob er angezeigt wird:
qwen mcp list
  1. Starten Sie Qwen Code im selben Projekt neu (oder starten Sie es, falls es noch nicht lief), und bitten Sie dann das Modell, Tools von diesem Server zu verwenden.

Wo die Konfiguration gespeichert wird (Bereiche)

Die meisten Benutzer benötigen nur diese zwei Bereiche:

  • Projektbereich (Standard): .qwen/settings.json im Stammverzeichnis Ihres Projekts
  • Benutzerbereich: ~/.qwen/settings.json für alle Projekte auf Ihrem Rechner

In den Benutzerbereich schreiben:

qwen mcp add --scope user --transport http my-server http://localhost:3000/mcp
Tip

Für fortgeschrittene Konfigurationsebenen (Systemstandards/Systemeinstellungen und Vorrangregeln) siehe Einstellungen.

Server konfigurieren

Wähle einen Transport

TransportAnwendungsbereichJSON-Feld(er)
httpEmpfohlen für entfernte Dienste; funktioniert gut mit Cloud-MCP-ServernhttpUrl (+ optionale headers)
sseVeraltete Server, die nur Server-Sent Events unterstützenurl (+ optionale headers)
stdioLokaler Prozess (Skripte, CLIs, Docker) auf deinem Rechnercommand, args (+ optionale cwd, env)
Note

Wenn ein Server beide unterstützt, bevorzuge HTTP gegenüber SSE.

Konfiguration über settings.json vs qwen mcp add

Beide Methoden erzeugen dieselben mcpServers-Einträge in deiner settings.json—verwende die Methode, die dir besser gefällt.

Stdio-Server (lokaler Prozess)

JSON (.qwen/settings.json):

{ "mcpServers": { "pythonTools": { "command": "python", "args": ["-m", "my_mcp_server", "--port", "8080"], "cwd": "./mcp-servers/python", "env": { "DATABASE_URL": "$DB_CONNECTION_STRING", "API_KEY": "${EXTERNAL_API_KEY}" }, "timeout": 15000 } } }

CLI (schreibt standardmäßig in den Projektscope):

qwen mcp add pythonTools -e DATABASE_URL=$DB_CONNECTION_STRING -e API_KEY=$EXTERNAL_API_KEY \ --timeout 15000 python -m my_mcp_server --port 8080

HTTP-Server (Remote Streamable HTTP)

JSON:

{ "mcpServers": { "httpServerWithAuth": { "httpUrl": "http://localhost:3000/mcp", "headers": { "Authorization": "Bearer your-api-token" }, "timeout": 5000 } } }

CLI:

qwen mcp add --transport http httpServerWithAuth http://localhost:3000/mcp \ --header "Authorization: Bearer your-api-token" --timeout 5000

SSE-Server (Remote Server-Sent Events)

JSON:

{ "mcpServers": { "sseServer": { "url": "http://localhost:8080/sse", "timeout": 30000 } } }

CLI:

qwen mcp add --transport sse sseServer http://localhost:8080/sse --timeout 30000

Sicherheit und Kontrolle

Vertrauen (Bestätigungen überspringen)

  • Server-Vertrauen (trust: true): umgeht Bestätigungsabfragen für diesen Server (sparsam verwenden).

Tool-Filterung (Tools pro Server zulassen/ablehnen)

Verwende includeTools / excludeTools, um die von einem Server bereitgestellten Tools einzuschränken (aus der Sicht von Qwen Code).

Beispiel: Nur einige wenige Tools zulassen:

{ "mcpServers": { "filteredServer": { "command": "python", "args": ["-m", "my_mcp_server"], "includeTools": ["safe_tool", "file_reader", "data_processor"], "timeout": 30000 } } }

Globale Zulassungs-/Ablehnungslisten

Das mcp-Objekt in deiner settings.json definiert globale Regeln für alle MCP-Server:

  • mcp.allowed: Liste der erlaubten MCP-Server-Namen (Schlüssel in mcpServers)
  • mcp.excluded: Liste der abgelehnten MCP-Server-Namen

Beispiel:

{ "mcp": { "allowed": ["my-trusted-server"], "excluded": ["experimental-server"] } }

Fehlerbehebung

  • Server zeigt „Disconnected“ in qwen mcp list: Überprüfen Sie, ob die URL/das Kommando korrekt ist, und erhöhen Sie dann den timeout-Wert.
  • Stdio-Server startet nicht: Verwenden Sie einen absoluten Pfad für das command, und überprüfen Sie sorgfältig cwd/env.
  • Umgebungsvariablen in JSON werden nicht aufgelöst: Stellen Sie sicher, dass sie in der Umgebung vorhanden sind, in der Qwen Code ausgeführt wird (Shell- gegenüber GUI-Anwendungsumgebungen können unterschiedlich sein).

Referenz

Struktur von settings.json

Server-spezifische Konfiguration (mcpServers)

Fügen Sie ein mcpServers-Objekt zu Ihrer settings.json-Datei hinzu:

// ... Datei enthält andere Konfigurationsobjekte { "mcpServers": { "serverName": { "command": "path/to/server", "args": ["--arg1", "value1"], "env": { "API_KEY": "$MY_API_TOKEN" }, "cwd": "./server-directory", "timeout": 30000, "trust": false } } }

Konfigurationseigenschaften:

Erforderlich (eine der folgenden):

EigenschaftBeschreibung
commandPfad zur ausführbaren Datei für den Stdio-Transport
urlSSE-Endpunkt-URL (z. B. "http://localhost:8080/sse")
httpUrlHTTP-Streaming-Endpunkt-URL

Optional:

EigenschaftTyp/StandardwertBeschreibung
argsArrayBefehlszeilenargumente für den Stdio-Transport
headersObjektBenutzerdefinierte HTTP-Header bei Verwendung von url oder httpUrl
envObjektUmgebungsvariablen für den Serverprozess. Werte können Umgebungsvariablen mit der Syntax $VAR_NAME oder ${VAR_NAME} referenzieren
cwdStringArbeitsverzeichnis für den Stdio-Transport
timeoutZahl
(Standard: 600.000)
Anfrage-Zeitüberschreitung in Millisekunden (Standard: 600.000 ms = 10 Minuten)
trustBoolean
(Standard: false)
Wenn true, werden alle Toolaufrufbestätigungen für diesen Server umgangen (Standard: false)
includeToolsArrayListe der Toolnamen, die von diesem MCP-Server eingeschlossen werden sollen. Wenn angegeben, sind nur die hier aufgelisteten Tools von diesem Server verfügbar (Whitelist-Verhalten). Wenn nicht angegeben, sind standardmäßig alle Tools des Servers aktiviert.
excludeToolsArrayListe der Toolnamen, die von diesem MCP-Server ausgeschlossen werden sollen. Die hier aufgelisteten Tools stehen dem Modell nicht zur Verfügung, auch wenn sie vom Server bereitgestellt werden.
Hinweis: excludeTools hat Vorrang vor includeTools – wenn sich ein Tool in beiden Listen befindet, wird es ausgeschlossen.
targetAudienceStringDie OAuth-Client-ID, die in der IAP-geschützten Anwendung, auf die Sie zugreifen möchten, auf der Positivliste steht. Wird mit authProviderType: 'service_account_impersonation' verwendet.
targetServiceAccountStringDie E-Mail-Adresse des Google Cloud Service Accounts, der nachgeahmt werden soll. Wird mit authProviderType: 'service_account_impersonation' verwendet.

Verwalten von MCP-Servern mit qwen mcp

Sie können MCP-Server jederzeit konfigurieren, indem Sie settings.json manuell bearbeiten, aber die CLI ist in der Regel schneller.

Hinzufügen eines Servers (qwen mcp add)

qwen mcp add [Optionen] <Name> <BefehlOderURL> [Argumente...]
Argument/OptionBeschreibungStandardwertBeispiel
<name>Ein eindeutiger Name für den Server.example-server
<commandOrUrl>Der auszuführende Befehl (für stdio) oder die URL (für http/sse)./usr/bin/python oder http://localhost:8
[args...]Optionale Argumente für einen stdio-Befehl.--port 5000
-s, --scopeKonfigurationsbereich (Benutzer oder Projekt).project-s user
-t, --transportTransporttyp (stdio, sse, http).stdio-t sse
-e, --envUmgebungsvariablen festlegen.-e KEY=value
-H, --headerHTTP-Header für SSE- und HTTP-Transporte festlegen.-H "X-Api-Key: abc123"
--timeoutVerbindungszeitlimit in Millisekunden festlegen.--timeout 30000
--trustDem Server vertrauen (alle Bestätigungsdialoge für Toolaufrufe umgehen).— (false)--trust
--descriptionDie Beschreibung für den Server festlegen.--description "Lokale Tools"
--include-toolsEine durch Kommas getrennte Liste der einzubeziehenden Tools.alle Tools enthalten--include-tools mytool,othertool
--exclude-toolsEine durch Kommas getrennte Liste der auszuschließenden Tools.keine--exclude-tools mytool

Server auflisten (qwen mcp list)

qwen mcp list

Server entfernen (qwen mcp remove)

qwen mcp remove <name>
Last updated on