A Model Context Protocol server that integrates Google Gemini with MCP tools, enabling multi-server tool orchestration and chat functionality
Six tools with basic schemas and descriptions, but significant gaps in parameter documentation and error handling. All tools have input schemas with type definitions and descriptions present, meeting minimum viability. However, descriptions are terse (10-50 chars), parameter descriptions lack detail on constraints/formats, and no output schemas are documented. Error handling is minimal, divide() checks for zero but others lack validation guidance. No tool annotations (readOnlyHint, destructiveHint, idempotentHint). Naming is clear and verb-based (add, subtract, multiply, divide, get_alerts, get_forecast), following conventions. Composition is sound, each tool does one thing. However, the weather tools lack pagination despite potentially returning multiple alerts, and no guidance on retryability or error recovery.
Add two numbers
Divide first number by second number
Get weather alerts for a US state.
Get weather forecast for a specific latitude and longitude.
Multiply two numbers
Subtract second number from first number
Tool descriptions are too brief (10-50 chars). Rubric baseline is 194 chars. Descriptions lack WHEN to use, prerequisites, and return value guidance. LLMs cannot reliably select tools without richer context.
No output schemas documented. LLMs cannot plan downstream calls or extract structured data. Rubric requires 100% of A+ tools to have documented return types.
Weather tools (get_alerts, get_forecast) return free-text strings instead of structured JSON. Rubric pattern:response-shaper requires structured objects with typed fields. Parsing unstructured text wastes tokens and increases hallucination risk.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 51 | <=2025-11-25 | v2 |
No pagination support in get_alerts despite potentially returning many alerts. Rubric pattern:paginated-result requires limit/offset and total count for list-returning tools. Large results blow context window.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). All tools are READ_ONLY but this is not declared in schema. Agents cannot distinguish safe-to-retry operations from destructive ones.