mcp-google-serp-agent
README.md
# 🤖 Google SERP & AI Agent Grounding — Model Context Protocol (MCP) Server
[](https://modelcontextprotocol.io/)
[](https://www.python.org/)
[](https://opensource.org/licenses/MIT)
[](https://glama.ai/mcp/servers)
A high-performance **Model Context Protocol (MCP) Server** and live Google search grounding engine for **Claude Desktop, Cursor IDE, LangChain, and Autonomous AI Agents**.
<p align="center">
<img src="https://raw.githubusercontent.com/meanusarcanus/google-serp-extractor/master/assets/logo.jpg" alt="Google SERP MCP Server Logo" width="180" style="border-radius: 24px;" />
</p>
---
## ⚡ Overview
This repository provides a standardized **Model Context Protocol (MCP)** server (`mcp_server.py`) that equips LLMs and autonomous agents with real-time web search and webpage content extraction without hallucination.
* 🛡️ **Zero 429 Rate-Limit Blocks**: Automatic anti-blocking engine with multi-engine fallback.
* 🤖 **LLM-Optimized Grounding**: Returns token-budgeted Markdown context with structured citations (`[1]`, `[2]`).
* 📄 **Universal Markdown Extractor**: Strips navigation, ads, and scripts from any URL to produce dense Markdown for RAG context windows.
* 🔌 **Zero-Config MCP Integration**: Plug-and-play with Claude Desktop, Cursor, and Antigravity.
---
## 🛠️ MCP Tools & Capabilities
The server exposes the following Model Context Protocol (MCP) tools:
| Tool Name | Parameters | Description |
| :--- | :--- | :--- |
| **`search_google_agent`** | `query` *(string)*, `max_results` *(int)*, `max_tokens` *(int)*, `country_code` *(string)* | Searches Google and returns token-optimized Markdown context with structured citations (`[1]`, `[2]`) specifically formatted for LLM system prompts and RAG grounding. |
| **`extract_webpage_markdown`** | `url` *(string)*, `max_chars` *(int)* | Fetches any live URL, strips boilerplate/ads/navbars, and converts the page into clean Markdown text for LLM ingestion. |
---
## 🔌 Quickstart: Connect to Claude Desktop & Cursor
### 1. Claude Desktop Configuration
Add this server to your `claude_desktop_config.json`:
* **macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`
* **Windows**: `%APPDATA%\Claude\claude_desktop_config.json`
* **Linux**: `~/.config/Claude/claude_desktop_config.json`
```json
{
"mcpServers": {
"google-serp-agent": {
"command": "python3",
"args": [
"/path/to/google-serp-extractor/mcp_server.py"
]
}
}
}
```
### 2. Cursor IDE Configuration (`.cursor/mcp.json`)
```json
{
"mcpServers": {
"google-serp-agent": {
"command": "python3",
"args": ["/path/to/google-serp-extractor/mcp_server.py"]
}
}
}
```
---
## 📦 Python SDK & LangChain Tool Usage
You can also use this library directly inside Python scripts and LangChain agents:
```bash
pip install google-serp-extractor
```
```python
from google_serp_extractor import agent_search_and_ground, extract_webpage_markdown
# 1. Ground your LLM with real-time web search facts
result = agent_search_and_ground(
query="Latest breakthroughs in Quantum Computing 2026",
max_results=3,
max_tokens=1500
)
# Feed context directly into your LLM prompt
print(result["context_markdown"])
# 2. Extract clean Markdown from any live URL
page_md = extract_webpage_markdown("https://en.wikipedia.org/wiki/Artificial_intelligence")
print(page_md["markdown"][:500])
```
---
## 🌐 Serverless REST API Endpoints
| Method | Endpoint | Description |
| :--- | :--- | :--- |
| `POST` | `/api/v1/agent/search` | AI Agent search with token budgeting and citation formatting (Tavily/Exa alternative). |
| `POST` | `/api/v1/agent/extract` | Universal URL-to-Markdown extractor for RAG pipelines. |
| `POST` | `/api/v1/search` | Raw Google SERP batch search with organic rankings, PAA, and ads. |
| `GET` | `/api/v1/health` | Service health status and supported agent capabilities. |
---
## 📄 License
MIT License. Created by Meanus Arcanus.
This server cannot be deployed
Maintenance
ActivityMaintained
ResponsivenessNo issues