Skip to main content
Glama
minmax

qwen-cli-mcp

qwen-cli-mcp

ローカルにインストールされた Qwen Code CLI にコーディングタスクを委任する MCP サーバーです。

実際の qwen バイナリをラップするだけで、エージェントの独自コピーを同梱しません。そのため、すべての呼び出しはあなたの qwen の認証、モデル、MCP サーバー、設定を引き継ぎます。モデルスタックに関するものはここでは複製されず、qwen をアップグレードしてもサーバーがずれることはありません。

pi-cli-mcp の兄弟プロジェクトです。同じアーキテクチャ、同じ原則で、ハンドルは qwen が握ります。権威ある設計文書は SPEC.md です。

プライマリエージェント(Claude Code、Cursor、pi 自身、任意の MCP クライアント)が qwen に作業を渡したいときに使います。異なるモデルファミリーからのセカンドオピニオン、メインのコンテキストウィンドウから外しておきたい調査、並行作業などに適しています。

インストール

npx -y qwen-cli-mcp         # no install
npm install -g qwen-cli-mcp # or global

Node ≥ 22 と、PATH 上で動作する qwen が必要です(npm i -g @qwen-code/qwen-code)。

Claude Code

claude mcp add-json qwen -s user '{
  "type": "stdio",
  "command": "npx",
  "args": ["-y", "qwen-cli-mcp"],
  "timeout": 3600000
}'
claude mcp list | grep '^qwen:'    # expect: ✔ Connected

余裕のある timeout が重要です。実際に委任されたタスクは数分間実行されることがあります。

その他の MCP クライアント

{
  "mcpServers": {
    "qwen": { "command": "npx", "args": ["-y", "qwen-cli-mcp"] }
  }
}

サーバー名は短く(qwen)保ってください。モデルが表示するツール名の一部になります。

⚠️ デフォルトの承認モードは yolo です。 委任はデリゲートが行動できる場合にのみ有用なので、このサーバーはデフォルトで qwen を完全なツール承認付きで起動します。cwd 内で、あなたのユーザーとして実行されます。QWEN_MCP_APPROVAL_MODE、呼び出しごとの approval_mode、または allowed_tools で絞り込んでください。分析専用の作業では、allowed_tools: "read,grep,ls" 形式の許可リストを渡してください。

ツール

ツール

目的

qwen

セッションを開始します。[session: <uuid>]、結果、統計を返します。

qwen_reply

終了した、または中断されたセッションを続行します。タイムアウトで終了したものも含みます。

qwen_models

qwen が現在実際に到達できるモデルを一覧表示します(コントロールプレーンを介したライブプローブ)。

qwen_send

現在実行中のターンに配信します(abort / steer / follow_up。ストリームトランスポートのみ)。

qwen_running

qwen_send が到達できる現在実行中のターンを一覧表示します。

qwen_sessions

既知のセッションを作業ディレクトリ付きで新しい順に一覧表示します。

qwen

引数

メモ

prompt

必須。自己完結している必要があります。qwen はあなたの会話を見ることができません。

cwd

絶対パス。デフォルトはこのサーバーの cwd です。

model

-m の値。デフォルトは qwen 自身の設定。qwen_models で有効な値を確認できます。

approval_mode

plan | default | auto-edit | auto | yolo。サーバーのデフォルトは上記の警告を参照。

allowed_tools

カンマ区切りのツール許可リスト。--allowed-tools として渡されます。

effort

lowmax の推論努力。ストリームトランスポートのみ。qwen には CLI フラグがありません。

system_prompt_append

この実行の qwen のシステムプロンプトに追加されます。

transport

stream(デフォルト)または print。通常は省略します。

timeout_ms

この実行の壁時計。期限で終了した実行は qwen_reply で再開可能です。

戻り値

qwen の最終結果と集計統計のみが返ります。トランスクリプト、ツール引数、生の stdout は返りません。

[session: 0927adc5-a840-4b68-93ca-5ca344c9fafb]

Refactored retry() in src/http.rs; all 12 tests pass.

---
qwen: qwen3-coder-plus · 6 turns · 5 tool calls: bash×2, read×2, edit · 18k in / 310 out · 41s

回答は、qwen がターン終了時に出力する result エンベロープです。回答選択の推測はありません。エラーエンベロープ(error_max_turnserror_during_execution)は、qwen が言えた内容をすべて保持しつつ呼び出しを失敗させます。これにより作業は再開可能なままです。結果エンベロープなしで終了したストリームは壊れていると報告され、生の出力に静かに置き換えられることはありません。

セッション

qwen はセッション ID を返します。qwen_reply--resume でそれを再開します。会話は qwen 自身のセッションストアに保存されるため、このサーバーを再起動してもフォローアップは機能し続けます。セッション → ディレクトリのマップは ~/.local/state/qwen-mcp/sessions.json に永続化されます。

1つのセッションへの同時返信は、サーバープロセスごとに直列化されます。2つの qwen プロセスが1つのセッションファイルに書き込むと破損するためです。クロスプロセスの注意点: 2つの MCP クライアントを2つのサーバープロセスに対して実行し、両方が 同じ セッション ID に同時に返信する場合、それらを直列化するものはありません。実際には1つのクライアントがセッションを所有します。確実な保証が必要な場合は、サーバープロセスを1つに保ってください。

