Skip to Content
ユーザーガイド機能MCP

MCP を介して Qwen Code をツールに接続する

Qwen Code は、Model Context Protocol (MCP)  を通じて外部のツールやデータソースに接続できます。MCP サーバーにより、Qwen Code はあなたのツール、データベース、API にアクセスできるようになります。

MCP でできること

MCP サーバーが接続されると、Qwen Code に以下のようなことを依頼できます:

  • ファイルやリポジトリの操作(読み取り/検索/書き込み、有効化したツールによる)
  • データベースへのクエリ発行(スキーマ確認、クエリ実行、レポート作成)
  • 社内サービスとの統合(API を MCP ツールとしてラップ)
  • ワークフローの自動化(ツール/プロンプトとして公開された繰り返し可能なタスク)
Tip

「すぐに始めるためのワンコマンド」をお探しの場合は、クイックスタートに進んでください。

クイックスタート

Qwen Code は、settings.json 内の mcpServers から MCP サーバーを読み込みます。サーバーの設定方法は以下のいずれかです:

  • settings.json を直接編集する
  • qwen mcp コマンドを使用する(CLI リファレンスを参照)

最初のサーバーを追加する

  1. サーバーを追加します(例:リモート HTTP MCP サーバー):
qwen mcp add --transport http my-server http://localhost:3000/mcp
  1. 正しく追加されたことを確認します:
qwen mcp list
  1. 同じプロジェクトで Qwen Code を再起動するか(またはまだ実行されていない場合は起動して)、そのサーバーからのツールを使用するようモデルに指示してください。

設定が保存される場所(スコープ)

ほとんどのユーザーは以下の2つのスコープのみを使用します:

  • プロジェクトスコープ(デフォルト):プロジェクトルートにある .qwen/settings.json
  • ユーザースコープ:マシン上のすべてのプロジェクトで共通の ~/.qwen/settings.json

ユーザースコープに書き込む場合:

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

高度な設定レイヤー(システムデフォルト/システム設定および優先順位ルール)については、Settings を参照してください。

サーバーの設定

トランスポートの選択

