Skip to main content
Glama
epilande

gemini-grounding

by epilande

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

Option 1: Use with npx

npx gemini-grounding

Option 2: Build from Source

git clone https://github.com/epilande/gemini-grounding.git
cd gemini-grounding
pnpm install
pnpm build

Getting a Gemini API Key

  1. Visit Google AI Studio

  2. Create or select a project

  3. Generate an API key

  4. Add the key to your .env file

šŸŽ® 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-grounding

Or 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:

  1. Restart your MCP client (e.g., Claude Code)

  2. Open a new conversation

  3. Look for Gemini grounding tools in the tool picker

  4. 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 query

  • context (optional): Development context or additional information

  • focus (optional): Focus area - "general", "code", "documentation", or "troubleshooting"

search_developer_resources

Specialized search for developer resources and documentation.

Parameters:

  • query (required): Technical query

  • language (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 query

  • technology (optional): Technology, framework, or tool name

search_reddit

Search Reddit discussions and community insights.

Parameters:

  • query (required): Search query for Reddit content

  • subreddit (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 .env file with your API key

  • Or pass the API key in the MCP configuration env section

  • Verify 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 build

  • Check your client's logs for any error messages

"Module not found" errors

  • Run pnpm install to ensure all dependencies are installed

  • Make sure you're using Node.js 18 or later

  • Try deleting node_modules and running pnpm install again

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 tools
search_developer_resourcesSearch Developer ResourcesC

Search specifically for developer resources and documentation

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYes
languageNo
frameworkNo

TDQS

C2.3/5.0
Behavior2/5

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.

Conciseness2/5

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.

Completeness1/5

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.

Parameters1/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYes
technologyNo

TDQS

C2.4/5.0
Behavior2/5

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.

Conciseness3/5

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.

Completeness2/5

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.

Parameters1/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYes
subredditNo

TDQS

B3/5.0
Behavior2/5

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.

Conciseness4/5

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.

Completeness2/5

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.

Parameters1/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYes
contextNo
focusNo

TDQS

C2.6/5.0
Behavior2/5

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.

Conciseness3/5

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.

Completeness1/5

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.

Parameters1/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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.

  1. 4 tool updatesv1.0.0
    • First observedsearch_developer_resources
    • First observedsearch_documentation
    • First observedsearch_reddit
    • First observedsearch_with_grounding

TDQS

C2.9/5.0

Scored across 4 tools

Disambiguation3/5

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.

Naming Consistency4/5

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.

Tool Count5/5

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.

Completeness3/5

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

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers