Skip to main content
Glama

Codex DSH MCP

コストを意識した MCP ブリッジ。Codex がアーキテクチャ、レビュー、最終検証を管理しつつ、定型業務やコンテキストの重い作業を DeepSeek Harness に委任できます。

Codex DSH MCP は、コミット済みの HEAD から作成した分離された Git ワークツリー上で各 DeepSeek ワーカーを実行します。メインワークスペースへの変更を自動的に適用することはありません。Codex と人間のレビュー担当者は、最初に確認できるよう、コンパクトな結果、Markdown レポート、パッチを受け取ります。

なぜ使うのか

  • リポジトリ探索、定型的な実装、リファクタリング、テスト、通常の修正を DeepSeek に任せられます。

  • 高リスクなアーキテクチャ、セキュリティ、最終レビュー、承認は Codex に任せられます。

  • 失敗した委任は最大 1 回だけ再試行し、リトライを無駄にする代わりに ESCALATED_TO_CODEX を返します。

  • プロジェクトごとに、コール数、所要時間、成功率、トークン使用量を追跡できます。

  • メインのチェックアウトは保護されます。ワーカーは分離された worktree でのみ稼働します。

Related MCP server: dsh_agentlink

クイックスタート

  1. このリポジトリをクローンし、Windows エクスプローラーでフォルダを開きます。

  2. install-windows.bat をダブルクリックするか、PowerShell で install-windows.ps1 を実行します。

  3. config.toml.example を %USERPROFILE%\.codex\config.toml にマージし、ブリッジのパスを更新します。

  4. AGENTS.md をグローバルまたはプロジェクトレベルの Codex 指示にマージします。

  5. Codex を再起動し、deepseek MCP サーバーが 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 を実行して、ブリッジの使用量とトークン節約量を確認してください。

環境変数

コア

変数

説明

デフォルト

DSH_BATCH_CONTROLLER

分離ワークツリーのコントローラへの絶対パス

(必須)

DSH_COMMAND

dsh、またはコントローラに安全に渡される絶対パスの DSH JavaScript 起動モジュール

dsh

DSH_TIMEOUT_MS

委任タスクのデフォルト タイムアウト。10 秒〜2 時間にクランプ

1800000 (30 分)

DSH_MAX_OUTPUT_CHARS

Codex コンテキストに返される最大文字数

6000

DEEPSEEK_ALLOWED_ROOT

任意のルートし。DeepSeek がアクセスできるディレクトリをそのルート下に制限する

(なし)

自動リトライ

変数

説明

デフォルト

DSH_AUTO_RETRY

一時的な失敗時に自動再試行するかどうか

true

DSH_MAX_RETRIES

最大再試行回数(初回試行の 上に 追加されるので、1=合計 2 回試行)

1

統計

変数

説明

デフォルト

DSH_STATS_ENABLED

統計の永続化を有効にする

true

DSH_STATS_FILE

統計ファイルのパス(絶対パスまたはワークスペースからの相対パ)

.codex-deepseek/stats.json

DSH_TOKEN_STATS

トークン使用量の追跡を有効にする

true

結果形式

すべての委任ツールは、以下のフィールドを持つコンパクトな構造化 JSON オブジェクトを返します。

フィールド

説明

status

success、failed、または escalated_to_codex

tool

ツール名(例: deepseek_task)

task_id

一意な ID: ds_YYYYMMDD_shortid

attempt

現在の試行番号

attempts

実際に完了した試行回数

max_attempts

設定された最大試行回数(初回+再試行)

duration_ms

この試のウォールクロック時間

exit_code

バッチコントローラの終了コード

changed_files

変更されたファイルパスのリスト

tests

{ ran, passed, summary }

usage

source(reported/estimated)と estimated ブーリアンを持つトークン使用量

summary

何を実行したかの短い説明

artifact_paths

{ run_dir, report, patch }

failure_type

timeout、controller_error、malformed_output、unable_to_complete、test_failure、no_changes、または null

retry_recommended

その失敗タイプが再試行対象かどうか

will_retry

設定された制限内で実際に別の試行が実行されるかどうか

escalated

すべての試行が尽きたときに true になるブール値

escalation_marker

尽きたときの "ESCALATED_TO_CODEX"

エスカレーションフロー

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

Available Tools

5 tools
deepseek_exploreA
Read-onlyIdempotent

Delegate repository exploration, code search, dependency tracing, or implementation-location discovery to DeepSeek Harness. Read-only: DeepSeek is instructed not to modify files. Returns compact structured JSON.

