AgentWebSearch-MCP
Allows searching the Brave search engine via real browser sessions, bypassing bot detection and CAPTCHA.
Allows searching Google via real browser sessions, enabling personalized results and persistent login.
Allows searching Naver (Korean portal) via real browser sessions, supporting Korean-specific content and login.
Click on "Install 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., "@AgentWebSearch-MCPsearch for latest advancements in quantum computing"
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.
AgentWebSearch-MCP
Local WebSearch without API keys + MCP Server
Need WebSearch for your local LLM (Ollama, LM Studio) or Claude Code? No API keys needed - just Chrome.
How It Works
This tool launches REAL Chrome browsers - not headless, not simulated.
It opens actual Chrome windows and controls them via CDP (Chrome DevTools Protocol). This is why it can bypass bot detection and CAPTCHA - because it IS a real browser.
┌─────────────────────────────────────────────────────────┐
│ Your Desktop │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
│ │ Chrome:9222 │ │ Chrome:9223 │ │ Chrome:9224 │ │
│ │ Naver │ │ Google │ │ Brave │ │
│ │ (search) │ │ (search) │ │ (search) │ │
│ └──────┬──────┘ └──────┬──────┘ └──────┬──────┘ │
│ │ │ │ │
│ └───────────────┼───────────────┘ │
│ │ CDP (WebSocket) │
│ ┌────┴────┐ │
│ │ MCP │ │
│ │ Server │ │
│ └────┬────┘ │
│ │ │
│ Claude Code │
└─────────────────────────────────────────────────────────┘Why real browsers?
No API keys needed (you're just browsing)
No rate limits (normal browser behavior)
CAPTCHA resistant (real browser fingerprint)
Login sessions persist (cookies saved)
Korean portals work (Naver requires real browser)
Extensible to other sites
Currently configured for search portals (Naver, Google, Brave)
Can be extended to other sites by adding portal config
Each site needs its own Chrome instance and session
Related MCP server: CloakBrowser Search MCP
Key Benefits
Feature | Tavily/Brave API | SearXNG (OpenClaw) | AgentWebSearch-MCP |
API Key | Required | Not needed | Not needed |
Cost | Paid/Limited | Free | Free |
Setup | Get API key | Host SearXNG server | Just install Chrome |
Bot Detection | N/A | Easily blocked | Bypassed (real browser) |
Korean Portals | Limited | No Naver | Naver supported |
MCP Support | ❌ | ❌ | ✅ Built-in |
Features
No API keys - Direct Chrome CDP (DevTools Protocol) control
MCP Server - Use as Claude Code / Cursor / LM Studio tool
AgentCPM-Explore - Search-optimized 4B model from OpenBMB/THUNLP (optional)
Parallel search - 3 Chrome instances for Naver/Google/Brave simultaneously
Bot detection bypass - Session persistence + stealth flags
CAPTCHA resistant - Real browser sessions avoid most CAPTCHA challenges
Installation
1. Install dependencies
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt2. Start Chrome (debugging mode)
python chrome_launcher.py start # Start 3 Chrome instances
python chrome_launcher.py status # Check status
python chrome_launcher.py stop # Stop all3. Login & Sync (optional but recommended)
By default, Chrome instances use temporary profiles (/tmp/). For persistent login:
Open CDP Chrome (after
chrome_launcher.py start)Sign in to Google in the Chrome window
Enable sync (Settings → Sync)
Benefits:
OAuth login ("Sign in with Google") works automatically
Saved passwords auto-fill
Better search results (personalized)
Sessions persist across restarts
Note: To make profiles permanent, change profile paths in
chrome_launcher.pyfrom/tmp/chrome-*-profileto~/.config/chrome-cdp/*
MCP Server
Use web search as an MCP tool in Claude Code, Cursor, LM Studio, or OpenClaw/Moltbot.
Quick Start
# Start Chrome first
python chrome_launcher.py start
# Run MCP server (stdio mode)
python mcp_server.pyClaude Code Registration
claude mcp add agentwebsearch -s user -- python /path/to/mcp_server.pyClaude Code settings.json
{
"mcpServers": {
"agentwebsearch": {
"command": "python",
"args": ["/path/to/AgentWebSearch-MCP/mcp_server.py"],
"env": {}
}
}
}OpenClaw/Moltbot Registration
# Add MCP to OpenClaw
openclaw mcp add agentwebsearch -- python /path/to/mcp_server.py
# Or add to ~/.openclaw/config.jsonSSE Mode (HTTP Server)
python mcp_server.py --sse --port 8902Available MCP Tools
Tool | Description | LLM Required |
| Search Naver/Google/Brave in parallel | No |
| Fetch webpage content from URLs | No |
| Search + auto-fetch with depth control | No |
| Check search progress and get partial results | No |
| Cancel ongoing search and get partial results | No |
| Agentic search with AgentCPM-Explore (SGLang) | Yes |
Tool Parameters
smart_search
Parameter | Values | Description |
| string | Search query (required) |
|
| Snippets only (fast) |
| Fetch top 5 URLs (default) | |
| Fetch top 15 URLs (slow) | |
|
| Search portal |
agentcpm
Uses AgentCPM-Explore model (4B, OpenBMB/THUNLP) via SGLang to plan search queries, execute searches, and generate answers.
Parameter | Values | Description |
| string | Search query (required) |
|
| Search depth (default: medium) |
| boolean | Confirm to proceed if SGLang not running |
Requirements:
SGLang server running on port 30001
AgentCPM-Explore model loaded
First time setup: Model loading takes ~30-45 seconds. Use smart_search if you don't have SGLang set up.
get_search_status / cancel_search
Partial results support: When search takes too long, you can:
Call
get_search_statusto check progress and see results collected so farCall
cancel_searchto stop the search and return partial results
Tool | Description |
| Returns: status, progress %, elapsed time, partial search results, partial fetched contents |
| Cancels ongoing search and returns all partial results collected |
Why AgentCPM-Explore? Trained specifically for search agent tasks by OpenBMB/THUNLP. Generates diverse queries and handles tool calling better than general-purpose models.
Example Usage
"Search latest AI news" → smart_search tool
"Deep search about GPT-5" → smart_search(depth="deep")
"Use AgentCPM for AI news" → agentcpm(query="AI news")Standalone Agent (CLI)
Run search agent directly from command line.
# Default: SGLang backend
python search_agent.py "search query"
# Search depth
python search_agent.py "query" --depth simple # snippets only (fast)
python search_agent.py "query" --depth medium # fetch top 5 URLs (default)
python search_agent.py "query" --depth deep # fetch all URLs (slow)
# Interactive mode
python search_agent.py -i
# CLI supports multiple backends (--llm ollama/lmstudio/openai)
python search_agent.py --list-backendsAgentCPM-Explore Setup (for agentcpm tool)
AgentCPM-Explore is a 4B parameter model from OpenBMB/THUNLP specifically trained for search agent tasks:
Automatically generates diverse search queries (Korean/English, multiple perspectives)
Optimized for tool calling (search, fetch_url)
Based on Qwen3-4B-Thinking
# 1. Install SGLang (CUDA required)
pip install sglang[all]
# 2. Download AgentCPM-Explore model (~8GB)
# https://huggingface.co/openbmb/AgentCPM-Explore
# 3. Start server
MODEL_PATH=/path/to/AgentCPM-Explore ./start_sglang.shNote: The agentcpm MCP tool exclusively uses SGLang + AgentCPM-Explore. For other LLM backends, use smart_search or the CLI (search_agent.py --llm ollama).
Architecture
User Query
|
MCP Server (mcp_server.py)
+-- web_search → CDP Search only
+-- smart_search → CDP Search + URL Fetch
+-- agentcpm → SGLang + AgentCPM-Explore + CDP Search
|
CDP Search (parallel)
+-- Chrome:9222 → Naver
+-- Chrome:9223 → Google
+-- Chrome:9224 → Brave
|
Final Answer + SourcesFile Structure
AgentWebSearch-MCP/
├── mcp_server.py # MCP server (4 tools)
├── search_agent.py # Standalone CLI agent
├── cdp_search.py # CDP parallel search
├── chrome_launcher.py # Chrome instance manager
├── llm_adapters/ # LLM adapters (CLI use)
│ ├── base.py # Common interface
│ ├── sglang_adapter.py
│ ├── ollama_adapter.py
│ ├── lmstudio_adapter.py
│ └── openai_adapter.py
└── start_sglang.sh # SGLang server startupPerformance
Mode | Time | Tokens |
simple | ~35s | ~3K |
medium | ~50s | ~17K |
deep | ~170s | ~77K |
Requirements
Python 3.10+
Chrome/Chromium
For
agentcpmtool: SGLang + AgentCPM-Explore model
License
MIT License
Contributing
Portal addition PRs welcome! See PORTAL_CONFIG in cdp_search.py.
Co-Authored-By: inchul insung8150@users.noreply.github.com Co-Authored-By: Claude noreply@anthropic.com
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/insung8150/AgentWebSearch-MCP'
If you have feedback or need assistance with the MCP directory API, please join our Discord server