MCP server for getting second opinions on code using Gemini AI, enhanced with Perplexity insights and Stack Overflow references
Single tool with clear naming (get_second_opinion) and comprehensive input schema. Description is adequate (194 chars, within baseline 34-392 range). All 5 parameters have type definitions and descriptions. However, output schema is undocumented, LLMs cannot predict response structure. Error handling returns text responses but lacks actionable recovery guidance. No tool annotations (readOnlyHint, destructiveHint, idempotentHint). Parameter descriptions are functional but lack format constraints, ranges, or dependency hints. Tool calls external APIs (Gemini, Perplexity, Stack Overflow) but no timeout, rate-limit, or partial-failure handling documented.
Get a second opinion on a coding problem using Google's Gemini AI, enhanced with Perplexity insights and Stack Overflow references
Output schema undocumented. Tool returns text response but LLMs cannot predict structure (markdown file path appended conditionally). Document return type: {type: 'text', text: string} with optional markdownPath field.
Error handling lacks recovery guidance. Axios errors return raw API messages ('Gemini API error: ...') without actionable next steps. Should guide LLM: 'API rate limit exceeded. Retry in 60s or simplify the code context.'
No tool annotations. Tool is read-only (does not modify state) but lacks readOnlyHint annotation. Agents cannot distinguish safe-to-retry calls from destructive ones.
Parameter descriptions lack format constraints. 'filePath' accepts any string but should specify: 'Relative or absolute path to source file (e.g., src/main.ts). Must exist and be readable.' 'code' and 'solutionsTried' have no length limits documented.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 68 | 2026-07-28+ | v2 |
External API dependencies (Gemini, Perplexity, Stack Overflow) have no timeout, retry, or partial-failure handling documented. If Perplexity fails, entire response fails instead of returning partial results (Gemini + Stack Overflow only).