A tiny MCP stdio server that exposes DeepSeek as a Claude/Codex tool.
Two well-named, action-oriented tools with comprehensive descriptions and complete input schemas. Both tools include tool annotations (readOnlyHint, idempotentHint). Descriptions are detailed and contextual (200+ chars each), explaining when to use each tool and expected latency. Input schemas are properly typed with enums and defaults. However, output schemas are not documented, LLMs cannot predict response structure for downstream planning. Error handling guidance is absent; no recovery hints or categorization. Parameter descriptions are good but lack explicit format/constraint details (e.g., no mention of max prompt length, API key requirements, or timeout behavior).
Deep reasoning via DeepSeek V4 Pro with thinking mode enabled. Use when `deepseek` is not sufficient: judgment under ambiguity, architectural tradeoffs, second opinions on consequential decisions, complex multi-factor analysis, or anything where being wrong has real cost. Defaults to effort=max — exhaustive reasoning. Returns structured response: CONCLUSION / REASONING / WATCH OUT. More expensive (~6x flash) and slower (60-120s). Use effort=medium or high only when you need a quicker lighter read.
Fast, cheap task execution via DeepSeek V4 Flash (non-thinking mode). Best for: classification, summarization, JSON edits, table generation, template population, pattern-copy refactors, inbox triage. Not for: architecture decisions, judgment under ambiguity, security policy, client-facing final prose. Typical latency: 2-5s. Use `advise` when you need deeper reasoning.
Output schemas not documented. LLMs cannot predict response structure (fields, types, nesting) for downstream planning or data extraction.
No error handling guidance. Responses lack recovery hints (e.g., 'API key missing, set DEEPSEEK_API_KEY env var'), error categorization (retryable vs fatal), or actionable next steps.
Parameter constraints not fully specified. 'prompt' and 'system' lack length limits, format hints, or encoding expectations. 'effort' enum is clear but lacks guidance on when to choose each level.
API key exposure risk. DEEPSEEK_API_KEY is read from environment but no validation that it exists before tool invocation. Missing calls to _api_key_status() in tool handlers.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 64 | <=2025-11-25 | v2 |
No pagination or result limits documented. If DeepSeek returns large reasoning chains or multi-part responses, no guidance on truncation, streaming, or chunking.