NameRequiredDescriptionDefault
cwdNoWorkspace directory. Defaults to the MCP server process working directory.
taskYesThe concrete coding task to delegate to DeepSeek Harness.
timeout_minutesNoOptional timeout override in minutes.

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description adds that DeepSeek is 'instructed not to modify files' and returns 'compact structured JSON,' which reinforces the read-only nature and provides output format context. This adds value beyond the annotations without contradicting them.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, front-loaded with the core purpose, and includes a read-only note and output format. Every sentence earns its place with no fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (delegation to an external harness), the description covers the purpose, read-only behavior, and output format. It lacks details on how the task is executed or what 'compact structured JSON' contains, but with no output schema and good annotations, the description is reasonably complete for an agent to decide and invoke.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all three parameters (cwd, task, timeout_minutes). The description does not add additional parameter semantics beyond what the schema provides. Baseline 3 is appropriate since the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Delegate repository exploration, code search, dependency tracing, or implementation-location discovery to DeepSeek Harness.' It uses specific verbs (explore, search, trace, discover) and a clear resource (repository). It distinguishes from siblings by focusing on exploration/discovery rather than task execution, fixing, reviewing, or stats.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use this tool: for exploration, code search, dependency tracing, and implementation-location discovery. It does not explicitly state when not to use it or name alternatives, but the sibling tools (deepseek_task, deepseek_fix, deepseek_review, deepseek_stats) provide context. The description could be more explicit about exclusions, but the purpose is clear enough for an agent to infer usage.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

deepseek_fixA

Delegate a bug-fix or failing-test loop to DeepSeek Harness in an isolated Git worktree. The main workspace is never modified automatically. Returns compact structured JSON.

NameRequiredDescriptionDefault
cwdNoWorkspace directory. Defaults to the MCP server process working directory.
taskYesThe concrete coding task to delegate to DeepSeek Harness.
evidenceNoOptional error message, failing test output, stack trace, or symptoms already observed by Codex.
timeout_minutesNoOptional timeout override in minutes.

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate readOnlyHint=false, idempotentHint=false, destructiveHint=false, but the description adds important context: the tool operates in an isolated Git worktree and never modifies the main workspace automatically. This goes beyond the annotations and clarifies the safety profile. It also mentions the return format (compact structured JSON), which is useful. No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, front-loaded with the core purpose, and includes a key safety guarantee and return format. Every sentence earns its place with no fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's moderate complexity (4 params, no output schema, no nested objects), the description is fairly complete. It explains the isolation mechanism, the safety guarantee, and the return format. It could mention what happens on failure or how the worktree is cleaned up, but the annotations and schema cover the basics. A 4 is appropriate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all four parameters. The description adds minimal extra meaning beyond what the schema provides, but it does mention the 'evidence' parameter implicitly by saying 'failing-test loop' and 'symptoms already observed'. Since the schema covers everything, a baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: delegating a bug-fix or failing-test loop to DeepSeek Harness in an isolated Git worktree. It specifies the action (delegate), the resource (bug-fix/failing-test loop), and the isolation mechanism (worktree), which distinguishes it from siblings like deepseek_task or deepseek_explore.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use this tool: when there is a bug-fix or failing-test loop to delegate. It also notes that the main workspace is never modified automatically, which is a key usage consideration. However, it does not explicitly state when not to use it or name alternative tools, so it falls short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

deepseek_reviewA
Read-onlyIdempotent

Delegate a focused code review to DeepSeek Harness. Read-only: DeepSeek is instructed not to modify files. Returns only material findings. Returns compact structured JSON.

NameRequiredDescriptionDefault
cwdNoWorkspace directory. Defaults to the MCP server process working directory.
taskYesThe concrete coding task to delegate to DeepSeek Harness.
focusNoOptional review focus such as correctness, concurrency, security, performance, or API compatibility.
timeout_minutesNoOptional timeout override in minutes.

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already provide readOnlyHint=true and destructiveHint=false, and the description reinforces this with 'Read-only: DeepSeek is instructed not to modify files.' It adds value by explaining the agent will not make changes and by stating the output behavior: 'Returns only material findings. Returns compact structured JSON.' Though it doesn't mention advanced details like auth or rate limits, it enriches beyond the annotations with output expectations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is exceedingly concise—two sentences—yet packs in all key information: action, read-only guarantee, output filtering, and output format. It front-loads the primary purpose and delivers maximum information density without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple delegation tool with 4 parameters (1 required) and no output schema, the description adequately contextualizes the tool's role and output expectations. It covers the core aspects: what it does, its safety profile, and partial output details. While it could elaborate on 'material findings' or the exact JSON structure, the description is sufficient for an agent to use the tool effectively without confusion.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage, with parameters like task and focus clearly documented. However, the description adds no additional semantic meaning beyond what's in the schema. It simply outlines the tool's high-level behavior without elaborating on parameter usage or providing examples. Thus, it meets the baseline but doesn't exceed it.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function with a specific verb and resource: 'Delegate a focused code review to DeepSeek Harness.' It distinctly identifies the operation (delegating a code review) and differentiates it from sibling tools like deepseek_task or deepseek_fix, which likely handle task execution or bug fixes. The 'focused' modifier adds precision, and the description leaves no ambiguity about what the tool does.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage ('Delegate a focused code review') but does not explicitly state when to prefer this tool over siblings or provide exclusions. There's no mention of alternatives or when not to use it. A 3 reflects that the usage context is implied but not explicitly guided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

