gemini-grounding
Leverages Google Gemini's grounding capabilities with Google Search to provide real-time information, developer resources, documentation, and factual answers.
Enables searching Reddit discussions and community insights through Gemini's grounding, providing access to current discussions and opinions.
Click on "Deploy 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-groundingSearch Reddit for best Neovim plugins for Python"
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.
An MCP (Model Context Protocol) server that provides real-time information access using Google Gemini's grounding capabilities. This server enables MCP-compatible clients to search for current information, developer resources, documentation, and Reddit discussions using Gemini's built-in Google Search grounding.
ā Why?
When working with AI assistants like Claude Code, you often need current information and community insights that are beyond the model's knowledge cutoff. Claude Code refuses to search Reddit and have limitations on accessing real-time information.
This MCP server bypasses these limitations by leveraging Gemini's grounding capabilities, which can search the web and other sources to provide current information, code examples, discussions, and community insights directly within your AI workflow.
Related MCP server: Gemini Search MCP Server
⨠Features
š Real-time Search: Access current information through Gemini's Google Search grounding
šØāš» Developer-Focused: Tools for searching code examples, documentation, and troubleshooting
š¬ Reddit Integration: Search Reddit discussions and community insights
š Automatic Citations: Source links and attribution provided automatically by Gemini
š Multi-Source Synthesis: Combines information from multiple web sources
šÆ Context-Aware: Tailored search results based on programming language and framework
ā Fact Verification: Built-in fact-checking and accuracy validation
š¦ Installation
Prerequisites
Node.js 18+
Google Gemini API key from Google AI Studio
Option 1: Use with npx
npx gemini-groundingOption 2: Build from Source
git clone https://github.com/epilande/gemini-grounding.git
cd gemini-grounding
pnpm install
pnpm buildGetting a Gemini API Key
Visit Google AI Studio
Create or select a project
Generate an API key
Add the key to your
.envfile
š® Usage
This server works with any MCP-compatible client.
Claude Code
Add this server to your Claude Code MCP configuration using the claude mcp add command:
claude mcp add gemini-grounding -e GEMINI_API_KEY="${GEMINI_API_KEY}" -- npx -y gemini-groundingOr manually add to your configuration:
{
"mcpServers": {
"gemini-grounding": {
"command": "npx",
"args": ["-y", "gemini-grounding"],
"env": {
"GEMINI_API_KEY": "${GEMINI_API_KEY}"
}
}
}
}Verification
After adding to your configuration:
Restart your MCP client (e.g., Claude Code)
Open a new conversation
Look for Gemini grounding tools in the tool picker
Test with queries like:
"Why is neovim the best editor? Search reddit""What are the new Go lang features?""Latest docs for React hooks""What are useEffect dependency array best practices"
š ļø Tools
search_with_grounding
General purpose search with Gemini grounding capabilities.
Parameters:
query(required): Search querycontext(optional): Development context or additional informationfocus(optional): Focus area -"general","code","documentation", or"troubleshooting"
search_developer_resources
Specialized search for developer resources and documentation.
Parameters:
query(required): Technical querylanguage(optional): Programming language (e.g.,JavaScript,Python,Rust)framework(optional): Framework or library (e.g.,React,Express,Django)
search_documentation
Search for official documentation and API references.
Parameters:
query(required): Documentation querytechnology(optional): Technology, framework, or tool name
search_reddit
Search Reddit discussions and community insights.
Parameters:
query(required): Search query for Reddit contentsubreddit(optional): Specific subreddit to search (e.g.,"programming","reactjs")
šļø Architecture
āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
ā MCP-Compatible Client ā
ā ⢠Claude Code, Cursor, etc. ā
ā ⢠File editing & bug fixing ā
ā ⢠Codebase analysis ā
ā ⢠Development workflows ā
āāāāāāāāāāāāāāā¬āāāāāāāāāāāāāāāāāāāāāāāā
ā MCP Integration
āāāāāāāāāāāāāāā¼āāāāāāāāāāāāāāāāāāāāāāāā
ā Node.js Grounding Agent Service ā
ā ⢠Query routing & analysis ā
ā ⢠Context management ā
ā ⢠Response formatting ā
āāāāāāāāāāāāāāā¬āāāāāāāāāāāāāāāāāāāāāāāā
ā Single API Call
āāāāāāāāāāāāāāā¼āāāāāāāāāāāāāāāāāāāāāāāā
ā Gemini 2.5 Flash ā
ā ⢠Google Search grounding ā
ā ⢠Real-time information access ā
ā ⢠Automatic source citation ā
ā ⢠Multi-source synthesis ā
āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāš§ Development
# Development mode
pnpm dev
# Build
pnpm build
# Production
pnpm startš Troubleshooting
Common Issues
Server fails to start with "GEMINI_API_KEY environment variable is required"
Ensure you've created a
.envfile with your API keyOr pass the API key in the MCP configuration
envsectionVerify your API key is valid at Google AI Studio
Tools don't appear in your MCP client
Check that the file path in your configuration is absolute and correct
Restart your MCP client after making configuration changes
Verify the server builds successfully with
pnpm buildCheck your client's logs for any error messages
"Module not found" errors
Run
pnpm installto ensure all dependencies are installedMake sure you're using Node.js 18 or later
Try deleting
node_modulesand runningpnpm installagain
Search requests fail or timeout
Verify your Gemini API key has quota remaining
Check your internet connection
Ensure the Gemini API service is accessible from your network
Available Tools
4 toolssearch_developer_resourcesSearch Developer ResourcesC
Search specifically for developer resources and documentation
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | ||
| language | No | ||
| framework | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden for behavioral disclosure. It only states 'search specifically', implying read-only behavior, but does not confirm safety (e.g., no mutations, no side effects). No additional traits are revealed.
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 only one sentence, which is too brief to be effective. While short, it omits critical details (parameter semantics, usage boundaries), making it under-specified rather than concise.
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 low schema coverage, lack of output schema, and missing annotations, the description is completely inadequate to guide correct invocation. It fails to explain parameters or distinguish from siblings, leaving the agent with minimal useful context.
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 0%, yet the description adds no information about the three parameters (query, language, framework). The agent must rely solely on parameter names, which are ambiguous (e.g., 'language' could mean programming language or human language).
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 searches for developer resources and documentation, using a specific verb and domain. However, it does not differentiate from the sibling 'search_documentation', which likely overlaps in purpose.
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?
No guidance is provided on when to use this tool versus alternatives. There are no explicit conditions, exclusions, or references to sibling tools, leaving the agent to infer usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_documentationSearch DocumentationC
Search for official documentation and API references
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | ||
| technology | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries full burden. It does not disclose any behavioral traits like rate limits, authentication needs, result format, or whether it targets only specific sources.
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 a single short sentence, which is concise but lacks structure or front-loading of key information. It is adequately sized but could be more informative.
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 2 parameters and sibling tools, the description is incomplete. It does not explain the 'technology' parameter, does not differentiate from search_developer_resources, and lacks output schema or behavioral details.
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 0% and the description adds no meaning to the parameters 'query' or 'technology'. It fails to clarify what 'technology' is or how to use it.
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 it searches for official documentation and API references, which is a specific verb-resource combination. However, it does not differentiate from the sibling search_developer_resources, which may have a similar purpose.
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?
No guidance is provided on when to use this tool vs alternatives. There is no mention of when not to use it or any prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_redditSearch RedditB
Search Reddit discussions and community insights
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | ||
| subreddit | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description does not disclose behavioral traits such as whether results include posts, comments, or metadata, nor any limitations on rate or scope.
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 a single sentence, concise and front-loaded with the key action, but it is too brief to cover important details, making it borderline under-specified rather than efficiently complete.
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 simple two-parameter tool with no output schema, the description lacks information on search behavior, result format, and optional parameter usage, leaving significant gaps in context.
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 description adds no meaning beyond the schema for the two parameters (query and subreddit). With 0% schema description coverage, the description fails to explain how to use these 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 states it searches Reddit discussions and community insights, clearly identifying the source and type of content, which distinguishes it from sibling tools targeting developer resources or documentation.
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 use for Reddit-related searches but provides no explicit guidance on when to choose this tool over alternatives like search_developer_resources or search_documentation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_with_groundingSearch with GroundingC
Search for current information using Gemini grounding
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | ||
| context | No | ||
| focus | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must cover behavioral traits. It only says 'using Gemini grounding', which is vague about what sources are searched, how results are returned, or any side effects. The lack of detail understates the tool's behavior.
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 very short (one sentence) and front-loaded with the verb, which is good. However, it is too terse and omits essential details, so it is not appropriately sized for the complexity.
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 has 3 parameters and no output schema or annotations, the description is severely incomplete. It does not explain return values, parameter usage, or any nuances, making it inadequate for proper invocation.
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 0%, but the description provides no information about any of the three parameters (query, context, focus). The agent has no semantic understanding beyond the parameter names and types, which is insufficient.
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 verb 'search' and the resource 'current information', and differentiates from siblings like 'search_documentation' by mentioning 'Gemini grounding'. This makes the purpose specific and distinct.
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?
No guidance on when to use this tool versus siblings such as 'search_developer_resources' or 'search_reddit'. The description does not provide context for choosing this over alternatives, leaving the agent without decision support.
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.
4 tool updates
v1.0.0- First observed
search_developer_resources - First observed
search_documentation - First observed
search_reddit - First observed
search_with_grounding
TDQS
Scored across 4 tools
The first two tools (search_developer_resources and search_documentation) have overlapping purposes, which could confuse an agent. The other tools are distinct, but the ambiguity between these two lowers the score.
All tools follow the 'search_<source>' pattern, but the suffixes vary in form (noun phrase, proper noun, prepositional phrase). While readable, the pattern is not perfectly uniform.
With 4 tools covering different search sources, the count is well-scoped for a search-focused server. There is no evidence of bloat or insufficiency.
The set covers developer resources, documentation, Reddit, and general grounded search, but lacks common sources like web search or Stack Overflow. The presence of two similar 'developer' tools suggests a missed opportunity for consolidation.
Maintenance
Related MCP Connectors
Driflyte MCP server which lets AI assistants query topic-specific knowledge from web and GitHub.
An MCP server that gives your AI access to the source code and docs of all public github repos
Related MCP Servers
- AlicenseBqualityDmaintenanceAn MCP server that enables AI models to perform Google Web searches using the Gemini API, complete with citations and grounding metadata for accurate information retrieval. It is compatible with Claude Desktop and other MCP clients for real-time web access.13Apache 2.0
- AlicenseAqualityDmaintenanceAn MCP server that generates answers using Gemini 2.0 and Google Search, providing relevant search results alongside the response.1MIT
- AlicenseAqualityCmaintenanceAn advanced MCP server that provides an agentic interface to Google's Gemini 3.1 models via Vertex AI, combining real-time Google Search, URL analysis, and Python code execution to solve complex multi-step research and data tasks.1MIT
- AlicenseNot gradedqualityDmaintenanceMCP server that integrates Google's Gemini 2.5 Pro with real-time Google Search grounding for current information retrieval.59 npmMIT