- 人工智能
- MCP 服务
【免费下载链接】web-search-mcp
A simple, locally hosted Web Search MCP server for use with Local LLMs
🔍web-search-mcp是一个本地运行的 Web Search MCP 服务器,无需任何 API Key,即可让 LM Studio、LibreChat 等本地 LLM 客户端获得完整的网页搜索与内容提取能力。但在实际使用中,不少用户会遇到搜索失败、响应变慢、内存暴涨三大经典问题。本文提供一份可直接照做的 web-search-mcp 故障排查清单,并给出 6 个立竿见影的调优技巧,帮助你快速恢复服务稳定运行。
一、先搞懂 web-search-mcp 的工作原理(排障前置知识)
web-search-mcp 提供三个工具:full-web-search(完整搜索+正文提取)、get-web-search-summaries(轻量摘要)、get-single-web-page-content(单页提取)。理解它的内部链路,是排查问题的第一步:
| 环节 | 工作方式 | 潜在故障点 |
|---|---|---|
| 多引擎搜索 | 按Bing(Chromium)→ Brave(Firefox)→ DuckDuckGo(HTTP)顺序回退 | 浏览器缺失、反爬拦截 |
| 内容提取 | 先用 axios 快速请求,失败后自动回退到无头浏览器 | 超时、403 拦截 |
| 浏览器池 | 默认同时维持最多3 个浏览器实例 | 内存占用高 |
| 速率限制 | 每分钟最多 10 次请求、5 个并发提取 | 高频调用被限流 |
📌 核心源码入口:src/search-engine.ts、src/browser-pool.ts、src/enhanced-content-extractor.ts、src/rate-limiter.ts。
💡 一个常见误区:响应慢 ≠ 服务坏了。搜索本身 1~5 秒、每个 URL 提取 2~10 秒,完整
full-web-search耗时 3~15 秒属于正常区间(详见 docs/API.md 的 Performance Considerations 章节)。
二、故障排查清单:对症下药
1️⃣ 搜索失败 / 无结果返回
症状:工具调用直接报错,或返回空结果。
按以下顺序逐项检查:
- 浏览器是否已安装:运行
npx playwright install确认 Chromium / Firefox 已就位。这是最高频的原因——只执行了npm install而漏掉 Playwright 浏览器下载。 - 构建是否成功:确认在解压根目录依次执行了
npm install、npx playwright install、npm run build,且mcp.json指向的是dist/index.js而非源码。 - Node.js 版本:要求 Node.js ≥ 18、npm ≥ 8。版本过低会导致
npm run build失败或运行异常。 - 无头模式:服务器/容器环境务必保证
BROWSER_HEADLESS=true(默认值)。 - 网络限制:部分网络环境会封锁浏览器自动化流量。可尝试更换网络,或观察日志中是否为某单一引擎反复失败。
- 限流提示:若日志出现
Rate limit exceeded,说明触发了每分钟 10 次的限制,等待约 1 分钟重试即可。
📂 引擎回退链路与质量评分逻辑可查看 src/search-engine.ts,浏览器健康检查与自动回收逻辑在 src/browser-pool.ts。
2️⃣ 响应变慢
症状:单次搜索超过 30 秒,客户端长时间等待。
- 调低请求超时:设置
DEFAULT_TIMEOUT=4000(默认 6000ms),换取更快响应,代价是成功率略降。 - 减少并发浏览器:
MAX_BROWSERS=1可显著减少进程数量与调度开销。 - 用轻量工具替代:如果只需要摘要,改用
get-web-search-summaries,它不抓取正文,速度快数倍。 - 检查是否触发了浏览器回退:axios 失败 3 次(
BROWSER_FALLBACK_THRESHOLD)后会自动切到无头浏览器,慢页面会明显拖长整体耗时。
3️⃣ 内存暴涨
症状:进程内存持续攀升,系统越来越卡。
- 首要手段:将
MAX_BROWSERS调低(默认 3,可设为 1),每个 Playwright 浏览器实例都会占用大量内存。 - 保持
BROWSER_HEADLESS=true,有头模式在服务器上既无必要也更耗资源。 - 项目已内置自动清理:浏览器池在超额时自动关闭最旧实例(见 src/browser-pool.ts 的清理逻辑),因此异常内存增长基本都指向浏览器实例过多,而非内存泄漏。
- 长会话建议定期重启 MCP 客户端,让浏览器进程彻底释放。
4️⃣ 搜索结果质量差 / 内容被截断
- 质量校验默认开启(
ENABLE_RELEVANCE_CHECKING=true,阈值RELEVANCE_THRESHOLD=0.3)。若结果相关度低,可把阈值调高到0.5强制筛选。 - 内容超长导致模型行为异常时,通过环境变量设置
MAX_CONTENT_LENGTH(默认 500000 字符),例如"MAX_CONTENT_LENGTH": "10000"。 - 想要"最全"而非"最快"的结果,可设
FORCE_MULTI_ENGINE_SEARCH=true,让服务器尝试全部引擎并返回最优结果。
三、6 大调优技巧速查表
| # | 技巧 | 环境变量 | 推荐值 | 适用场景 |
|---|---|---|---|---|
| 1 | 缩短请求超时,加快响应 | DEFAULT_TIMEOUT | 4000 | 响应偏慢、可容忍偶发失败 |
| 2 | 限制浏览器实例数,压低内存 | MAX_BROWSERS | 1 | 内存紧张、低配服务器 |
| 3 | 限制单页内容长度,避免上下文爆炸 | MAX_CONTENT_LENGTH | 10000~50000 | 内容过长、模型输出异常 |
| 4 | 精简浏览器类型,减少下载与占用 | BROWSER_TYPES | chromium | 只用 Bing 主引擎、追求轻量 |
| 5 | 提高浏览器回退阈值,减少浏览器启动 | BROWSER_FALLBACK_THRESHOLD | 5 | 希望更多走 axios 快速通道 |
| 6 | 强制多引擎 + 调高质量阈值 | FORCE_MULTI_ENGINE_SEARCH/RELEVANCE_THRESHOLD | true/0.5 | 结果质量差、想择优返回 |
完整参数说明见 README.md 的 Environment Variables 章节,工具参数细节见 docs/API.md。
四、一份可直接套用的完整配置示例
把以下env配置合并进你的 mcp.json(参考仓库根目录示例),即可同时兼顾速度与稳定性:
{ "mcpServers": { "web-search": { "command": "node", "args": ["/path/to/web-search-mcp/dist/index.js"], "env": { "MAX_CONTENT_LENGTH": "10000", "BROWSER_HEADLESS": "true", "MAX_BROWSERS": "1", "DEFAULT_TIMEOUT": "4000", "RELEVANCE_THRESHOLD": "0.5" } } } }⚠️ 注意:修改env后必须重启 MCP 客户端才会生效——环境变量在服务启动时读取(见 src/enhanced-content-extractor.ts 的构造函数)。
五、总结
- 🔎搜索失败:九成问题出在
npx playwright install与npm run build这两步,先补环境再看网络。 - 🐢响应变慢:降
DEFAULT_TIMEOUT、用轻量摘要工具、必要时限制浏览器数量。 - 💾内存暴涨:把
MAX_BROWSERS设为 1 是最有效的"一键降内存"操作。 - 🎯质量不佳:调
RELEVANCE_THRESHOLD或开启FORCE_MULTI_ENGINE_SEARCH。
按本清单从上到下排查,绝大多数 web-search-mcp 的故障都能在一次重启内解决。祝你的本地 LLM 搜索体验丝般顺滑!
- 人工智能
- MCP 服务
【免费下载链接】web-search-mcp
A simple, locally hosted Web Search MCP server for use with Local LLMs
相关推荐
Manticore Search性能调优清单:让搜索响应快10倍的15个技巧
Manticore Search性能调优清单:让搜索响应快10倍的15个技巧 Manticore Search 是一款开源搜索数据库,支持全文、向量与混合搜索,
搜索引擎数据库全文检索后端OPA Kubernetes Admission Control 故障排查完全指南:6 大排查技巧与源码级原理
OPA Kubernetes Admission Control 故障排查完全指南:6 大排查技巧与源码级原理 在 Kubernetes 中部署 OPA 作为准
后端认证鉴权云原生激活Windows失败怎么办?Microsoft-Activation-Script常见问题与故障排查清单
激活Windows失败怎么办?Microsoft Activation Script常见问题与故障排查清单 刚装完系统,激活Windows和Office却频频失
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考