deepseek_statsA
Read-onlyIdempotent

Read-only bridge statistics. Returns concise totals, tool counts, success rate, average duration, and last 10 task metadata. Results are drawn from the project-level stats file (.codex-deepseek/stats.json).

NameRequiredDescriptionDefault
cwdNoWorkspace directory used to locate the stats file. Defaults to the MCP server process working directory.

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond annotations (readOnlyHint, idempotentHint), the description adds that results are drawn from a project-level stats file (.codex-deepseek/stats.json), providing extra context about data provenance. 'Read-only' aligns with annotations, and no contradictions exist.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and well-structured: two sentences, front-loaded with purpose ('Read-only bridge statistics'), and each clause provides useful information without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simple tool (1 optional param, no output schema), the description explains the return categories (totals, counts, success rate, duration, last 10 task metadata) sufficiently. It might be slightly more complete with mention of failure modes (e.g., missing stats file), but that is not essential for this tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema description coverage is 100% (the single 'cwd' parameter is fully described in the input schema). The tool description does not add any parameter details beyond the schema, so it meets the baseline but offers no extra semantic value.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function: returns bridge statistics including totals, tool counts, success rate, average duration, and last 10 task metadata. It distinguishes from sibling tools (task/fix/explore/review) by being a stats aggregator, and the verb 'Returns' is specific.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for obtaining overall statistics but does not explicitly say when to use it over alternatives or when not to use it. Context from sibling names helps, but there is no direct guidance on selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

deepseek_taskA

Delegate a normal implementation/refactor/debug task to DeepSeek Harness in an isolated Git worktree. The main workspace is never modified automatically; Codex must review the report and patch before applying anything. Returns compact structured JSON with status, task_id, retry information, usage, and artifact paths.

NameRequiredDescriptionDefault
cwdNoWorkspace directory. Defaults to the MCP server process working directory.
taskYesThe concrete coding task to delegate to DeepSeek Harness.
timeout_minutesNoOptional timeout override in minutes.

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the raw annotations (readOnly:false, destructive:false), the description adds valuable behavioral context: the isolation guarantee ('main workspace is never modified automatically') and the mandatory review gate ('Codex must review the report and patch before applying anything'). This paints a coherent safety model — the operation produces work but is gated — that the annotations alone don't fully convey. It stops short of addressing failure paths, but for this complexity level it's strong.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, each earning its place: (1) what and where, (2) safety/review gate, (3) return format. Front-loaded with the purpose statement, zero fluff, and optimally scannable for an agent parsing the definition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 3-param tool with no output schema, the description covers the key facets: delegation target, isolation model, safety gate, and return contract (status, task_id, retry info, usage, artifact paths). Remaining minor gaps: no guidance on error/failure behavior or how task_id might chain with sibling tools, but neither is critical given the explicit safety workflow.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% — cwd, task, and timeout_minutes already have meaningful descriptions with defaults, constraints, and types. The description adds no additional parameter semantics on top of the schema, so the baseline of 3 is appropriate. The 'Returns compact structured JSON...' sentence describes the output, not the parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description pairs a specific verb ('Delegate') with a resource ('DeepSeek Harness in an isolated Git worktree') and a clear scope ('normal implementation/refactor/debug task'). The word 'normal' implicitly contrasts with the specialized sibling tools (fix/explore/review/stats), though it stops short of explicitly naming them as alternatives.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied rather than stated: 'normal implementation/refactor/debug task' signals this is the general-purpose sibling, while deepseek_explore/review/fix/stats handle specialization. However, there are no explicit when-to-use, when-not-to-use, or named-alternative statements, and the safety workflow note ('Codex must review the report and patch before applying anything') is about execution behavior rather than selection criteria.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 5 tool updatesv0.2.0
    • First observeddeepseek_explore
    • First observeddeepseek_fix
    • First observeddeepseek_review
    • First observeddeepseek_stats
    • First observeddeepseek_task

TDQS

A4.2/5.0

Scored across 5 tools

Disambiguation5/5

Each tool has a clearly distinct purpose: task delegation, bug fixing, exploration, review, and statistics. The descriptions explicitly differentiate read-only operations and the action types, leaving no ambiguity.

Naming Consistency5/5

All tools follow the identical `deepseek_` prefix with a verb indicating the action (task, fix, explore, review, stats). This consistent pattern makes the API predictable and easy to navigate.

Tool Count5/5

With only 5 tools, the set is tightly scoped to the core operations of the DeepSeek Harness bridge. Each tool serves a distinct necessary function without redundancy or bloat.

Completeness4/5

The tools cover the primary workflows (delegation, fixing, exploration, review, and stats). A minor gap is the lack of explicit task status or cancellation tools, though the stats tool implicitly provides an overview. The surface is otherwise well-rounded.

Maintenance

ActivityStale
ResponsivenessNo recent community issues

Related MCP Connectors

Related MCP Servers