A Model Context Protocol server that uses Gemini API models and features to help build AI Agents. Provides access to Google Gemini models and Google Search capabilities.
Two tools with reasonable structure but meaningful gaps. web_search has a clear action verb and multi-parameter input schema; use_gemini is straightforward. Descriptions are present and moderately detailed (177 and 217 chars respectively), but lack explicit guidance on WHEN to use each tool vs alternatives, dependencies, or recovery paths. Input schemas are well-formed with types and reasonable descriptions. However, output schemas are not documented, tools return Union types but no explicit structured output spec is visible. Error handling is absent, no guidance on retryability, fallback behavior, or what to do if Gemini API fails or web search returns no results. Parameter descriptions could specify constraints more formally (e.g., query length limits, model availability windows). The server is HTTP/Streamable HTTP (good) but lacks tool annotations (readOnlyHint, idempotentHint) that would clarify intent.
Use this tool to delegate a task to a specified Gemini model (Pro or Flash). This tool can be used for a wide range of tasks, including complex reasoning, content generation, summarization, and planning. It acts as a powerful assistant for requests that require advanced AI capabilities.
Use this tool to perform a Google web search on a given prompt to access the real-time and up-to-date information. It synthesizes findings from multiple, automatically generated Google searches into a coherent, verifiable summary.
Output schemas are not documented. Tools return Union[WebSearchToolOutput, TextToolOutput] and TextToolOutput, but the structure of these types is not visible in the provided code. LLMs cannot plan downstream tool calls or extract structured data without knowing what fields to expect.
No error handling guidance. Tools do not document what happens on API failures (Gemini quota exceeded, web search returns zero results, authentication fails). LLMs lack recovery instructions and may retry blindly or give up.
Missing tool annotations. Neither tool declares readOnlyHint (web_search and use_gemini are both safe, side-effect-free reads) or idempotentHint (both are idempotent). These annotations help agents optimize retry logic and understand safety guarantees.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | C | 63 | 2026-07-28+ | v2 |
| 2026-03-09 | C | 61 | - | v1 |
Descriptions lack WHEN-to-use guidance. web_search describes what it does but does not say 'Use this for time-sensitive queries, news, current events, or recent changes.' use_gemini does not distinguish from web_search (both can answer questions; one uses live search, one uses model knowledge cutoff). This forces LLMs to guess which tool is better.
Parameter constraints are not formally specified. 'query' in web_search lacks length limits, character restrictions, or complexity hints. 'prompt' in use_gemini is unbounded. Enums are good (model parameter correctly uses Literal with two options), but other string params lack min/max length or pattern documentation.
No pagination or result-limiting guidance. web_search returns potentially large citation lists; use_gemini returns potentially long text. Tools do not document max result size, token budgets, or when to expect truncation. This risks context window exhaustion.