A DeepSeek MCP patch worker and Codex Responses bridge for autonomous code generation and patching
Server defines 20 tools with explicit schemas and descriptions. Most tools have clear verb-noun naming (generate_patch, submit_agent_task, cancel_patch_job). Descriptions are present and substantive (avg ~150 chars), exceeding the 10-char minimum. However, parameter descriptions are inconsistent: some params lack detail on constraints, formats, or valid ranges. Output schemas are not documented, LLMs cannot predict response structure. Error handling guidance is minimal. No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite clear risk levels (WRITE, IRREVERSIBLE, DESTRUCTIVE). Security-sensitive tools like apply_reviewed_agent_result and release_agent_task lack explicit permission/confirmation patterns.
Apply an exact Sol-accepted result revision to its unchanged clean repository.
Cancel an autonomous task and terminate its Codex process group.
Request cooperative cancellation of a background streamed job.
Generate a validated candidate unified diff; this tool never edits the repository. The default model is deepseek-v4-flash. Use deepseek-v4-pro only when explicitly requested. file_context should label each supplied file with its repository-relative path. allowed_paths is the exact list of files the returned patch may add, edit, or delete. On a repair round, send current file contents plus exact test/build failures.
Return machine-readable task states plus a compact human-readable batch dashboard.
Return the latest validated result, or a specific persisted revision.
Output schemas not documented. LLMs cannot predict response structure (fields, types, pagination). Tools return dicts but no schema is visible in code or docstrings.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite explicit risk levels. apply_reviewed_agent_result (IRREVERSIBLE), release_agent_task (DESTRUCTIVE), and cancel_patch_job (REVERSIBLE) lack annotations to guide agent caution.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 59 | 2026-07-28+ | v2 |
Return the latest or selected persisted stage/final result revision.
Return persisted status and aggregate stream progress for a background job.
Return a persisted validated result, or the current non-terminal status.
Return persisted model/session recovery attempts for an autonomous task.
List persisted progress and final result revisions for a task.
Record Sol's review after checking the exact persisted patch revision.
Remove a terminal task's isolated worktree after its result has been reviewed.
Explicitly resume an interrupted or partial task from its preserved checkpoint.
Review an untrusted candidate patch and return a corrected replacement diff, or an empty patch when no correction is justified.
Resume the same DeepSeek Codex session and isolated worktree with a follow-up.
Submit up to eight autonomous DeepSeek tasks for concurrent isolated execution. Each task object accepts task, write_scope, and optional task_name, constraints, model, and prefer_structured_edits ('auto'/'on'/'off'). The call returns a batch ID and task IDs without waiting for completion. task_size controls the whole batch polling policy: small is 60 seconds/10 attempts; large is 180 seconds/15 attempts.
Submit one autonomous DeepSeek coding task in an isolated Git worktree. The repository must be clean and inside DEEPSEEK_AGENT_ROOTS. write_scope accepts repository-relative files and glob patterns such as src/**. This returns immediately; use wait_agent_events or get_agent_dashboard to follow progress. Set task_size to small for 60-second polling (at most 10 attempts), or large for 180-second polling (at most 15 attempts). prefer_structured_edits is 'auto' (heuristic), 'on' (force deterministic structured edits for this task), or 'off' (always use direct editing).
Submit a long-running streamed patch job and return a local job ID immediately.
Wait for task events without consuming the server-side execution budget. Pass the returned next_event_id into the next call. Small batches retain a server-side 60-second/10-tick policy and large batches retain 180-second/15 ticks. Calls to this tool never increment ticks. Terminal completion and stage changes return immediately. When the server-side budget expires, unfinished tasks are stopped and summarized with up to three polling intervals of finalization time.
Parameter descriptions lack constraint details. 'task_size' accepts 'small' or 'large' but description does not enumerate valid values. 'prefer_structured_edits' accepts 'auto'/'on'/'off' but no enum constraint visible. LLMs may hallucinate invalid values.
No error handling guidance. Tools return dicts but no documentation on error structure, recovery steps, or retryability. LLMs cannot distinguish transient failures from permanent ones.
Destructive operations (apply_reviewed_agent_result, release_agent_task) lack confirmation or dry-run patterns. No explicit guard against accidental execution.