Best MCP Servers for Gemini CLI in 2026
Firecrawl, Bright Data, and Crawlora compared as Gemini CLI MCP servers: config, the httpUrl/url gotcha, and which fits which job (Zyte isn't here yet).
Gemini CLI's MCP onboarding is genuinely lower-friction than most clients in this series: a gemini mcp add command writes your settings.json for you, no hand-editing required. Firecrawl published its own Gemini CLI buyer's guide on August 17, 2026; this one runs the same comparison with Crawlora in it, sourced from each vendor's own docs and Gemini CLI's own documentation, not paraphrased from a listicle.
Gemini CLI's MCP config
Gemini CLI reads MCP server definitions from a JSON file at ~/.gemini/settings.json (user-level, applies everywhere) or .gemini/settings.json at your project root (project-scoped). The root key is mcpServers, the same shape Claude Desktop uses.
Gemini CLI supports two server shapes, and they take different fields:
- Command-based (local/stdio):
{ "command": "...", "args": [...], "env": {...}, "cwd": "...", "timeout": ..., "trust": ..., "includeTools": [...], "excludeTools": [...] }— runs a local process, typically vianpx. - URL-based (remote): either
url(an SSE endpoint) orhttpUrl(an HTTP-streaming endpoint) — pick the one your server actually speaks, they're not interchangeable — plus an optionalheadersobject for auth:
"headers": {
"Authorization": "Bearer your-api-token"
}
You don't have to hand-edit the file, either: gemini mcp add [options] <name> <commandOrUrl> [args...] writes the same JSON for you, with flags for -t/--transport (stdio/sse/http), -e/--env, -H/--header, --timeout, --trust, --include-tools, --exclude-tools. Manage servers afterward with gemini mcp list, gemini mcp remove <name>, and gemini mcp enable/disable <name>.
What to evaluate, in Gemini CLI specifically
- Transport field: Gemini CLI splits remote servers into url (SSE) and httpUrl (HTTP streaming). A server on the wrong field silently fails to connect, so check which transport each vendor speaks before copying a config from another client.
- CLI add versus hand-edit: gemini mcp add writes settings.json for you and takes -e for env and -H for headers. Prefer it for anything with a secret, so the key never goes through your editor's history.
- Tool filtering: includeTools and excludeTools are per-server settings. A server with 1,398 tools is fine if you scope it to the dozen your project uses; a server with 60 that all need a browser is not automatically lighter.
- Generic crawl (any URL → markdown) versus structured platform data (named sites → JSON). Gemini CLI agents do both in one session; plan for two servers, not one.
- Billing on failure: a blocked fetch inside a Gemini CLI loop retries. Whether each attempt is billed changes the cost of a long session.
The contenders
| Tool | Format | Coverage | Config | Best for |
|---|---|---|---|---|
| Firecrawl MCP | Local MCP server | Scrape/crawl/search/extract any URL | command-based, npx -y firecrawl-mcp, FIRECRAWL_API_KEY in env | Generic crawl-to-markdown for arbitrary sites |
| Bright Data | Local MCP server (60+ tools) | 40+ named platforms + proxy/anti-bot infra | command-based, npx -y @brightdata/mcp, API_TOKEN (+ PRO_MODE: "true" for the full tool set) in env | Anti-bot-hardened extraction at scale |
| Zyte | N/A | N/A | No official Gemini CLI integration | Not currently an option here |
| Crawlora | Remote MCP server | 1,398 tools across 155 platform groups | httpUrl-based, https://mcp.crawlora.net/mcp, Authorization: Bearer <key> under headers | Structured JSON from named platforms, pay-on-success, nothing to run locally |
Firecrawl MCP: the vendor that wrote the first Gemini CLI guide
Firecrawl's MCP server exposes scrape, crawl, map, search, extract and interact tools against any public URL. Firecrawl published its own Gemini CLI quickstart and buyer's guide on August 17, 2026, and its recommended config is the standard command-based shape: npx -y firecrawl-mcp with FIRECRAWL_API_KEY under env, confirmed with /mcp list. Or in one line:
gemini mcp add -e FIRECRAWL_API_KEY=$FIRECRAWL_API_KEY firecrawl npx -y firecrawl-mcp
Choose it when the session's web calls are "read this page or this repo's docs into context", which is most of them for a coding agent.
Bright Data: the same local-process shape, with Pro mode
Bright Data publishes its own Gemini CLI guide with the identical command-based config: npx -y @brightdata/mcp, API_TOKEN under env, and "PRO_MODE": "true" to unlock the full 60+-tool set (the default is the smaller free Rapid tier). Coverage spans named e-commerce, social, business and finance platforms plus proxy and browser infrastructure. Because everything runs through a local npx process, excludeTools is worth setting: the browser-automation tools are rarely what a Gemini CLI coding session needs. Choose it when anti-bot reliability on hard, named targets is the constraint.
Zyte: not currently available for Gemini CLI
Worth stating plainly rather than skipping: Zyte's two Claude-adjacent products (the Claude Code plugin and the GitHub-Copilot-specific Web Scraping Copilot VS Code extension) are each locked to one client, and neither connects to Gemini CLI. If your stack is Gemini-first, Zyte is not in the running here.
Crawlora: httpUrl, not url, and nothing to run
Crawlora's MCP server connects to Gemini CLI as an httpUrl-based remote server, not url. Crawlora's hosted endpoint speaks Streamable HTTP, and Gemini CLI reserves url for SSE, so a config copied from a client that uses a single url field will not connect here. The CLI shortcut sets the right transport for you:
gemini mcp add --transport http crawlora https://mcp.crawlora.net/mcp \
--header "Authorization: Bearer $CRAWLORA_API_KEY"
No npx process to install or keep running, on your machine or a remote one. 1,398 tools map one-to-one onto documented REST endpoints across search, maps, e-commerce, social, finance, travel, jobs, media, app stores and reviews; use includeTools to scope a project to the handful it needs. Responses are normalized JSON, billed only on success, with 2,000 free credits a month and no card. Choose it when the agent needs a record from a named platform (a price, a ranking, a listing, a filing) rather than a page to read.
How to choose, by job
- "Read this page / these docs into context" → Firecrawl MCP.
- "Get me the data off this hard, named site, at volume" → Bright Data, with
excludeToolstrimming the browser tools. - "Give me the price / ranking / listing / filing from a known platform, as JSON, with nothing installed" → Crawlora MCP, on
httpUrl. - "I want Zyte's Scrapy-generation workflow" → Claude Code or GitHub Copilot for now, not Gemini CLI.
- Config copied from another client won't connect → check
urlversushttpUrlfirst; it is the most common Gemini CLI MCP mistake.
Add structured web data to Gemini CLI
1,398 tools across 155 platform groups, one API key, billed only on success. 2,000 free credits a month, no card.
Sources
Related reading
- Best MCP Servers for Warp in 2026: another CLI-first client, same three vendors.
- Best MCP Servers for JetBrains IDEs in 2026: the header-auth-bridge gotcha for a different client.
- Best MCP Servers for GitHub Copilot in 2026.
- Best MCP Servers for Windsurf in 2026.
- Best Web Scraping MCP Servers & Skills for Claude Code in 2026.
- Crawlora vs Firecrawl · Crawlora vs Bright Data.
- Give your AI agent live web data with MCP.
Häufig gestellte Fragen
What's the best MCP server for web scraping with Gemini CLI?
It depends on the job. Firecrawl MCP fits crawling or reading arbitrary websites. Bright Data is built for anti-bot-hardened extraction across 40+ named platforms and publishes its own Gemini CLI setup guide. Crawlora fits when you want structured JSON from named platforms without maintaining a parser or running a local process, billed only on success. Zyte does not currently offer a Gemini CLI integration.
Where does Gemini CLI read its MCP server config from?
A JSON file at ~/.gemini/settings.json (user-level, global) or .gemini/settings.json (project-scoped), root key mcpServers — the same shape as Claude Desktop. You can also skip hand-editing it with gemini mcp add <name> <commandOrUrl>, plus gemini mcp list/remove/enable/disable to manage servers afterward.
What's the difference between url and httpUrl in a Gemini CLI MCP config?
They're two distinct fields for two distinct remote transports, not interchangeable: url is for an SSE endpoint, httpUrl is for an HTTP-streaming endpoint. Crawlora's hosted MCP server runs Streamable HTTP, so its config goes under httpUrl, not url — pointing the wrong field at a Streamable HTTP endpoint won't connect.
Does Zyte work with Gemini CLI?
Not officially. Zyte's Claude Code plugin and its GitHub-Copilot-specific Web Scraping Copilot extension are each locked to one client, and neither connects to Gemini CLI.
How do I install Crawlora's MCP server for Gemini CLI?
Run gemini mcp add --transport http crawlora https://mcp.crawlora.net/mcp --header "Authorization: Bearer $CRAWLORA_API_KEY", or add an httpUrl-based entry by hand pointing at the same URL with the API key under headers.Authorization (Bearer <key>). No local process to install or run. Free tier is 2,000 credits/month, no card.
