无API网页搜索工具

AgentWebSearch-MCP是一款无需API密钥的本地网页搜索工具,通过控制真实Chrome浏览器实例实现网页搜索,适用于本地LLM(如Ollama、LM Studio)和Claude Code等场景。

  • by insung8150
  • Python
  • 本地部署
  • 20 星标
  • 更新于
在 GitHub 查看 insung8150/AgentWebSearch-MCP

使用说明

AgentWebSearch-MCP

不带API密钥的本地Web搜索+MCP服务器

需要WebSearch来搜索您当地的LLM(Ollama,LM Studio)或Claude Code吗? 不需要API密钥- 只有Chrome.

运作原理

此工具启动真正的Chrome浏览器 -不是无头的,不是模拟的。

它打开实际的Chrome窗口,并通过CDP(Chrome DevTools协议)对其进行控制。 这就是为什么它可以绕过机器人检测和验证码——因为它是一个真正的浏览器。

┌─────────────────────────────────────────────────────────┐
│  Your Desktop                                           │
│  ┌─────────────┐ ┌─────────────┐ ┌─────────────┐       │
│  │ Chrome:9222 │ │ Chrome:9223 │ │ Chrome:9224 │       │
│  │   Naver     │ │   Google    │ │   Brave     │       │
│  │  (search)   │ │  (search)   │ │  (search)   │       │
│  └──────┬──────┘ └──────┬──────┘ └──────┬──────┘       │
│         │               │               │               │
│         └───────────────┼───────────────┘               │
│                         │ CDP (WebSocket)               │
│                    ┌────┴────┐                          │
│                    │   MCP   │                          │
│                    │ Server  │                          │
│                    └────┬────┘                          │
│                         │                               │
│                    Claude Code                          │
└─────────────────────────────────────────────────────────┘

为什么是真正的浏览器?

  • 不需要API密钥(您只是在浏览)
  • 无速率限制(正常浏览器行为)
  • CAPTCHA抗性(真实浏览器指纹)
  • 登录会话持续(Cookie已保存)
  • 韩国门户网站工作(Naver需要真正的浏览器)

可扩展到其他网站

  • 当前配置用于搜索门户(Naver、Google、Brave)
  • 可以通过添加门户配置扩展到其他站点
  • 每个网站都需要自己的Chrome实例和会话

关键利益

功能 Tavily/Brave API SearXNG(OpenClaw) AgentWebSearch-MCP
API密钥 必需 不需要 不需要
费用 付费/有限 免费 自由
设置 获取API密钥 主机SearXNG服务器 只需安装Chrome
机器人检测 N/A 容易被阻止 Bypassed(真实浏览器)
韩国门户 有限 无Naver Naver支持
MCP支持 ❌ ❌ ✅ 内建

特性

  • 没有API密钥 -直接Chrome CDP(DevTools协议)控制
  • MCP服务器 -用作克劳德代码/光标/LM Studio工具
  • AgentCPM探索 -从OpenBMB/THUNLP搜索优化的4B型号(可选)
  • 并行搜索 -同时为Naver/Google/BBrave提供3个Chrome实例
  • 机器人检测旁路 -会话持久性+隐形标志
  • CAPTCHA抗性 -真实的浏览器会话避免了大多数验证码挑战

安装

1.安装依赖项

python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt

2.启动Chrome(调试模式)

python chrome_launcher.py start   # Start 3 Chrome instances
python chrome_launcher.py status  # Check status
python chrome_launcher.py stop    # Stop all

3.登录和同步(可选但推荐)

默认情况下,Chrome实例使用临时配置文件(/tmp/).对于持久登录:

  1. 打开CDP Chrome浏览器 (之后 chrome_launcher.py start)
  2. 登录谷歌 在Chrome窗口中
  3. 启用同步 (设置→ Sync)

优点:

  • OAuth登录(“使用谷歌登录”)会自动工作
  • 保存的密码自动填充
  • 更好的搜索结果(个性化)
  • 会话在重新启动后持续存在

