call_google_search
Takes a prompt and generates an answer from Gemini using Google Search grounding
Search-grounded answers from Gemini, run as a Deno MCP server with the network permission pinned to one host.
LABSCO SUMMARY
The author's own notes are the most useful part of the README: Cursor never managed to call the tools, and the client they got working was Gemini CLI on the Windows side rather than inside WSL. No Gemini CLI settings are published, so use the Docker configuration on this page in any client that launches stdio servers. Ignore the README's tool section: its four get_connpass_* entries are left over from the connpass server this began as. The code registers call_google_search, call_gemini_or_vertex_ai and get_random_greeting.
A Deno MCP server that puts Gemini's Google-search grounding behind a tool call. It runs from a local checkout or a Docker image, and the Deno permission flags in the documented launch restrict it to a single outbound host.
call_google_search — plus a plain Gemini or Vertex AI call, call_gemini_or_vertex_ai--allow-net=generativelanguage.googleapis.com, so the process can reach that host and nothing elsenpm ci and npm run build, or Dockerdeno task test:tokyo, deno task test:google_search and deno task test:google_search_simple, plus a one-line tools/list probe you can pipe into the serverA Gemini API key as GEMINI_API_KEY, supplied through an --env-file or -e on the Docker run. Deno is the recommended runtime, and the client entry passes --allow-net=generativelanguage.googleapis.com, --allow-read and --allow-env alongside the env file. Docker is the alternative — docker compose run --rm deno-gemini-grounding-mcp-server as the client command, since MCP needs stdin and stdout. Build the image from a clone first — docker build -t deno-gemini-grounding-mcp-server . — since no published image exists.
Run a container — build the image from the repository, then point your client at it
USE CASES
Ask through the grounding tool so the answer is backed by a search rather than recall.
Run it under Deno with the network permission pinned to the one host it needs.
Use the docker compose run --rm form so each call gets a fresh container over stdin and stdout.
Run the bundled Deno test tasks and watch the response validation output.
Listed in project docs. Your client may show a different list.
call_google_searchTakes a prompt and generates an answer from Gemini using Google Search grounding
call_gemini_or_vertex_aiCalls either the Gemini Developer API or Vertex AI with a user prompt and options.
get_random_greetingReturns a random greeting
BEFORE YOU INSTALL
3 tools named in the project's documentation.
The documented client runs the server on your machine.
INSTALLATION
Build the image from the repository, then point your client at it.
git clone https://github.com/rinerebox1/deno-gemini-grounding-mcp-server
cd deno-gemini-grounding-mcp-server
docker build -t deno-gemini-grounding-mcp-server .Then point your client at the image you just built — the block under MCP Clients runs it with your GEMINI_API_KEY
{
"mcpServers": {
"deno-gemini-grounding-mcp-server": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"GEMINI_API_KEY=<YOUR_GEMINI_API_KEY>",
"deno-gemini-grounding-mcp-server"
]
}
}
}<YOUR_GEMINI_API_KEY> is your Gemini API key. -i keeps stdin open, which a stdio MCP server needs; without it the container exits as soon as it starts.