mcpField
G
Glm Mcp

Glm Mcp

ローカル
github.com/djerokAI・エージェント715 週間前に更新

Glm Mcp について

Glm Mcpは、Claude Code、Copilot、CodexなどからGLMへコーディング作業を委任するMCPサーバーです。リポジトリ編集、モデル振り分け、変更プレビュー、利用状況の記録に対応します。

主な機能

  1. 01リポジトリ作業向けGLMエージェント
  2. 02ピーク時間に応じたモデル振り分け
  3. 03差分プレビューとGitによる復元
  4. 04利用記録と実行統計
  5. 05Claude Code、Copilot、Codex用インストーラー

活用シーン

  1. 01メインエージェントからコード変更を委任
  2. 02適用前に変更差分を確認
  3. 03GLMのトークン使用量と推定費用を追跡

MCP 対応

`glm_agent`、`glm_delegate`、`glm_recommend`、`glm_status`の4つのMCPツールを提供します。作業の委任、ローカルでの振り分け助言、利用状況と設定の確認に使えます。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"glm": {
"command": "npx",
"args": [
"-y",
"glm-mcp-claude"
]
}
}
}
起動コマンドnpx -y glm-mcp-claude

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npmglm-mcp-claude

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

glm-mcp — AI コーディングエージェント向けの低コストな GLM 委任先

GLM(Zhipu / Z.ai)を、AI コーディングエージェント向けの約 10 分の 1 のコストで利用できる委任先として提供します。高価なメインモデル(Claude Opus、Copilotのデフォルトモデル、またはCodex)が調整とレビューを行い、実際の作業は低価格な GLM トークンで利用できるGLMが担当します。GLM は Anthropic 互換の /v1/messages エンドポイントを公開しているため、Anthropic の API に対応するあらゆる環境に組み込めます。このリポジトリでは、4 つのツールを備えたMCP サーバーとして GLM をラップし、Claude Code、GitHub Copilot、Codex向けのワンコマンドインストーラーも提供します。どのエディションでも同じサーバーを使用します。

Claude Code 版   GitHub Copilot 版   Codex 版

glm-mcp glm-mcp-claude glm-mcp-copilot glm-mcp-codex CI Glama MIT

仕組み

flowchart TD
    You["You"]
    Main["Main agent (Claude Opus / Copilot / Codex)<br/>orchestrates + reviews"]
    Srv["glm MCP server (stdio)<br/>4 tools"]
    Rt["Router<br/>peak-aware model pick + cost bias"]
    Zai[/"Z.ai Anthropic endpoint<br/>POST /v1/messages"/]
    Loop["glm_agent tool loop<br/>read_file / write_file / edit_file<br/>list_dir / run_bash — on your repo"]
    Led[("usage.jsonl<br/>every GLM call: model + tokens")]

    Repo[("your repo")]

    You --> Main -->|"glm_agent(task, workdir)"| Srv
    Srv --> Rt --> Zai
    Zai -->|"tool calls"| Loop
    Loop -->|"tool results"| Zai
    Loop -->|"reads / writes / runs"| Repo
    Zai --> Led
    Srv -->|"summary + GLM STATS<br/>(model, tokens, est. cost)"| Main
    Main -->|"review · diff · revert"| You

わかりやすく説明すると、次のようになります。

  1. ユーザーがメインエージェントに作業を依頼します。
  2. メインエージェントが glm_agent を介して作業を委任します。目標と絶対パスの workdir を渡します。
  3. サーバーのルーターが GLM モデルを選択し(ピークを考慮)、Z.ai の /v1/messages エンドポイントを呼び出します。コスト優先のバイアスによって、GLM がデフォルトになります。
  4. GLM はリポジトリに対して直接、独自のエージェントループ(read_file / write_file / edit_file / list_dir / run_bash)を実行し、要約を作成して停止します。
  5. サーバーは簡潔な要約と GLM STATS ブロック(モデル、トークン数、推定コスト)をメインエージェントに返します。
  6. メインエージェントがレビューを行います。すべての GLM 呼び出しは usage.jsonl 台帳にも追記されます。