注: 要使配置文件永久化,请在中更改配置文件路径 chrome_launcher.py 从 /tmp/chrome-*-profile 到 ~/.config/chrome-cdp/*

MCP服务器

在Claude Code、Cursor、LM Studio或 OpenClaw/Moltbot.

快速开始

# Start Chrome first
python chrome_launcher.py start

# Run MCP server (stdio mode)
python mcp_server.py

克劳德代码注册

claude mcp add agentwebsearch -s user -- python /path/to/mcp_server.py

Claude代码设置.json

{
  "mcpServers": {
    "agentwebsearch": {
      "command": "python",
      "args": ["/path/to/AgentWebSearch-MCP/mcp_server.py"],
      "env": {}
    }
  }
}

OpenClaw/Moltbot注册

# Add MCP to OpenClaw
openclaw mcp add agentwebsearch -- python /path/to/mcp_server.py

# Or add to ~/.openclaw/config.json

SSE模式(HTTP服务器)

python mcp_server.py --sse --port 8902

可用的MCP工具

工具 说明 需要LLM
web_search 同时搜索Naver/Google/BBrave 否
fetch_urls 从URL获取网页内容 否
smart_search 搜索+带深度控制的自动提取 否
get_search_status 检查搜索进度并获得部分结果 否
cancel_search 取消正在进行的搜索并获得部分结果 否
agentcpm 使用AgentCPM Explore(SGLang)进行代理搜索 是

工具参数

smart_search

参数 值 说明
query string 搜索查询(必填)
depth simple 仅限片段(快速)
medium 获取前5个URL(默认)
deep 获取前15个网址(速度慢)
portal all/naver/google/brave 搜索门户

agentcpm

用途 AgentCPM探索 模型(4B,OpenBMB/THUNLP)通过SGLang来计划搜索查询、执行搜索和生成答案。

参数 值 说明
query string 搜索查询(必填)
depth simple/medium/deep 搜索深度(默认值:中等)
confirm boolean 如果SGLang未运行,请确认继续

要求:

  • SGLang服务器在端口30001上运行
  • AgentCPM探索模型已加载

首次设置: 模型加载需要大约30-45秒。使用 smart_search 如果你没有设置SGLang。

get_search_status / cancel_search

部分结果支持:当搜索时间过长时,您可以:

  1. 呼叫 get_search_status 检查进度并查看到目前为止收集的结果
  2. 呼叫 cancel_search 停止搜索并返回部分结果
工具 说明
get_search_status 返回:状态、进度%、已用时间、部分搜索结果、部分提取内容
cancel_search 取消正在进行的搜索并返回收集到的所有部分结果

为什么选择AgentPM Explore? 由OpenBMB/THUNLP专门针对搜索代理任务进行培训。生成多样化的查询,并比通用模型更好地处理工具调用。

示例用法

"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")

独立代理(CLI)

直接从命令行运行搜索代理。

# 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-backends

AgentCPM探索设置(用于 agentcpm 工具)

AgentCPM探索 是来自的4B参数模型 OpenBMB/THUNLP 专门针对搜索代理任务进行培训:

  • 自动生成多种搜索查询(韩语/英语,多视角)
  • 针对工具调用(搜索、fetch_url)进行了优化
  • 基于Qwen3-4B-思考
# 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.sh

注: 这 agentcpm MCP工具仅使用SGLang+AgentCPM Explore。对于其他LLM后端,请使用 smart_search 或CLI(search_agent.py --llm ollama).

建筑

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 + Sources

文件结构

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 startup

演出

模式 时间 令牌
简单 ~35s ~3K
中等 ~50s ~17K
深 ~170秒 ~77K

需求

  • Python 3.10+
  • 铬/铬
  • 对于 agentcpm 工具:SGLang+AgentCPM探索模型

许可证

MIT许可证

贡献

门户添加PR欢迎!看 PORTAL_CONFIG 在 cdp_search.py.


合著者:inchul insung8150@users.noreply.github.com 合著者:Claude noreply@anthropic.com