Codex DSH MCP
Codex DSH MCP
コストを意識した MCP ブリッジ。Codex がアーキテクチャ、レビュー、最終検証を管理しつつ、定型業務やコンテキストの重い作業を DeepSeek Harness に委任できます。
Codex DSH MCP は、コミット済みの HEAD から作成した分離された Git ワークツリー上で各 DeepSeek ワーカーを実行します。メインワークスペースへの変更を自動的に適用することはありません。Codex と人間のレビュー担当者は、最初に確認できるよう、コンパクトな結果、Markdown レポート、パッチを受け取ります。
なぜ使うのか
リポジトリ探索、定型的な実装、リファクタリング、テスト、通常の修正を DeepSeek に任せられます。
高リスクなアーキテクチャ、セキュリティ、最終レビュー、承認は Codex に任せられます。
失敗した委任は最大 1 回だけ再試行し、リトライを無駄にする代わりに
ESCALATED_TO_CODEXを返します。プロジェクトごとに、コール数、所要時間、成功率、トークン使用量を追跡できます。
メインのチェックアウトは保護されます。ワーカーは分離された worktree でのみ稼働します。
クイックスタート
このリポジトリをクローンし、Windows エクスプローラーでフォルダを開きます。
install-windows.batをダブルクリックするか、PowerShell でinstall-windows.ps1を実行します。config.toml.exampleを%USERPROFILE%\.codex\config.tomlにマージし、ブリッジのパスを更新します。AGENTS.mdをグローバルまたはプロジェクトレベルの Codex 指示にマージします。Codex を再起動し、
deepseekMCP サーバーが 5 つのツールを公開していることを確認します。
公開されるもの
deepseek_explore— 読み取り専用のリポジトリ探索 / 検索。deepseek_task— 分離されたワークツリー内での通常の実装 / リファクタリング / テスト作業。deepseek_fix— 分離されたワークツリー内でのバグ / 失敗テストの診断 → 編集 → テストのループ。deepseek_review— 読み取り専用のフォーカスしたレビュー。deepseek_stats— 読み取り専用のブリッジ統計(合計、ツール別コール数、成功率、平均所要時間、直近 10 件のタスクメタデータ)。
ルーティングの仕組み
AGENTS.md は、小規模、重大、アーキテクチャ関連、セキュリティ上重要、破壊的、またはすでにエスカレーション済みの作業に対して DIRECT_CODEX を選択するよう Codex に指示します。広範囲の探索や定型的な作業には DELEGATE_DEEPSEEK を選択します。特に、約 3 ファイル以上の読み取りが必要な場合、約 2 ファイル以上の変更が必要な場合、または編集 / テスト / 修正のループが発生しそうな場合に有効です。Codex はこの判断のためだけにリポジトリを先にスキャンしません。
User
↓
Codex Router
├── Small / Critical ──→ Codex
│
└── Delegatable
↓
DeepSeek
↓
┌─────┴─────┐
Success Failure
↓ ↓
Review Retry once
↓
Failure again
↓
Codex再試行は、同じ タスクID を使ったフォーカスしたバグ修正の試みです。2 回目の失敗で ESCALATED_TO_CODEX が返ります。Codex が引き継ぎ、同じ問題を 3 回目に委任してはなりません。
必要条件
Windows 10/11(ブリッジには POSIX 用のパスもあります)。
Node.js 20 以上。
MCP 対応の Codex。
dshとして利用でき、使用予定の DeepSeek モデル / サービス向けに設定・認証済みの DeepSeek Harness。
Windows へのインストール
このフォルダで PowerShell を開きます。
Set-ExecutionPolicy -Scope Process Bypass
.\install-windows.ps1または、install-windows.bat をダブルクリックします。これは同じインストーラの薄い Windows ラッパーです。
Codex を使う前に、DeepSeek Harness が単体で動作することを確認します。
dsh --profile headless "Reply with exactly READY"これが動作しない場合は、まず dsh を修正してください。MCP ブリッジは意図的に DeepSeek の認証情報を管理しません。
Codex の設定
config.toml.example を %USERPROFILE%\.codex\config.toml にマージし、サンプルのパスを置き換えます。
[mcp_servers.deepseek]
command = "node"
args = ["C:/tools/codex-deepseek-bridge/src/index.mjs"]
startup_timeout_sec = 20
tool_timeout_sec = 7200
[mcp_servers.deepseek.env]
DSH_BATCH_CONTROLLER = "C:/Users/Administrator/.codex/skills/dsh-batch-subagents/scripts/dsh-batch-agents.mjs"
DSH_COMMAND = "dsh"
DSH_TIMEOUT_MS = "1800000"
DSH_MAX_OUTPUT_CHARS = "6000"
DSH_AUTO_RETRY = "true"
DSH_MAX_RETRIES = "1"
DSH_STATS_ENABLED = "true"
DSH_TOKEN_STATS = "true"
DEEPSEEK_ALLOWED_ROOT = "D:/Projects"Codex を再起動します。Codex TUI の /mcp に deepseek 用 MCP サーバーと 5 つのツールが表示されるはずです。
委任プロンプトのインストール
単一リポジトリの場合は、AGENTS.md をリポジトリのルートに置きます(既存の AGENTS.md に DeepSeek 委任セクションをマージしてもかまいません)。
グローバルな個人設定にする場合は、内容 を %USERPROFILE%\.codex\AGENTS.md にマージします。プロジェクト固有の指示は引き続きそれを上書きできます。
推奨する最初のテスト
使い捨ての Git リポジトリで Codex に次のように依頼します。
どこで CLI 引数が解析されているか調べてください。リポジトリの探索は DeepSeek を使って、関連ファイルを報告してください。何も変更しないでください。
次に、無害な書き込みタスクを試します。
既存の純粋なヘルパーに小さなユニットテストを追加してください。実装は DeepSeek に委任し、報告する前に自分で差分を確認して対象のテストを実行してください。
最後に統計を確認します。
deepseek_statsを実行して、ブリッジの使用量とトークン節約量を確認してください。
環境変数
コア
変数 | 説明 | デフォルト |
| 分離ワークツリーのコントローラへの絶対パス | (必須) |
|
|
|
| 委任タスクのデフォルト タイムアウト。10 秒〜2 時間にクランプ |
|
| Codex コンテキストに返される最大文字数 |
|
| 任意のルートし。DeepSeek がアクセスできるディレクトリをそのルート下に制限する | (なし) |
自動リトライ
変数 | 説明 | デフォルト |
| 一時的な失敗時に自動再試行するかどうか |
|
| 最大再試行回数(初回試行の 上に 追加されるので、1=合計 2 回試行) |
|
統計
変数 | 説明 | デフォルト |
| 統計の永続化を有効にする |
|
| 統計ファイルのパス(絶対パスまたはワークスペースからの相対パ) |
|
| トークン使用量の追跡を有効にする |
|
結果形式
すべての委任ツールは、以下のフィールドを持つコンパクトな構造化 JSON オブジェクトを返します。
フィールド | 説明 |
|
|
| ツール名(例: |
| 一意な ID: |
| 現在の試行番号 |
| 実際に完了した試行回数 |
| 設定された最大試行回数(初回+再試行) |
| この試のウォールクロック時間 |
| バッチコントローラの終了コード |
| 変更されたファイルパスのリスト |
|
|
|
|
| 何を実行したかの短い説明 |
|
|
|
|
| その失敗タイプが再試行対象かどうか |
| 設定された制限内で実際に別の試行が実行されるかどうか |
| すべての試行が尽きたときに |
| 尽きたときの |
エスカレーションフロー
Tool call → attempt 1 (fails) → retry → attempt 2 (fails) → return escalated_to_codex委任から status: "escalated_to_codex" が返った場合、Codex は根本原因を調査して次のステップを判断する必要があります。ブリッジが Codex API を呼び出すことは決してありません。
トークンの統計
トークン使用量は、利用状況 JSON ブロックが利用可能な場合(source: "reported"、estimated: false)、DeepSeek/Harness の出力から解析されます。それ以外の場合、プロンプトと結果の文字数からおおよそ 1 トークン=4 文字で近似されます(source: "estimated"、estimate: true)。報告された使用量はプロバイダーのデータであり、推定使用量はあくまでもフォールバックの近似値です。
プロジェクトレベルの .codex-deepseek/stats.json は、最大 100 回の試行に関する制限付きメタデータを記録し、一時ファイルを経てリネームで書ぎ込まれます。完全なタスクプロンプト、結果の要約、diff、変更ファイルのパス、成果物(アーティファクト)のパスを保存することはありません。deepseek_stats は、合計、成功率、平均所要時間、ツールごとの回数、直近 10 件のメタデータを返します。
estimated_codex_tokens_avoided は、DeepSeek が処理したコンテキスト量を、Codex が処理しなくて済んだコンテキストの大まかな近似として使します。常に estimate_only: true にマークされます。これは OpenAI や Codex のクオータとは異なり、委任が方向性として有用かどうかを表すためのみに使用するものです。
セキュリティモデル
deepseek_task と deepseek_fix は、DeepSeek Harness が隔離された Git ワークツリーのみを編集できるようにします。レポートとパッチは、Codex と人のレビューのために、リポジトリの外に保持されます。マージや自動適用は一切行われません。
deepseek_explore と deepseek_review も分離された worktree で実行されます。これらの読み取り専用の動作はあくまでプロンプトレベルのポリシーですが、誤って書き込んだとしてもメインタスクディレクトリに触れることはありません。
deepseek_stats は読み取り専用で、統計ファイルにのみアクセスします。
うこの節約になるのか
高コストのループは通常、リポジトリ検索 → 多数のファイル読み取り → 実装 → テスト → 失敗分析 → 再テイです。このブリッジはそのループを別の DeepSeek Harness セッションに移します。Codex に返るのはコンパクトで構造化された結果だけなので、後は差分を検査して追加の検証を行えます。
作者
@sakurameishi が作成・保守しています。
ライセンス
MIT © 2026 sakurameishi
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Agentic code review, no signup to try: reality gates + frontier-model review, with veto.
Give your AI agent a persistent map of your project's structure, dependencies, and bugs.
Adaptive plan/build/review cycles for AI coding assistants, persisted across sessions.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/sakurameishi/codex-dsh-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server