トークンのコスト効率。 委任した作業にはGLM トークンが課金されるため、コストは約 10 分の 1 です。メインモデルにかかるのは、調整とレビューのコストだけです。GLM の利用比率をほぼ 100%にするには、完全 GLM ランチャー(claude/glm-code.mjs)が必要です。ハイブリッド構成のメインエージェントには、ターンごとにセッションコンテキストが必ず含まれるため、このコンテキストがトークン利用比率の下限となります。

4 つのツール

ツールコスト機能
glm_agentGLM トークンリポジトリ内で実際に動作するコーディングエージェントとしての GLM(読み取り/書き込み/編集/実行)。dry_run: true を指定すると差分をプレビューし、何も書き込みません。実際に実行した後は、git チェックポイントからの復元コマンドが表示されます。
glm_delegateGLM トークン(オプトイン)純粋なテキスト生成です。入力も出力もテキストです。デフォルトでは非表示(テキストのみのタスクも glm_agent が処理します)。公開するには GLM_DELEGATE=on を設定します。
glm_recommend無料(ローカル)GLM とメインモデルのどちらを使うか、どの GLM モデルを使うか、信頼度、理由について助言します。GLM は呼び出しません。
glm_status無料(ローカル)ピークウィンドウ、アクティブなモデル、使用量台帳の合計(GLM の利用額の証明)、設定の状態を表示します。GLM は呼び出しません。

実行状況のリアルタイム表示。 glm_agent は実行中に MCP の進捗通知をストリーミングします。 現在の反復回数、トークン数、tok/s が Claude Code にリアルタイムで表示され、VS Code Copilot では tool.execution_progress に対応付けられます。このハートビートは、進捗に応じてタイムアウトをリセットするクライアントで 長時間の呼び出しを継続させる役割も果たします。また、実行をキャンセルすると GLM は速やかに停止します (変更の一部が表示され、元に戻せます)。max_tokens のデフォルトは auto(上限なし/十分な量)です (オーケストレーションを行うエージェントが数値を渡して呼び出しに上限を設定できます)。サーバーには アイドル/停止タイムアウト(GLM_STALL_TIMEOUT_MS、2 分)があるため、 ストリーミング中のターンが途中で打ち切られることはありません。クライアントのツール呼び出しタイムアウトによって 非常に長い実行がキャンセルされる場合は、MCP_TOOL_TIMEOUT / CLAUDE_CODE_MCP_TOOL_IDLE_TIMEOUT を使って タイムアウトを延長してください。

インストール

(a) Claude Code
npx glm-mcp-claude --key YOUR_ZAI_KEY

デフォルトではグローバル(ユーザースコープ)にインストールされ、MCP サーバー、すべてのツールを備えた glm サブエージェント、PreToolUse 自動ルーティングフック、オプションの glm-code GLM フル機能ランチャーが含まれます。Claude Code を再起動し、glm_status を実行して api_key_loaded: true を確認してください。 詳細については、claude/README.md をご覧ください。

(b) GitHub Copilot / VS Code
npx glm-mcp-copilot --key YOUR_ZAI_KEY            # current workspace
npx glm-mcp-copilot --global --key YOUR_ZAI_KEY   # every workspace

MCP サーバーをエージェントモードでインストールし、GLM カスタムエージェント(サブエージェント)、 PreToolUse 自動ルーティングフック、委任用の指示ファイルを追加します。VS Code ウィンドウを再読み込みし、 Copilot Chat をエージェントモードで開いて、glm サーバーを起動してください。 詳細については、copilot/README.md をご覧ください。

(c) Codex

公開されている Codex パッケージをインストールします。

npx glm-mcp-codex --key YOUR_ZAI_KEY

Codex MCP 登録、glm カスタムエージェント、glm-delegate スキル、助言用の UserPromptSubmit/PreToolUse フックをインストールします。設定では、GLM ツールのタイムアウトを 30 分にし、 変更を伴う呼び出しの前に確認を求めます。Codex を再起動し、/hooks でフックを確認してから、 glm_status を実行してください。 詳細については、codex/README.md をご覧ください。

(d) 任意の MCP クライアント / Glama / Docker

スタンドアロンの glm-mcp パッケージを使えば、 Cursor、Windsurf、Claude Desktop、Glama などにインストーラーは不要です。

{
  "mcpServers": {
    "glm": {
      "command": "npx",
      "args": ["-y", "glm-mcp"],
      "env": { "GLM_API_KEY": "YOUR_ZAI_KEY" }
    }
  }
}

