Gemini-powered MCP server for automated code review, analysis, and documentation.
Code Lens defines 13 tools with explicit schemas, descriptions, and parameter contracts visible in src/lib/tool-contracts.ts. However, several critical gaps reduce the score: (1) Tool descriptions vary widely in specificity and don't uniformly answer WHAT/WHEN/WHY with actionable guidance; (2) Parameter descriptions are present but often generic (e.g., 'Primary language hint' for language param across multiple tools); (3) Output schemas are documented as string fields in the contract ('outputShape' field) but are not formally defined, tool callers cannot know the exact return structure; (4) Error handling guidance is absent, no indication of what errors are retryable, how to recover, or what to do if analysis fails; (5) Some tools combine multiple concerns (e.g., analyze_pr_impact analyzes severity, breaking changes, AND rollback complexity in one tool); (6) Dependencies between tools are documented in crossToolFlow but not in parameter descriptions; (7) No confirmation/dry-run pattern for potentially high-impact analyses. The tool naming is good (verb_noun pattern), and schemas are properly typed with constraints, which prevents a lower score. This is a C+/B- server, solidly functional but missing production-grade polish around error guidance and output shape documentation.
Assess severity, categories, breaking changes, and rollback complexity.
Analyze Big-O complexity and detect degradations in changed code.
Ask a question about the loaded file.
Detect breaking API/interface changes in a diff.
Detect code smells and anti-patterns in the loaded file.
Generate a diff of current changes and cache it server-side. MUST be called before any other tool. Uses git to capture unstaged or staged changes in the current working directory.
Output schemas are documented as string labels ('outputShape' field) but NOT formally defined. Tool callers cannot know what fields to expect, what types they are, or how to chain outputs to downstream tools. This violates the 'Document the output schema' pattern and forces LLMs to guess or parse unstructured text.
Error handling and recovery guidance is completely absent. Tools do not document what errors are possible, whether they are retryable, or what the agent should do next. This violates the 'Error responses must tell the LLM what to do next' pattern.
Inferred effective spec: 2025-06-18+.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | D | 55 | 2025-06-18+ | v2 |
| 2026-03-09 | F | 33 | - | v1 |
Generate JSDoc/TSDoc/docstring stubs for public exports.
Produce PR summary, risk rating, and merge recommendation.
Generate prioritized test cases and coverage guidance.
Load and cache a file from the workspace.
Get refactoring suggestions for the loaded file.
Search the codebase for patterns or references.
Validate algorithms and logic using Gemini code execution sandbox.
Tool dependencies (requiresDiff, requiresFile) are present in the ToolContract data structure but NOT documented in tool descriptions. LLMs cannot know that 'analyze_pr_impact' requires 'generate_diff' to be called first unless the description explicitly states it.
Parameter descriptions are often generic or missing context. Example: 'language' parameter across 7+ tools has the same vague description ('Primary language hint'), it does not explain whether the tool auto-detects, whether the hint is optional, or how incorrect hints affect results.
verify_logic tool has a naming/responsibility mismatch. The tool is named 'verify_logic' but the only parameter is named 'query' (suggests search), and the description mentions 'code execution sandbox' but provides no detail on what happens, what limitations apply, or what the output is.
No confirmation or dry-run pattern for high-impact tools. Tools like 'analyze_pr_impact', 'detect_api_breaking_changes', and 'generate_test_plan' produce recommendations that could influence deployment decisions, but there is no mechanism for the LLM to preview results or confirm before acting on them.