Skip to main content
Glama

Codex DSH MCP

비용 인식형 MCP 브리지로, Codex가 반복적이고 컨텍스트가 많이 필요한 작업을 DeepSeek Harness에 위임하는 동안 Codex는 아키텍처, 리뷰, 최종 검증을 계속 제어합니다.

Codex DSH MCP는 각 DeepSeek 워커를 커밋된 HEAD에서 생성된 격리된 Git 워크트리에서 실행합니다. 메인 워크스페이스에 변경 사항을 자동으로 적용하지 않습니다. Codex와 인간 리뷰어는 먼저 검토할 수 있도록 간결한 결과, Markdown 보고서, 패치를 받습니다.

왜 사용하나요?

  • 저장소 탐색, 일상적인 구현, 리팩터링, 테스트, 일반적인 수정을 DeepSeek에 오프로드합니다.

  • 위험도가 높은 아키텍처, 보안, 최종 리뷰, 승인은 Codex가 유지합니다.

  • 실패한 위임은 최대 한 번만 재시도한 후 호출 낭비 대신 ESCALATED_TO_CODEX를 반환합니다.

  • 프로젝트별 호출, 기간, 성공률, 명확하게 라벨링된 추정/보고 토큰 사용량을 추적합니다.

  • 메인 체크아웃을 보호합니다. 워커는 격리된 워크트리에서만 작동합니다.

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 서버가 다섯 개의 도구를 노출하는지 확인합니다.

노출되는 기능

  • deepseek_explore — 읽기 전용 저장소 탐색/검색.

  • deepseek_task — 격리된 워크트리에서 일반 구현/리팩터링/테스트 작업.

  • deepseek_fix — 격리된 워크트리에서 버그/실패 테스트 진단-수정-테스트 루프.

  • deepseek_review — 읽기 전용 집중 리뷰.

  • deepseek_stats — 읽기 전용 브리지 통계(총계, 도구 수, 성공률, 평균 기간, 최근 10개 작업 메타데이터).

라우팅 작동 방식

AGENTS.md는 Codex에게 작고 중요하며 아키텍처 관련, 보안에 민감하거나, 파괴적이거나, 이미 에스컬레이션된 작업에는 DIRECT_CODEX를 선택하도록 지시합니다. 광범위한 탐색과 일상적인 작업—특히 약 세 개 이상의 파일을 읽어야 하거나, 약 두 개 이상의 파일을 변경해야 하거나, 편집/테스트/수정 루프가 예상되는 경우—에는 DELEGATE_DEEPSEEK를 선택합니다. Codex는 이 선택을 위해 먼저 저장소를 스캔하지 않습니다.

User
 ↓
Codex Router
 ├── Small / Critical ──→ Codex
 │
 └── Delegatable
       ↓
    DeepSeek
       ↓
 ┌─────┴─────┐
Success     Failure
 ↓             ↓
Review      Retry once
               ↓
          Failure again
               ↓
             Codex

재시도는 동일한 작업 ID를 사용하는 집중 버그 수정 시도입니다. 두 번째 실패는 ESCALATED_TO_CODEX를 반환합니다. Codex가 인계받으며 동일한 문제를 세 번째로 위임해서는 안 됩니다.

요구 사항

  • 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 서버와 다섯 개의 도구를 표시해야 합니다.

위임 프롬프트 설치

단일 저장소의 경우 AGENTS.md를 저장소 루트에 둡니다(또는 DeepSeek 위임 섹션을 기존 AGENTS.md에 병합).

전역 개인 정책의 경우 내용을 %USERPROFILE%\.codex\AGENTS.md에 병합합니다. 프로젝트별 지침이 여전히 이를 재정의할 수 있습니다.

권장 첫 테스트

임시 Git 저장소에서 Codex에게 요청합니다:

CLI 인수가 어디에서 파싱되는지 찾아보세요. 저장소 탐색에는 DeepSeek을 사용하고 관련 파일을 보고하세요. 아무것도 수정하지 마세요.

그런 다음 무해한 쓰기 작업을 시도합니다:

기존 순수 헬퍼에 대한 작은 단위 테스트를 추가하세요. 구현을 DeepSeek에 위임한 다음, 성공을 보고하기 전에 직접 diff를 검토하고 해당 테스트를 실행하세요.

그런 다음 통계를 확인합니다:

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 블록을 사용할 수 있을 때 DeepSeek/Harness 출력에서 파싱됩니다(source: "reported", estimated: false). 그렇지 않으면 프롬프트/결과 문자 수에서 약 4자당 1토큰으로 근사됩니다(source: "estimated", estimated: 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도 격리된 워크트리에서 실행됩니다. 읽기 전용 동작은 프롬프트 수준 정책으로 유지되지만, 실수로 인한 쓰기는 메인 워크스페이스에 닿을 수 없습니다.

deepseek_stats는 읽기 전용이며 통계 파일에만 접근합니다.

Codex 사용량을 절약하는 이유

비용이 많이 드는 루프는 일반적으로 저장소 검색 → 많은 파일 읽기 → 구현 → 테스트 → 실패 분석 → 재시도입니다. 브리지는 이 루프를 별도의 DeepSeek Harness 세션으로 이동합니다. DeepSeek의 간결한 구조화된 결과만 Codex로 반환되며, Codex는 결과 diff를 검사하고 목표 검증을 수행할 수 있습니다.

작성자

@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