コンテナーでは、リポジトリルートの Dockerfile を使って、同じサーバーを実行できます。

docker build -t glm-mcp .
docker run --rm -i -e GLM_API_KEY=YOUR_ZAI_KEY glm-mcp

サーバーはキーなしでも起動し、MCP のイントロスペクションに応答します。実際に GLM を呼び出す場合のみ GLM_API_KEY を設定してください。

エディションの概要

Claude Code -> claude/GitHub Copilot (VS Code) -> copilot/Codex -> codex/
npm パッケージglm-mcp-claudeglm-mcp-copilotglm-mcp-codex
インストールnpx glm-mcp-claude --key ...npx glm-mcp-copilot --key ... (+ --global)npx glm-mcp-codex --key ...
MCP サーバーユーザースコープ(claude mcp add glm -s user)VS Code エージェントモード(mcp.json)~/.codex/config.toml(または信頼済みプロジェクトの設定)
サブエージェントglm サブエージェント(~/.claude/agents/glm.md)GLM カスタムエージェント(glm.agent.md)glm カスタムエージェント(~/.codex/agents/glm.toml)
自動ルーティングフックPreToolUse、Task マッチャー(glm_subagent_router.mjs)PreToolUse、すべての呼び出しで実行(glm_router_hook.mjs)UserPromptSubmit + PreToolUse、アドバイザリーのみ
委譲ポリシー~/.claude/CLAUDE.md に追記.instructions.md ファイルglm-delegate スキル + 任意の AGENTS.md スニペット
Full-GLM ランチャーglm-code.mjs(Claude のみ)—
ドキュメントclaude/README.mdcopilot/README.mdcodex/README.md

同等性。 3 つのエディションは、同じサーバーを内部で使用しながら、同じ 4 つのツールとサブエージェントを提供します。Codex はネイティブのカスタムエージェント、スキル、フックの機能を使用します。Codex のフックはアドバイザリーのみで、ユーザーが信頼する必要があります。単独で動作する**glm-code** Full-GLM ランチャーを提供しているのは Claude のみです。

設定

すべての設定項目は .env(Git で無視されます)にあります。エディションごとの場所は、Claude ~/.claude/glm-mcp/.env(インストール時に設定)、Copilot ~/.glm-mcp/glm-mcp/.env、Codex ~/.codex/glm-mcp/.env です。Codex のデフォルトの MCP ツールタイムアウトは 60 秒のため、tool_timeout_sec = 1800 を設定します。コメント付きの完全なリファレンスについては、claude/glm-mcp/.env.example を参照してください。

変数デフォルト意味
GLM_API_KEY—Z.ai / Zhipu の GLM Coding Plan キーです。GLM の呼び出しに必須です。
GLM_BASE_URLhttps://api.z.ai/api/anthropicAnthropic 互換のエンドポイント(/v1/messages)です。
GLM_USE_HAIKUoffoff の場合、GLM を直接呼び出すため、すべてのトークンが GLM 内にとどまります。on の場合、Haiku がオーケストレーションするサブエージェントを使用できます(Claude のトークンを一部消費します)。
GLM_COST_BIAS7GLM をどの程度優先するかを指定します。7 では、対象タスクの約 98~100% が GLM に送られます。値を小さく(例:1.5)すると、より難しいタスクがメインモデルに送られます。0 は能力のみを基準にします。
GLM_MAX_CONCURRENT1GLM の同時処理リクエスト数は約 1 件です。プランでより多くの同時処理が許可されていない限り、1 のままにしてください。
GLM_CAPoffoff = 寛大な上限(最大 GLM_MAX_TOKENS_CEILING)。on = GLM_MAX_TOKENS を適用します。
GLM_MAX_TOKENS32768呼び出しごとの厳格な上限です。GLM_CAP=on の場合のみ適用されます。
GLM_MAX_TOKENS_CEILING131072上限がオフの場合に使用される、寛大なデフォルト値です。
GLM_MAX_RETRIES4429、同時実行、5xx のエラー発生時に、指数バックオフで再試行します。
GLM_TIMEOUT_MS300000GLM への HTTP リクエストごとのタイムアウト(5 分)です。
GLM_AGENT_MAX_ITERS30glm_agent が停止するまでのツールループの最大ターン数です。
GLM_AGENT_BASH_TIMEOUT_MS120000glm_agent 内で実行される run_bash コマンドごとのタイムアウトです。
GLM_OFFPEAK_MODELglm-5.2オフピーク時に auto が選択できるモデル候補です。カンマ区切りのリストを指定できます。ルーターが自動で選択します。
GLM_PEAK_MODELglm-5.2ピーク時に auto が選択できるモデル候補です。カンマ区切りのリストを指定できます。ピーク料金を避けるには、追加料金のないモデル(例:glm-4.7)を含めてください。
GLM_CHEAP_MODELglm-4.5-air低価格モデルです(Full-GLM ランチャーの Haiku スロットで使用されます)。
GLM_PEAK_START_CN14ピーク時間帯の開始時刻(中国時間、UTC+8)です。
GLM_PEAK_END_CN18ピーク時間帯の終了時刻(この時刻は含みません。中国時間、UTC+8)です。

