MCP server for Gemini Web API reverse engineering supporting text conversation, Deep Research, media generation, and file analysis
Server has 6 tools with mixed quality. Tool names follow verb_noun pattern (gemini_get_*, gemini_reset, gemini_doctor), which is good. However, descriptions are inconsistent: some are very brief (e.g., 'Reset client' = 11 chars, below 20-char threshold), and several lack actionable context for LLM selection. Input schemas are present for all tools with proper type definitions and enums, but descriptions for parameters are minimal or missing context. Output schemas are not documented. Error handling is present via domain_error_boundary but recovery guidance is limited. Tool annotations (READ_ONLY_LOCAL, MUTATES_LOCAL) are correctly applied, which is a positive signal for current spec alignment.
运行安全预检,不输出 Cookie 原值。
从浏览器获取 Cookie
获取 Cookie 状态
返回面向 agent 的 Gemini MCP 工具清单。 默认 core/prompts 配置也会暴露这个只读入口;manage/all 配置由 manage 工具组注册。
列出本地浏览器 Cookie profile 诊断信息,不返回 Cookie 值。
重置客户端
gemini_reset description is 11 characters ('重置客户端'), below 20-char minimum. Lacks context for when/why LLM should call it. Does not explain what state is reset or consequences.
gemini_get_cookie_status has no input parameters but description (35 chars) is minimal. Does not explain what 'status' means, when to call it vs. gemini_list_browser_cookie_profiles, or what fields the response contains.
Output schemas are not documented for any tool. LLMs cannot plan downstream calls or extract required fields. E.g., gemini_get_tool_manifest returns list[TextContent] but the structure of TextContent and its fields are not visible in the tool definition.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 58 | <=2025-11-25 | v2 |
Parameter descriptions are sparse or missing context. E.g., 'browser' param in gemini_doctor has description 'Browser type' but does not explain valid values, default behavior, or why browser choice matters. Enums are present but descriptions lack actionable guidance.
Error handling returns domain_text() responses but does not categorize errors as retryable, user-fixable, or fatal. LLM cannot determine next action (retry, ask user, abort) without explicit classification.