searchLABSCO SUMMARY
Answers arrive with their sources attached, not as unattributed prose.
The groundings array is the whole point: each answer carries the pages behind it, so a claim can be opened and checked instead of trusted. Two knobs decide cost and latency — the thinking level, settable per call, and the token cap — and every HTTP setting can come from the environment, so no secret has to sit in config.yml.
What it is
A Go server that turns Gemini's grounded search into a single MCP tool. The response is not just text — it carries the source titles, domains and URLs the answer was built from, so a claim can be checked rather than taken on faith.
What you get
searchtakes a natural-languagequestionand returns generated text plus agroundingslist of title, domain and URLmax_tokencaps the response size for one call andthinking_leveloverrides the reasoning depth per call- Two transports: stdio for Claude Desktop and Claude Code, and Streamable HTTP via the
httpserversubcommand - In HTTP mode,
/healthis unauthenticated for liveness checks while the MCP endpoint requires a bearer token
Requirements
A Gemini API key in GEMINI_API_KEY. Docker is the recommended path: docker pull cnosuke/mcp-gemini-grounded-search:latest and run it with server as the argument. To build from source you need Go 1.24 or later. GEMINI_MODEL_NAME defaults to gemini-3.6-flash, GEMINI_MAX_TOKENS to 5000, and GEMINI_THINKING_LEVEL accepts MINIMAL, LOW, MEDIUM or HIGH. For HTTP mode, HTTP_AUTH_TOKEN is the bearer token, HTTP_PORT defaults to 8080 and HTTP_ENDPOINT_PATH to /mcp.
Setup effort
One command plus a key — docker pull cnosuke/mcp-gemini-grounded-search:latest, then supply credentials
USE CASES
Answering a question about something recent
Ask it directly and read the answer alongside the pages it came from.
Checking a claim before you repeat it
Open the grounding URLs rather than trusting the summary.
Keeping a cheap question cheap
Drop the thinking level for the call instead of paying for deep reasoning on a lookup.
Serving several clients from one instance
Run the HTTP subcommand behind a bearer token and point clients at the endpoint path.
1 tool
Listed in project docs. Your client may show a different list.
BEFORE YOU INSTALL
What to know first
Tools you get
1 tool named in the project's documentation.
Requires
- docker on PATH
- GEMINI_API_KEY in your environment
INSTALLATION
Connect your client
Server setup
docker pull cnosuke/mcp-gemini-grounded-search:latestMCP Clients
Claude Desktop — Docker
{
"mcpServers": {
"gemini-search": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"GEMINI_API_KEY=<YOUR_GEMINI_API_KEY>",
"cnosuke/mcp-gemini-grounded-search:latest",
"server"
]
}
}
}Claude Code — Docker
claude mcp add-json mcp-gemini-grounded-search '{
"command": "docker",
"args": [
"run", "-i", "--rm",
"-e", "GEMINI_API_KEY",
"-e", "GEMINI_MODEL_NAME",
"-e", "GEMINI_THINKING_LEVEL",
"cnosuke/mcp-gemini-grounded-search:latest",
"server"
],
"env": {
"GEMINI_MODEL_NAME": "gemini-3.6-flash",
"GEMINI_THINKING_LEVEL": "LOW",
"GEMINI_API_KEY": "<YOUR_GEMINI_API_KEY>"
}
}'