ピーク時を考慮したルーティングとコスト

中国のピーク時間帯は14:00–18:00(UTC+8)です。glm-5.x ファミリーにはピーク時の追加料金(ピーク時は約3倍/オフピーク時は約2倍)がかかるため、ピーク時に auto が glm-5.x モデルを選ぶと、ルーターは GLM に割り当てる作業を減らします。追加料金のかからないモデル(例:GLM_PEAK_MODEL=glm-5.2,glm-4.7)をリストすると、ピーク時にはルーターがそのモデルを優先するため、GLM を問題なく利用できます。どちらの場合も、コストを考慮した優先設定により、GLM がデフォルトになります。ピーク時でも、メインモデルより低コストです。

**メインモデルで処理するもの:**機密情報や秘密情報を含むコード、画像入力、並列ファンアウト、>128K のコンテキスト、低レイテンシが求められるループ、依存関係の多い重いツールループ(ルーターによる強制的なオーバーライド)。

実際に GLM が使われたことの確認

  • usage.jsonl 台帳 — GLM の呼び出しはすべて、model、input_tokens、output_tokens とともにディスクに追記されます。Claude:~/.claude/glm-mcp/usage.jsonl、Copilot:~/.glm-mcp/glm-mcp/usage.jsonl。Z.ai ダッシュボードとは独立しています。
  • glm_status — 累積台帳の合計(呼び出し数、トークン数、モデルごとの件数)を出力します。
  • === GLM STATS === ブロック — glm_agent の実行後に毎回出力されます。モデル、委任されたトークン数、反復回数、変更されたファイル数、Opus と比較した推定コストが表示されます。

台帳が空の場合、GLM は一度も呼び出されていません。作業はメインモデルで行われました。

監督と安全性

  • glm_agent の dry_run: true — GLM は完全な差分を提案しますが、何も書き込みません。適用する前に承認してください。
  • Git チェックポイントの復元コマンド — 実際に glm_agent を実行するたびに(作業ディレクトリが git リポジトリの場合)、出力されるため、1つのコマンドで取り消せます。
  • キーの分離 — GLM_API_KEY は git の追跡対象外である .env にのみ保存され、npm パッケージに含まれることはありません(scripts/publish-server.mjs は各パッケージ内の .env/usage.jsonl/node_modules をスキャンし、検出するとエラーで停止します)。
  • データの保管場所 — GLM の通信先は中国にある Z.ai のサーバーです。秘密情報や規制対象のコードはメインモデルで処理してください。ルーターの sensitive フラグを使うと、メインモデルに強制的にルーティングされます。

開発/CI

CI(.github/workflows/ci.yml を参照)では、サーバーおよび各インストーラー/フック/スクリプトの構文チェック、キーを使わない stdio スモークテスト(scripts/smoke-stdio.mjs)による、ディスク上にキーがない状態での4つのツールを使った MCP ハンドシェイクの検証、ビルド済みイメージに initialize をパイプする Docker 内部検査テスト、および npm パッケージのシークレットスキャン(scripts/publish-server.mjs)を実行します。PR を歓迎します。CONTRIBUTING.md をご覧ください。

ライセンス

MIT © djerok · 正規リポジトリ:https://github.com/djerok/glm-mcp

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。