Install
openclaw skills install @luckycat133/gemini-web-mcpOperate Gemini Web MCP safely.
openclaw skills install @luckycat133/gemini-web-mcpUse this skill only to operate the installed primary or low-token MCP server. For source changes, tests, CI, packaging, compatibility probes, or releases, stop and use the separate gemini-web-mcp-development skill.
uvx --from git+https://github.com/Luckycat133/gemini-web-mcp@main gemini-mcp-onboarding; this calls a real auth-free text tool and strips Gemini Cookie variables from its child process.gemini_get_tool_manifest before choosing primary-server tools. It is always exposed by src.server, including the narrow model profile.current_enabled, groups, and workflows; do not hard-code tool counts because the static manifest can include groups not loaded in the current process.account(action="manifest") and account(action="capabilities") before account calls that initialize Gemini.gemini_doctor, manifest/capabilities, gemini_probe_web_features, metadata-only history search, profile diagnostics, and inventory/list tools.privacy=reads_private_chat_text and other private text tools as explicit-user-intent tools: gemini_read_chat, gemini_export_chat, gemini_search_chats(scan_turns=true), and research-report create actions that read chat text.gemini_delete_chat, gemini_cleanup_test_artifacts(dry_run=false), gemini_delete_scheduled_action, gemini_reset_session, gemini_manage_gems(action="delete"), and prompt deletion.gemini_reset_session changes only MCP/Gemini conversation state; it never changes agent memory or agent instructions.Need the full tool/group/privacy/destructive map? See references/tool_surface.md. Load it on demand — the live
gemini_get_tool_manifestremains the source of truth.
src.server
GEMINI_TOOLS=model or chat when an agent only needs to call Gemini models.GEMINI_TOOLS=history when an agent only needs gemini_history for list/scan/search/read/export chat history.GEMINI_TOOLS=history-organize when an agent needs gemini_history, gemini_notebooks, and explicit chat-to-Notebook moves.GEMINI_TOOLS=account-read when an agent only needs gemini_account_inventory for read-only Web surface inventory.GEMINI_TOOLS=scheduled-admin only for explicitly authorized scheduled-action create/delete workflows.GEMINI_TOOLS=core remains the broad content workflow: chat, media, files, and research.GEMINI_TOOLS=all is the full maintenance/verification surface, not a good default for general agents.GEMINI_TOOLS=prompts adds local prompt management plus always-on manifest/cookie helpers.src.skill_server
account(action="manifest") for compact tool guidance.account(action="capabilities") for the static Web capability map without cookies.account(action="features|links|usage|library|notebooks|scheduled|modes") for compact account-surface inventory.history(action="list|search|read|export|delete") for chat history.cleanup(dry_run=true) as a bounded fallback before deleting test chats or scheduled actions by marker.scheduled(action="list|get|create|delete") for compact scheduled-action workflows.create(type="music", model="pro") or primary gemini_generate_music for Lyria 3 Pro music requests.doctor(validate_browser=false) for low-cost local preflight before live account workflows.cookie(action="profiles") before cookie(action="get", profile="...") when Chrome has multiple signed-in profiles.cookie(action="get") and primary gemini_get_cookie_from_browser can materialize sensitive account-authentication material in a local cache. Obtain explicit user approval, restrict file access, never log/back up/share the cache, and remove it when it is no longer needed.gemini_chat_stream and gemini_send_message_stream as compatibility names for Gemini upstream streaming. The current MCP tools normalize and collect all chunks, then return one result; they do not provide MCP incremental delivery._meta.domain_result.data.stream: delivery="collected", while chunk_semantics reports delta, cumulative, mixed, or empty. Do not concatenate the returned text again.gemini_deep_research, read _meta.domain_result.meta.operation_state and data.state; distinguish queued, running, completed, and timed_out rather than inferring completion from prose.wait_for_completion=false when the user wants plan/start only. Prefer retain_chat=true for later retrieval, and preserve upstream_chat_id / upstream_operation_id whenever continuation_possible=true.timed_out result means this MCP wait ended, not necessarily that Gemini stopped the upstream research. Only claim a report exists when report_available=true or a later report-read call verifies it.gemini_history(action="scan", limit=..., offset=..., response_format="json")gemini_history(action="list", limit=..., offset=..., response_format="json")gemini_history(action="search", query=..., scan_turns=false, response_format="json")gemini_history(action="search", query=..., scan_turns=true, turns_per_chat=..., max_chars_per_turn=...)gemini_history(action="read", chat_id=...)gemini_history(action="export", chat_id=..., response_format="markdown"|"json")gemini_notebooks(action="list", ...)gemini_move_chat_to_notebook(chat_id=..., notebook_id=...)gemini_notebooks(action="chats", notebook_id=...)gemini_delete_chat(chat_id=...)_meta.domain_result.data.deleted=true and
verification.status=verified_absent; this requires a complete fresh history-metadata read-back.
not_available means accepted but unverified, and read_chat(None) alone is never absence proof.scan_turns=true only with explicit permission to read turn text.gemini_get_web_capabilities is the static observed Pro Web surface map.gemini_probe_web_features checks observed read-only RPC reachability and must not expose raw private RPC bodies.gemini_account_inventory(surface=...) or the manifest web_surface_inventory workflow for read-only account inventory: public links, usage limits, native notebooks, library capabilities, scheduled actions, and tool mode status.gemini_list_library_capabilities as localized template/capability discovery, not private Library asset export.gemini_get_tool_mode_status as a read-only Canvas/Guided Learning mode-status probe; Canvas document mutation remains disabled.learning_mode; prefer this over UI assumptions.requested_model, request_model, effective_backend, and observed_backend separate. An expected/effective label is not live backend evidence.image/*, dimensions are positive, and structured verification is verified; response prose or a remote URI alone is insufficient.gemini_generate_music can recover media from raw chat payloads even when response.media is empty; inspect returned file paths and duration metadata before summarizing success.gemini_create_scheduled_action, gemini_list_scheduled_actions, gemini_get_scheduled_action, and gemini_delete_scheduled_action.gemini_list_browser_cookie_profiles, then gemini_get_cookie_from_browser(profile="...") for the profile with Gemini cookies or scheduled registry entries.BROWSER_COOKIE_ACCESS_TIMEOUT as a local browser-credential authorization timeout, not an invalid-account result. This workflow does not read arbitrary credential files. Adjust GEMINI_BROWSER_COOKIE_TIMEOUT_SECONDS only when the user controls that host; never request or print Cookie values.verification_status; after create also check readable_by_id_after_create, and after delete check deleted_by_id_after_delete or task_state_after_delete=deleted before claiming the task is gone.gemini-mcp-onboarding chat --allow-live-account --prompt ...; for an image deliverable, use the image subcommand with the image extra and a dedicated output directory.evaluations/gemini_web_mcp_contract.xml only as a repository contract reference; changing it or any implementation file is development work and belongs to gemini-web-mcp-development.