gemini-mcp-bridge
Allows interaction with Google's Gemini AI via the Gemini CLI, providing tools for agentic prompting with file context, web search, structured JSON output (with JSON Schema validation), and more.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@gemini-mcp-bridgeexplain the authentication flow in this project"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
gemini-mcp-bridge
Deprecated and unmaintained
Google is retiring Gemini CLI on June 18, 2026 in favor of Antigravity CLI. After that date, Gemini CLI stops serving requests for Google AI Pro, Ultra, and free tier accounts (Gemini Code Assist for individuals). Enterprise customers on paid Gemini Code Assist Standard/Enterprise licenses retain access.
Because this bridge wraps Gemini CLI as a subprocess, it stops working for individual users on the same date. This repository is archived and the npm package is deprecated. No further releases are planned.
Migration options:
Antigravity CLI is Google's successor, written in Go, with Agent Skills, Hooks, Subagents, and plugins. Note: it is not open source.
For other terminal agents, see the sibling bridges: claude-mcp-bridge, codex-mcp-bridge.
Existing installs continue to function until June 18, 2026. The historical README follows.
MCP server that wraps Gemini CLI as a subprocess, exposing its capabilities as Model Context Protocol tools.
Works with any MCP client: Claude Code, Codex CLI, Cursor, Windsurf, VS Code, or any tool that speaks MCP.
Related MCP server: Vertex AI MCP Server
Do you need this?
If you're in a terminal agent (Claude Code, Codex CLI) with shell access, call Gemini CLI directly:
# File context query
gemini -p "Explain how this auth flow works" -- @src/auth.ts @src/session.ts
# Quick question
gemini -p "Is this approach sound for handling retries?"
# Web search
gemini -p --yolo "What's the latest stable Node.js LTS?"Tips: --yolo is needed for agentic file access in headless mode (without it, tool calls block). Use -m gemini-2.5-pro to skip the CLI's internal model routing (~1-2s). Cold start is ~16s per invocation. For code review, see Code review with this CLI below.
Use this MCP bridge instead when:
Your client has no shell access (Cursor, Windsurf, Claude Desktop, VS Code)
You need structured output with JSON Schema validation (Gemini CLI has no custom schema support)
You need concurrency management (max 3 parallel spawns, FIFO queue, optional pacing/jitter between CLI starts)
You need partial response capture on timeout (NDJSON streaming) and automatic model fallback on quota errors
You need response length controls (
maxResponseLengthparameter)You need oversized query/search responses paginated safely instead of getting truncated by MCP client limits (
structuredis intentionally not chunked, preserves machine-consumable JSON)You want subprocess isolation: env allowlist, path sandboxing, no shell escape
Quick Start
npx gemini-mcp-bridgePrerequisites
Gemini CLI installed (
npm i -g @google/gemini-cli)Authenticated (
gemini auth login)
Claude Code
claude mcp add gemini -s user -- npx -y gemini-mcp-bridgeCodex CLI
Add to ~/.codex/config.json:
{
"mcpServers": {
"gemini": {
"command": "npx",
"args": ["-y", "gemini-mcp-bridge"]
}
}
}Cursor / Windsurf / VS Code
Add to your MCP settings:
{
"gemini": {
"command": "npx",
"args": ["-y", "gemini-mcp-bridge"]
}
}Tools
Tool | Description |
query | Agentic prompt with optional file context. Gemini runs inside your repo with read/grep/glob tools. Supports text and images. |
search | Google Search grounded query. Gemini searches the web and synthesizes an answer with source URLs. |
structured | JSON Schema validated output via Ajv. Data extraction, classification, or any task needing machine-parseable output. |
ping | Health check. Verifies CLI is installed and authenticated, reports versions and capabilities. |
fetch-chunk | Retrieve later segments from a chunked |
query
Send a prompt with optional file paths as hints. Gemini reads the files itself and can explore surrounding code for context. Text queries run under --approval-mode plan (read-only agentic). Image queries use --yolo for native pixel access.
Key parameters: prompt (required), files (text or images), model, workingDirectory, timeout (default 120s, max 1800s), changeMode (see below).
Change mode: set changeMode: true to ask Gemini to emit structured **FILE: <path>:<start>-<end>** / ===OLD=== / ===NEW=== edit blocks instead of prose. The raw response stays in response (chunked normally); parsed edits are returned on _meta.edits as a machine-applicable array and are never chunked. A pre/post-spawn git snapshot detects any file writes Gemini might attempt, if writes are found, _meta.appliedWrites is set to true and edits is omitted so callers can't re-apply half-applied state. Text-only for v1; requires a git workingDirectory. Plan mode refuses to emit edit blocks (verified on CLI 0.38.0), so change mode runs in default agentic mode with the snapshot guardrail as the safety net.
search
Google Search grounded query. Spawns Gemini CLI in agentic mode with google_web_search, then synthesizes an answer with source URLs.
Key parameters: query (required), model, workingDirectory, timeout.
Large query and search responses are automatically chunked when they exceed the bridge threshold. The first chunk includes a cacheKey and chunk count in _meta and the response footer. Use fetch-chunk with that cacheKey and a 1-based chunkIndex to retrieve later segments within the 10-minute in-memory cache window. structured responses are intentionally not chunked (preserves machine-consumable JSON output).
structured
Generate JSON conforming to a provided schema. Schema is embedded in the prompt, response validated with Ajv. Returns isError: true with validation details on failure.
Key parameters: prompt (required), schema (required, JSON string), files, model, workingDirectory, timeout.
ping
No parameters. Returns CLI version, auth status, and server info.
All tools attach execution metadata (_meta) with durationMs, model, and partial (timeout indicator). See DESIGN.md for details.
Code review with this CLI
The review and assess tools were removed in v0.7.0 (see ADR-001). The gemini ecosystem already ships several review surfaces, listed here in priority order:
Official
gemini-cli-extensions/code-reviewextension (repo). Adds/code-reviewand/pr-code-reviewslash commands to the CLI.Skills (
/skills,.gemini/skills/code-reviewer/SKILL.md). Project- or user-scoped review prompts, invokable as slash commands.Subagents (
.gemini/agents/,~/.gemini/agents/). Specialized reviewer personas the CLI can delegate to.Gemini Code Assist GitHub app. Inline review on pull requests.
Direct
gemini -pwith hardened isolation flags. Pipe the diff via stdin (using$(git diff ...)as positional args expands the diff into shell tokens):git diff origin/main...HEAD | gemini --approval-mode plan \ -e "" \ --allowed-mcp-server-names "" \ -p "Review the diff on stdin for bugs, missing tests, and unhandled errors"--approval-mode planis read-only agentic.-e ""disables loaded extensions for this run.--allowed-mcp-server-names ""blocks bundled MCP servers. Default text output is preferred over--output-format jsonfor human-readable review notes.Third-party MCP servers if you specifically need an MCP-shaped review tool (e.g.
nicobailon/gemini-code-review-mcp).
Configuration
Variable | Default | Description |
| (CLI default) | Default model for all tools |
|
| Fallback on quota/rate-limit errors ( |
|
| Path to CLI binary |
|
| Max concurrent subprocess spawns |
|
| Minimum gap between Gemini CLI start times |
|
| Random extra delay before spawn to avoid deterministic timing |
Prompt templates for the search, structured, and query change-mode tools live in prompts/. Editable when running from a local clone; bundled when running via npx.
Choosing a Gemini MCP server
You need... | Consider |
Schema-validated structured output, concurrency management, response chunking | This bridge |
Shell command generation, Google Workspace integration | |
Lightweight large-context codebase analysis | |
No CLI dependency (API-only, broadest feature set) | |
Simple API wrapper with broad client support |
Performance
Each invocation spawns a fresh CLI process with ~15-20s cold start (large dependency tree, sync auth checks). No daemon mode yet (tracking; PR in progress).
Scenario | Typical time |
Minimal query | 17-25s |
File-context query (small repo) | 30-60s |
Web search + synthesis | 35-60s |
Structured output (small schema) | 25-45s |
Setting GEMINI_DEFAULT_MODEL avoids the CLI's internal model routing step (~1-2s savings per call).
Bridge family
Three MCP servers, same architecture, different underlying CLIs. Each wraps a terminal agent as a subprocess and exposes it as MCP tools. Pick the one that matches your model provider, or run multiple for cross-model workflows.
CLI | Gemini CLI | Claude Code | Codex CLI |
Provider | Anthropic | OpenAI | |
Tools | query, structured, search, fetch-chunk, ping | query, structured, search, ping, listSessions | codex, query, structured, search, ping, listSessions |
Code review | Use the gemini ecosystem: code-review extension, skills, subagents, Code Assist, or | Use Claude Code built-ins ( | Use |
Structured output | Ajv validation | Native | Ajv validation |
Session resume | Not supported | Native | Session IDs with multi-turn |
Budget caps | Not supported | Native | Not supported |
Effort control | Not supported |
|
|
Cold start | ~16s | ~1-2s | <100ms (inference dominates) |
Auth |
|
|
|
Cost | Free tier available | Subscription (included) or API credits | Pay-per-token |
Concurrency | 3 (configurable) | 3 (configurable) | 3 (configurable) |
Model fallback | Auto-retry with fallback model | Auto-retry with fallback model | Auto-retry with fallback model |
All three share: subprocess env isolation, path sandboxing, FIFO concurrency queue, MCP tool annotations, _meta response metadata, progress heartbeats. The codex and claude bridges also perform output redaction (secret stripping).
Development
npm install
npm run build # Compile TypeScript
npm run dev # Watch mode
npm test # Run tests
npm run lint # ESLint
npm run typecheck # tsc --noEmitFurther reading
DESIGN.md - Architecture, output streaming, concurrency, response metadata, prompt templates
SECURITY.md - Environment isolation, path sandboxing, agentic mode caveats, resource limits
CHANGELOG.md - Release history
License
MIT
Available Tools
5 toolsfetch-chunkARead-onlyIdempotent
Retrieve a cached chunk from a previously chunked response. Large query and search responses may return only the first chunk plus a cacheKey. Use this tool with that cacheKey and a 1-based chunkIndex to fetch the remaining segments before the 10-minute in-memory cache expires.
| Name | Required | Description | Default |
|---|---|---|---|
| cacheKey | Yes | Cache key returned in the initial chunked response. | |
| chunkIndex | Yes | 1-based chunk index to retrieve. Use 2 for the next segment after the initial response. | |
| workingDirectory | No | Unused for now. Accepted for tool contract consistency with the other bridge tools. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, non-destructive. The description adds valuable context: the 10-minute in-memory cache expiry, which is a critical behavioral constraint. It also clarifies that large responses may return only the first chunk plus a cacheKey, explaining the tool's place in the interaction flow. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences that front-load the core purpose, then provide context and usage. Every word earns its place; no fluff or redundancy. Perfectly sized for the task.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity, the description fully covers what an agent needs: what it does, when to use it (with a cacheKey), how to use it (1-based chunkIndex), and the expiry constraint. No output schema exists, but the return value is implied to be the next chunk, which is acceptable for this tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds minimal extra meaning: it explains that cacheKey comes from the initial chunked response and that chunkIndex is 1-based with 2 as the next segment, which slightly reinforces the schema. However, it does not substantially go beyond the schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with a specific verb ('Retrieve') and resource ('a cached chunk from a previously chunked response'). It distinguishes itself from sibling tools (ping, query, search, structured) by being the follow-up mechanism for fetching remaining chunks, which is explicit and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit usage context: use when a large query/search response returns a cacheKey and you need subsequent segments before the 10-minute expiry. It could be stronger by explicitly stating not to use without a cacheKey, but the scenario is clear and self-contained.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
pingARead-onlyIdempotent
Health check. Verifies gemini CLI is installed and authenticated, reports CLI version, auth status, configured models, and server version. Fast (~1s, no model call).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the tool as read-only, idempotent, and non-destructive. The description adds valuable behavioral context: it is fast (~1s) and makes no model call. No contradictions with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is highly concise, starting with 'Health check.' and providing key details in two sentences. Every sentence adds value without fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (no parameters, no output schema), the description is complete: it states the purpose, what it verifies, what it reports (CLI version, auth status, models, server version), and performance characteristics. Nothing missing for an agent to use it effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the schema is empty. The description does not need to explain parameters; the baseline for zero-parameter tools is 4, and no additional information is necessary.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as a health check that verifies CLI installation and authentication, and reports version/status details. This distinguishes it from sibling tools like query and search, which are data-retrieval operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is for health verification (e.g., before other operations) but does not explicitly state when to use it versus alternatives, nor does it mention exclusions or prerequisites. Context is clear but usage guidance is implied rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
queryA
Agentic query: Gemini runs inside your workingDirectory with read_file, grep, list_directory, and glob tools. Pass file paths as hints (not content) — Gemini reads them itself and can explore surrounding code for context.
Capabilities:
Code analysis with full repo exploration (Gemini follows imports, reads tests, checks related files)
Image understanding: screenshots, diagrams, architecture charts (png/jpg/gif/webp/bmp)
General knowledge questions and technical research
Text transformation, summarization, and generation
Change mode: structured edit blocks parsed into a machine-applicable
editsarray (see 'changeMode' below)
File handling: Pass file paths in the 'files' array as hints. Text files are referenced via @{path} — Gemini reads them with its own tools. Image files use --yolo mode for native pixel access. Gemini may also read files beyond the ones you hint at.
Note: Gitignored files cannot be read in text-query mode (plan mode restriction). Image queries (--yolo) can read gitignored files.
Change mode: set 'changeMode: true' to ask Gemini to emit structured **FILE: <path>:<start>-<end>** / ===OLD=== / ===NEW=== blocks instead of prose. The response text stays in response; parsed edits are returned on _meta.edits and never chunked. The tool runs in default agentic mode (NOT plan mode, which refuses to emit edit blocks) with a pre/post-spawn git snapshot that detects any file writes Gemini might attempt. If writes are detected the tool returns _meta.appliedWrites: true and omits edits for safety. Text-only (image files rejected). Requires a git working directory.
Model tips: Use gemini-2.5-flash for speed, gemini-2.5-pro for depth and complex reasoning. If omitted, the CLI auto-selects via its routing model.
Each invocation spawns a fresh CLI process (~15-20s startup overhead). Plan timeouts accordingly.
| Name | Required | Description | Default |
|---|---|---|---|
| files | No | File paths relative to workingDirectory, passed as hints. Gemini reads them with its own tools — contents are NOT inlined. Image files (png, jpg, jpeg, gif, webp, bmp) trigger --yolo mode. Max 20 files, 1MB per text file, 5MB per image. | |
| model | No | Gemini model override. Options: gemini-2.5-flash (fast), gemini-2.5-pro (deep). Omit to let CLI auto-route. | |
| prompt | Yes | The prompt to send to Gemini | |
| timeout | No | Timeout in milliseconds (default: 120000, max: 1800000). Minimum useful: ~20s due to CLI startup. | |
| changeMode | No | When true, Gemini emits structured **FILE: path:start-end** / ===OLD=== / ===NEW=== edit blocks. Legacy OLD:/NEW: markers are still parsed for back-compat. Parsed edits are returned on _meta.edits (never chunked). A pre/post-spawn git snapshot enforces that Gemini did not write any files; if writes are detected, _meta.appliedWrites is true and edits are omitted. Text-only, requires a git workingDirectory. | |
| workingDirectory | No | Working directory for file resolution and project context. The CLI reads GEMINI.md/AGENTS.md from here automatically. | |
| maxResponseLength | No | Soft limit on response length in words (e.g. 500). Reduces oversized responses from Gemini's large context window. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond annotations (readOnlyHint=false, openWorldHint=true, etc.), the description richly discloses behaviors: fresh CLI spawn per invocation (~15–20s startup), file-hint semantics, read-beyond-hints, gitignore restrictions, pre/post-spawn git snapshot safety, structured edit parsing never chunked, and _meta.appliedWrites detection. No contradictions with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Although lengthy, the description is logically organized with sections for capabilities, file handling, change mode, model tips, and startup overhead. Each sentence contributes essential information, and key facts are front-loaded. No filler or redundant prose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex tool with 7 parameters and no output schema, the description covers operational behavior, constraints, prerequisites, and response metadata (e.g., _meta.edits, _meta.appliedWrites). It provides enough detail for an agent to use the tool correctly without requiring additional external knowledge.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, but the description adds meaningful context: files are hints not inlined, images trigger --yolo mode, model guidance (flash vs pro), timeout floor due to CLI startup, and changeMode's structured edit safety. This goes beyond the baseline schema descriptions and helps the agent set parameters effectively.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies this as an agentic query tool where Gemini runs with read_file, grep, list_directory, and glob tools in the workingDirectory. It lists specific capabilities (code analysis, image understanding, general knowledge, text transformation, change mode) that distinguish it from simpler or sibling tools, even without naming them explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit use cases and prerequisites: requires a git working directory, text-only in change mode, gitignored files unreadable in text-query mode, and model selection tips (flash for speed, pro for depth). While it doesn't explicitly compare to sibling tools like search or structured, it implies when this agentic tool is appropriate and notes limitations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
searchARead-onlyIdempotent
Google Search grounded research. Gemini searches the web using google_web_search and synthesizes a comprehensive answer with source URLs and citations.
Use for: current events, documentation lookups, API references, comparing technologies, verifying facts, finding recent releases or changelogs.
The query can be a natural language question or a search-style keyword string. Gemini may issue multiple searches to build a complete answer. Results include source URLs for verification.
Output is a synthesized summary (500-1500 words by default), not raw search results. Use maxResponseLength to adjust.
| Name | Required | Description | Default |
|---|---|---|---|
| model | No | Gemini model override. Omit to let CLI auto-route. | |
| query | Yes | Search query or research question. Natural language works best (e.g. 'What changed in Node.js 22?' or 'MCP protocol specification transport options'). | |
| timeout | No | Timeout in ms (default: 120000, max: 1800000). Complex multi-search queries may need more time. | |
| workingDirectory | No | Working directory for the CLI process. | |
| maxResponseLength | No | Soft limit on synthesis length in words. Default aims for 500-1500 words. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint. The description adds useful behavioral context beyond the annotations: Gemini may issue multiple searches, synthesizes a 500-1500 word summary, includes source URLs, and output is not raw search results. This meaningfully enriches the agent's understanding.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with a clear opening, a 'Use for' list, and behavioral notes. It is appropriately sized for the tool's complexity, though phrases like 'Google Search grounded research' and 'synthesizes a comprehensive answer' are slightly redundant, preventing a perfect score.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Since there is no output schema, the description effectively covers the return behavior: a synthesized summary of 500-1500 words with source URLs and citations. It also explains the multi-search behavior and the role of maxResponseLength, fully equipping an agent to use the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already describes all 5 parameters with 100% coverage, including the meaning of 'query' and 'maxResponseLength.' The description only adds that maxResponseLength adjusts the summary length, which is already in the schema. Thus it adds little beyond the structured data, warranting the baseline score of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific verb and resource: 'Gemini searches the web using google_web_search and synthesizes a comprehensive answer.' It also provides concrete use cases (current events, API references, verifying facts) that distinguish it from siblings like 'query' and 'structured.'
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description includes an explicit 'Use for' list that tells the agent when this tool is appropriate, such as current events, documentation lookups, and verifying facts. However, it does not explicitly state when not to use it or mention alternative sibling tools, so it falls short of a perfect 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
structuredARead-only
Agentic structured output: generate a JSON response conforming to a provided JSON Schema. Gemini runs inside workingDirectory with read_file and grep tools, so it can read files for context. Use for data extraction, classification, or any task needing machine-parseable output. The response is validated against the schema; isError is true if validation fails.
| Name | Required | Description | Default |
|---|---|---|---|
| files | No | Text file paths to reference as context (no images). Gemini reads them with its own tools — contents are NOT inlined. Max 20 files, 1MB each. | |
| model | No | Gemini model override. Omit to let CLI auto-route. | |
| prompt | Yes | What to generate or extract from the provided context | |
| schema | Yes | JSON Schema as a string. The response will be validated against this. Max 20KB. | |
| timeout | No | Timeout in ms (default: 120000, max: 1800000). | |
| workingDirectory | No | Working directory for file resolution. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (readOnlyHint true, destructiveHint false), the description discloses the agentic design: Gemini runs inside workingDirectory with read_file and grep tools, and the response is validated against the schema with isError set on failure. This adds significant behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three dense sentences, front-loaded with the core purpose. Each sentence contributes useful information without redundancy—purpose, agentic context, and validation behavior.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers purpose, usage, validation, and behavioral context, making it mostly self-contained. It does not describe return value structure, but with no output schema and strong annotations, this is an acceptable gap for a structured-output tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds context about agentic file reading and validation but does not elaborate on parameter formats beyond what the schema already states, so it adds only marginal semantic value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource: 'generate a JSON response conforming to a provided JSON Schema.' It clearly distinguishes from siblings by targeting structured output for data extraction/classification, leaving no ambiguity about what the tool does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly says 'Use for data extraction, classification, or any task needing machine-parseable output,' providing actionable usage guidance. It does not name alternative tools, but the use cases are clear enough to guide an agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
5 tool updates
v0.8.0- First observed
fetch-chunk - First observed
ping - First observed
query - First observed
search - First observed
structured
TDQS
Each tool has a clearly distinct purpose: ping for health, query for agentic code/Q&A, search for web-grounded answers, structured for schema-validated JSON, and fetch-chunk for retrieving large responses. Even query and structured, which both use file access, are differentiated by output format and validation.
Names are all lowercase and concise, but they mix verbs (ping, search, fetch-chunk), a noun (query), and an adjective (structured). There is no consistent verb_noun pattern, though the simple style remains readable and not chaotic.
Five tools is well-scoped for a Gemini bridge, covering health checking, general and code-aware querying, web search, structured output, and chunk retrieval. Each tool has a clear role and none feels redundant.
The tool set covers core Gemini workflows: health verification, agentic analysis, web research, structured extraction, and large-response handling. Minor gaps exist, such as explicit model management or conversation history, but they are not essential for the server's stated purpose.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
MCP server for progressive tool usage at any scale (see https://klavis.ai)
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
A Model Context Protocol server for Wix AI tools
MCP server for Clipkit — gives AI agents a video toolbox via the Clipkit schema.
Related MCP Servers
- AlicenseAqualityFmaintenanceModel Context Protocol (MCP) server implementation that enables Claude Desktop to interact with Google's Gemini AI models.632258MIT
- AlicenseAqualityCmaintenanceImplementation of Model Context Protocol (MCP) server that provides tools for accessing Google Cloud's Vertex AI Gemini models, supporting features like web search grounding and direct knowledge answering for coding assistance and general queries.203088MIT
- FlicenseNot gradedqualityDmaintenanceAn MCP server that wraps the Gemini CLI to provide tools for executing prompts, managing chat sessions, and accessing CLI extensions. It supports both local stdio and remote SSE transports for flexible integration with MCP clients.1-
- FlicenseAqualityDmaintenanceWraps the Gemini CLI as an MCP server, enabling AI tools to perform Gemini queries, interactive sessions, and extension management via a unified tool.11-
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/hampsterx/gemini-mcp-bridge'
If you have feedback or need assistance with the MCP directory API, please join our Discord server