Model Context Protocol server for Google Gemini via Vertex AI. Supports both STDIO and SSE transport for deployment flexibility.
Server has 5 tools with basic descriptions and some parameter documentation, but significant gaps in schema completeness, parameter descriptions, and error handling. Tool names follow verb_noun convention (chat_with_gemini, get_model_info, get_health_status), which is good. However, parameter descriptions are sparse or missing entirely. The chat_with_gemini tool lacks output schema documentation. No error handling guidance is present, tools will fail silently or return generic exceptions. Descriptions are present but brief (avg ~60 chars), below the 194-char baseline for A+ tools. No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite all being read-only operations.
Chat with Google Gemini model through Vertex AI
Create a chat prompt for Gemini
Get server health status
Get current model configuration as a resource
Get information about the current Gemini model
Output schemas not documented for any tool. LLMs cannot plan downstream calls or extract required fields. get_model_info, get_model_config, and get_health_status return dicts/strings with no schema specification.
Parameter descriptions missing or incomplete. 'messages' in chat_with_gemini lacks format details (OpenAI format is vague). 'model' parameter has no guidance on valid values or fallback behavior. 'stream' parameter lacks explanation of streaming behavior or return format.
No error handling or recovery guidance. chat_with_gemini catches exceptions and logs them but returns raw exception text to LLM. No guidance on retryability, user-fixable errors, or next steps. Violates error-classification pattern.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 44 | <=2025-11-25 | v2 |
Tool descriptions too brief (avg 40 chars vs 194-char baseline). 'Get information about the current Gemini model' and 'Get server health status' lack context on WHEN to call them or what distinguishes them from similar tools.
No tool annotations despite all tools being read-only. Missing readOnlyHint annotations prevent LLMs from optimizing caching and retry strategies. Agents cannot distinguish safe-to-retry operations from stateful ones.