An MCP (Model Context Protocol) server that provides AI-powered tools for code analysis, review, and assistance using multiple AI models (Gemini, OpenAI, OpenRouter, XAI, Ollama)
Zen MCP Server has 12 tools with basic schemas and descriptions, but significant quality gaps prevent higher scoring. All tools have input schemas with typed parameters and descriptions present, meeting minimum requirements. However, descriptions are generic and lack LLM-optimized guidance on WHEN to use each tool or HOW to recover from errors. Tool names follow verb_noun convention (thinkdeep, codereview, debug, analyze, chat, consensus, listmodels, planner, precommit, testgen, refactor, tracer) but lack specificity, 'analyze' and 'chat' are vague and could be confused. No output schemas are documented, forcing LLMs to guess what fields to expect. Error handling is absent, no recovery guidance, no categorization of retryable vs fatal errors. No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite all tools being READ_ONLY. Security: no evidence of secret injection; model selection is exposed as a parameter, risking API key leakage if models are tied to credentials.
General-purpose file and code analysis
Interactive development chat and brainstorming
Comprehensive code review and quality analysis
Multi-model consensus for diverse perspectives on technical proposals
Root cause analysis and debugging assistance
List all available AI models by provider
A task or problem to plan out as several smaller steps
No output schemas documented. LLMs cannot infer what fields to expect from tool responses, forcing guesswork and downstream lookup calls.
Descriptions are generic and lack LLM-optimized guidance. 'Extended reasoning for complex problems' (thinkdeep) does not explain WHEN to use it vs chat, or what output format to expect. Descriptions should be 50-200 chars and answer: what, when, and what it returns.
Vague tool names 'analyze' and 'chat' lack specificity. 'analyze' could mean static analysis, semantic analysis, or performance analysis. 'chat' is indistinguishable from the LLM's native chat capability. Rename to clarify intent (e.g., analyze_code_quality, brainstorm_with_ai).
Inferred effective spec: 2026-07-28+.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 44 | 2026-07-28+ | v2 |
Pre-commit validation of git changes
Intelligent code refactoring suggestions with precise line references
Comprehensive test generation with edge case coverage
Extended reasoning for complex problems
Static call path prediction and control flow analysis
No error handling or recovery guidance. Tools do not document what errors are retryable, what user input is needed, or how to recover. LLMs will not know whether to retry, ask the user, or give up.
Model selection exposed as a parameter. If models are tied to API credentials, passing model names as parameters risks leaking secrets into logs and traces. Use server-side secret injection and configuration instead.