MCP server that runs DeepSeek as a workspace-scoped sub-agent for Claude Code and Codex CLI.
Mixed quality across 7 tools. All tools have descriptions (10 - 100 chars) and visible schemas with type definitions. However, descriptions are terse and lack LLM-optimized guidance (e.g., 'when to use', 'prerequisites', 'prerequisites'). Parameter descriptions exist but are minimal. Output schemas are not documented. Error handling is present in code (e.g., check_command safety checks, bounded_integer validation) but error messages are not specified in tool definitions. Naming is clear and verb-forward (Read, Write, Edit, Bash, Glob, Grep, NotebookEdit). Risk annotations are present (READ_ONLY, WRITE, IRREVERSIBLE) which is good practice but not captured in the schema. No confirmation patterns for destructive operations (Write, Edit, Bash, NotebookEdit). The tool set shows solid engineering discipline (workspace bounds, timeout caps, stream limits) but lacks agent-facing optimization (idempotency hints, chaining fields, error recovery guidance).
Run a bounded shell command on the trusted host in the workspace. Timeout defaults to 60s and is capped at 600s.
Replace exact text in a bounded workspace file.
Find bounded workspace matches; external symlinks are hidden.
Search bounded workspace text files with a safe RE2 expression.
Edit a bounded Jupyter notebook cell-by-cell. Insert adds a new cell immediately after the target anchor, or appends when no valid anchor is supplied.
Read a bounded UTF-8 text file. Use this before editing.
Create a new bounded UTF-8 file inside the workspace. Use Edit for an existing file.
Descriptions are terse (10 - 62 chars). LLMs need context: when to use this tool instead of similar ones, prerequisites, what happens on retry. E.g., 'Read a bounded UTF-8 text file. Use this before editing.' (57 chars) lacks guidance on limit/offset semantics and total file size expectations.
Output schemas are not documented in the tool definitions. Agents cannot see what fields are returned by Read, Bash, Grep, or Glob. This forces agents to guess the response structure and plan blindly for downstream tool chaining.
Irreversible operations (Write, Edit, Bash, NotebookEdit) lack confirmation or dry-run support. An agent can delete files or run destructive commands without a confirmation step, risking catastrophic errors.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | D | 55 | 2026-07-28+ | v2 |
Parameter descriptions are minimal or absent. E.g., Bash 'command' has description 'Shell command' (14 chars) but does not explain what environment variables are available, whether background processes are supported, or what happens if a command takes longer than the timeout.
No error recovery guidance in tool definitions. Code shows check_command safety checks and bounded_integer validation, but error messages are not documented in the schema. Agents cannot know what to do if a Bash command fails validation or a file offset exceeds bounds.
Workspace bounds, timeout limits, and stream caps are hardcoded in implementation (e.g., MAX_STREAM_BYTES=25_000, MAX_BASH_TIMEOUT=600) but not exposed in tool descriptions. Agents cannot predict truncation or timeout behavior and will make unguided retry attempts.
NotebookEdit 'cell_id' and 'cell_index' are mutually exclusive anchors, but the schema does not declare this constraint. Agents may pass both and cause ambiguous behavior. Schema description does not warn against dual-anchor calls.
Risk annotations (READ_ONLY, WRITE, IRREVERSIBLE) are present in the inspection metadata but are not mapped to MCP tool annotations (readOnlyHint, destructiveHint, idempotentHint). Agents cannot automatically filter tools by risk level.