gemini-grounding
Version:
MCP server that utilizes Google Gemini Grounding for real-time information access
208 lines (147 loc) ⢠6.78 kB
Markdown
<div align="center">
<h1>Gemini Grounding MCP Server</h1>
</div>
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.
## ⨠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+**
- **pnpm** (or npm/yarn)
- **Google Gemini API key** from [Google AI Studio](https://ai.google.dev/)
### Install Dependencies
```bash
git clone https://github.com/epilande/gemini-grounding.git
cd gemini-grounding
pnpm install
```
### Setup Environment
```bash
cp .env.example .env
# Edit .env and add your GEMINI_API_KEY
```
### Build
```bash
pnpm build
```
### Getting a Gemini API Key
1. Visit [Google AI Studio](https://ai.google.dev/)
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:
```bash
claude mcp add -e GEMINI_API_KEY="${GEMINI_API_KEY}" gemini-grounding -- node /absolute/path/to/gemini-grounding/build/index.js
```
Or manually add to your configuration:
```json
{
"mcpServers": {
"gemini-grounding": {
"command": "node",
"args": ["/absolute/path/to/gemini-grounding/build/index.js"],
"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
```bash
# 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](https://ai.google.dev/)
**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