トランスポート使用するタイミングJSON フィールド
httpリモートサービス向けに推奨;クラウド MCP サーバーで良好に動作しますhttpUrl(+ オプションの headers
sseServer-Sent Events のみをサポートするレガシー/非推奨サーバー向けurl(+ オプションの headers
stdioローカルプロセス(スクリプト、CLI、Docker)向けcommandargs(+ オプションの cwdenv
Note

サーバーが両方をサポートしている場合、SSE よりも HTTP を優先してください。

settings.jsonqwen mcp add による設定

どちらの方法でも、settings.json 内の mcpServers エントリは同じになります。お好みの方法をお使いください。

Stdio サーバー(ローカルプロセス)

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(デフォルトではプロジェクトスコープに書き込み):

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サーバー(リモートストリーミング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-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

セキュリティと制御

信頼(確認プロンプトをスキップ)

  • サーバー信頼 (trust: true): そのサーバーに対する確認プロンプトをバイパスします(控えめに使用してください)。

ツールフィルタリング(サーバーごとの許可・拒否ツール)

includeTools / excludeTools を使用して、サーバーが公開するツールを制限します(Qwen Code の観点から)。

例:いくつかのツールのみを含める場合

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

グローバルな許可・拒否リスト

settings.json 内の mcp オブジェクトは、すべての MCP サーバーに対するグローバルなルールを定義します:

  • mcp.allowed:MCP サーバー名の許可リスト(mcpServers 内のキー)
  • mcp.excluded:MCP サーバー名の拒否リスト

例:

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

トラブルシューティング

  • qwen mcp list でサーバーが「Disconnected」を表示する場合: URL/コマンドが正しいことを確認し、次に timeout を増やしてください。
  • Stdio サーバーの起動に失敗する場合: 絶対パスの command を使用し、cwd/env を再度確認してください。
  • JSON 内の環境変数が解決されない場合: Qwen Code が実行される環境にそれらが存在することを確認してください(シェルと GUI アプリの環境は異なる場合があります)。

リファレンス

settings.json 構造

サーバー固有の設定 (mcpServers)

settings.json ファイルに mcpServers オブジェクトを追加します:

// ... ファイルには他の設定オブジェクトが含まれる { "mcpServers": { "serverName": { "command": "path/to/server", "args": ["--arg1", "value1"], "env": { "API_KEY": "$MY_API_TOKEN" }, "cwd": "./server-directory", "timeout": 30000, "trust": false } } }

設定プロパティ:

必須(以下のいずれか1つ):

プロパティ説明
commandStdio トランスポート用の実行可能ファイルのパス
urlSSE エンドポイント URL(例:"http://localhost:8080/sse"
httpUrlHTTP ストリーミング エンドポイント URL

任意:

プロパティ型/デフォルト値説明
args配列Stdio トランスポート用のコマンドライン引数
headersオブジェクトurl または httpUrl 使用時のカスタム HTTP ヘッダー
envオブジェクトサーバープロセスの環境変数。値には $VAR_NAME または ${VAR_NAME} 構文を使用して環境変数を参照できます
cwd文字列Stdio トランスポートの作業ディレクトリ
timeout数値
(デフォルト:600,000)
リクエストタイムアウト(ミリ秒単位、デフォルト:600,000ms = 10分)
trust真偽値
(デフォルト:false)
true の場合、このサーバーに対するすべてのツール呼び出し確認をバイパスします(デフォルト:false
includeTools配列この MCP サーバーから含めるツール名のリスト。指定された場合、ここにリストされたツールのみがこのサーバーから利用可能になります(許可リストの動作)。指定されていない場合、サーバーからのすべてのツールがデフォルトで有効になります。
excludeTools配列この MCP サーバーから除外するツール名のリスト。ここにリストされたツールは、サーバーによって公開されていてもモデルからは利用できなくなります。
注:excludeToolsincludeTools よりも優先されます — 両方のリストに同じツールがある場合は除外されます。
targetAudience文字列アクセスしようとしている IAP 保護アプリケーションで許可リストに登録された OAuth クライアント ID。authProviderType: 'service_account_impersonation' と共に使用します。
targetServiceAccount文字列模倣する Google Cloud サービスアカウントのメールアドレス。authProviderType: 'service_account_impersonation' と共に使用します。

qwen mcp で MCP サーバーを管理する

MCP サーバーは常に settings.json を手動で編集して設定できますが、CLI の方が通常はより高速です。

サーバーの追加 (qwen mcp add)

qwen mcp add [options] <name> <commandOrUrl> [args...]
引数/オプション説明デフォルト
<name>サーバーの一意の名前。example-server
<commandOrUrl>実行するコマンド(stdio用)またはURL(http/sse用)。/usr/bin/python or http://localhost:8
[args...]stdio コマンド用のオプション引数。--port 5000
-s, --scope設定スコープ(ユーザーまたはプロジェクト)。project-s user
-t, --transport通信タイプ(stdiossehttp)。stdio-t sse
-e, --env環境変数を設定します。-e KEY=value
-H, --headerSSEおよびHTTP通信で使用するHTTPヘッダーを設定します。-H "X-Api-Key: abc123"
--timeout接続タイムアウトをミリ秒単位で設定します。--timeout 30000
--trustサーバーを信頼する(すべてのツール呼び出し確認プロンプトをバイパス)。— (false)--trust
--descriptionサーバーの説明を設定します。--description "Local tools"
--include-tools含めるツールのカンマ区切りリスト。すべてのツールが含まれる--include-tools mytool,othertool
--exclude-tools除外するツールのカンマ区切りリスト。なし--exclude-tools mytool

サーバーの一覧表示 (qwen mcp list)

qwen mcp list

サーバーの削除 (qwen mcp remove)

qwen mcp remove <name>
Last updated on