MCP server that wraps Gemini CLI for use with Claude Code and other MCP clients
Two tools with basic schemas and descriptions, but significant gaps in parameter documentation and output schema clarity. Tool names lack action verbs (gemini, gemini_with_agent_md are vague). Descriptions are present but generic (194 chars baseline; these are ~100-150 chars). Parameters have types (Zod) but lack detailed constraints, ranges, or format guidance. No documented output schema structure. Error handling returns plain text errors without recovery guidance. No tool annotations (readOnlyHint, idempotentHint). Composition is reasonable (two distinct concerns), but parameter naming could be clearer (allowed_tools as comma-separated string is fragile).
Send a prompt to Gemini CLI. Optionally specify model and allowed tools.
Send a prompt to Gemini CLI with an agent.md file as context. Strips Claude-specific formatting and infers model from frontmatter.
Tool names lack action verbs. 'gemini' and 'gemini_with_agent_md' do not clearly convey what action occurs. Should be 'send_to_gemini' or 'query_gemini' to match LLM expectations.
No output schema documented. Tools return {content: [{type: 'text', text: string}], isError?: boolean} but this structure is not formally specified. LLMs cannot plan downstream calls without knowing return fields.
Parameter 'allowed_tools' is comma-separated string with no validation. Should be array of enums or include format constraints in description. Current approach invites malformed input.
Error handling returns plain text error messages without recovery guidance. Should categorize errors (retryable, user-fixable, fatal) and suggest next steps per pattern:recovery-guide.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 46 | 2026-07-28+ | v2 |
No tool annotations (readOnlyHint, idempotentHint, destructiveHint). Both tools are read-only (no state modification) but this is not declared, forcing LLMs to infer safety.