トランスポート

stream(デフォルト)

print

コマンド

--input-format stream-json --output-format stream-json

-p --output-format stream-json

プロセス

起動したまま、stdin でコントロールプレーンを話す

ターンごとに1プロセス、完了すると終了

実行中の配信

qwen_send(割り込み / ステア / follow_up)

不可能: qwen は作業中に何も読み取らない

期限 / キャンセル

まず qwen 自身の interrupt、シグナルはフォールバックのみ

SIGTERM、その後 SIGKILL

stream がデフォルトなのは、スーパーセットだからです。同じメッセージストリームに加えて、実行中のターンは到達可能なままで、中断されたターンはプロトコル内で終了し、ストリームの末尾が保持されます。呼び出しごとに transport で選択するか、QWEN_MCP_TRANSPORT=print でデフォルトを設定できます。

このサーバーは、qwen に独自に何かを送信することはありません。 期限前の自動ラップアップや注入された指示はありません。qwen_send は呼び出し元が呼び出した場合にのみ発火します。

環境変数

変数

デフォルト

意味

QWEN_MCP_BIN

qwen

qwen バイナリへのパス。

QWEN_MCP_APPROVAL_MODE

yolo

すべての呼び出しのデフォルト承認モード。上記の警告を参照。

QWEN_MCP_MODEL

未設定

すべての呼び出しのデフォルトモデル。

QWEN_MCP_TRANSPORT

stream

デフォルトのトランスポート: stream または print

QWEN_MCP_TIMEOUT_MS

1800000

デフォルトの壁時計。timeout_ms が呼び出しごとに上書きします。

QWEN_MCP_MAX_TIMEOUT_MS

86400000

timeout_ms が要求できる上限。

QWEN_MCP_MAX_CONCURRENT

4

同時実行の qwen プロセス数。

QWEN_MCP_MAX_OUTPUT

未設定

回答の上限。未設定は切り詰めなしを意味します。

QWEN_MCP_STDERR_LIMIT

1500

応答に含まれる stderr の末尾。

QWEN_MCP_STDERR_KEEP_EVENTS

未設定

1 は stderr をそのまま転送し、プロトコル行も含みます。

QWEN_MCP_MAX_CAPTURE

16000000

暴走ストリームに対する読み取りバッファのガード。

QWEN_MCP_MAX_LINE

8000000

qwen からの最も長い単一メッセージ行。それを超えると破棄されます。

QWEN_MCP_MAX_FRAME

8000000

クライアントからの最も長い単一 JSON-RPC フレーム。

QWEN_MCP_MAX_SESSIONS

200

最も古いセッションが破棄される前に記憶されるセッション数。

QWEN_MCP_KILL_GRACE_MS

5000

SIGTERM → SIGKILL の猶予期間。

QWEN_MCP_INTERRUPT_GRACE_MS

5000

interrupt がシグナルを受け取るまでの時間(ストリームのみ)。

QWEN_MCP_INIT_TIMEOUT_MS

15000

初期化ハンドシェイクのタイムアウト(ストリームのみ)。

QWEN_MCP_MODELS_TIMEOUT_MS

60000

qwen_models プローブの実行全体の予算。

QWEN_MCP_STATE

~/.local/state/qwen-mcp/sessions.json

セッション → cwd のマップ。

QWEN_MCP_WRAP

未設定

コマンドプレフィックス。例: qwen を囲むサンドボックスラッパー。

設計

  • 呼び出しごとにプロセス。 qwen 自身のセッションファイルが真実の源であり、これによりフォローアップがこのサーバーの再起動後も生き残ります。

  • ワイヤー契約は qwen 自身の stream-json プロトコル を直接話します。stdout の改行区切りメッセージ、stdin の制御要求とユーザーターン。その形状は @qwen-code/sdk から import type で借用しているため、上流の変更はサーバーではなくビルドを壊します。ランタイム依存関係はゼロです。

  • qwen からのものはすべて失敗側に倒す。 未知の結果サブタイプ、失敗したハンドシェイク、解析できない行は、成功に正規化されることなく、そのように報告されます。

  • リクエストを超えてプロセスが生き残ることはありません。 タイムアウト、キャンセル、シャットダウンは qwen プロセスツリー全体を刈り取り、どのパスでも何も残しません。

開発

TypeScript(ネイティブ tsc)、Biome、Vitest。テストは、qwen のプロトコルを話すフィクスチャに対して stdio 経由で実際のサーバーバイナリを駆動します。インストール済みの qwen に対するライブテストはオプトインです。

npm run hooks          # once per clone: git hooks from .githooks/
npm run build          # tsc -> dist/
npm test               # unit + type tests, no API access, no tokens
npm run test:live      # 4 live tests against the real qwen binary (spends tokens)
npm run check          # format + types + tests
npm run fix            # biome --write

ライセンス

MIT

-
license - not tested
Not graded
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Related MCP Connectors

  • MCP server for generating rough-draft project plans from natural-language prompts.

  • MCP Server for Slima - AI Writing IDE for Novel Authors with AI Beta Reader.

  • MCP server for Clipkit — gives AI agents a video toolbox via the Clipkit schema.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/minmax/qwen-cli-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server