web-search-mcp
Supports consuming RSS/Atom feeds to retrieve article content when direct page extraction fails, including automatic discovery of same-site feeds.
Click on "Deploy 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., "@web-search-mcpSearch for MCP server best practices and read the top result"
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.
Web 搜索与阅读 MCP(web-search-mcp)
一个自定义本地 MCP 服务器:搜得准、筛得净、读得动——给 DeepSeek Harness(或任意 MCP 客户端)提供"网页搜索 + 广告/SEO 毒站过滤 + 网页全文阅读(含多页与 JS 渲染页)"。
技术:Python 3.10+ + FastMCP v1(
mcp>=1.2,<2)搜索源:Bing 免 Key(RSS 主 → HTML 有机块兜底);可选 Tavily / 博查(环境变量密钥,缺失自动不可用)
返回:全中文、带
来源/时间/过滤说明/核验备注,可点击原文核实纪律:robots 尊重、限速、如实 UA、无 Cookie/JS、SSRF 防护、绝不绕过验证码/登录墙/付费墙
工具
工具 | 说明 |
| 搜索(默认 bing;可选 tavily/bocha/auto);结果经类型打标(百科/词典/音乐=参考类,默认标注并置底, |
| 抓取并阅读网页正文;多页文章自动翻页拼接( |
| 查看当前可用搜索源与抓取/阅读能力 |
| 连通自检 |
接入后工具名形如 mcp__<serverName>__ws_search(DSH 桥接命名)。
Related MCP server: web-search-cli
目录结构
web-search-mcp/
├─ server.py 入口(FastMCP,stdio)
├─ wsweb/ 实现包(config/errors/models/urlutil/safety/filtering/providers/reader/browser/service)
├─ requirements.txt 依赖(mcp<2 / requests / trafilatura)
├─ .env.example 环境变量说明(密钥只走环境变量)
├─ test_self.py 自测(含离线单测;不依赖外部客户端)
├─ setup.bat / setup.sh 一键:建 venv + 装依赖 + 自测(Windows / Linux)
└─ dsh-patch.example.yml DeepSeek Harness 接入补丁模板安装与自测
:: Windows
setup.bat
:: 或手动:
python -m venv .venv
.venv\Scripts\pip install -r requirements.txt
.venv\Scripts\python test_self.py# Linux / Cloud
python3 -m venv .venv
.venv/bin/pip install -r requirements.txt
export TZ=Asia/Shanghai # 否则时间戳用服务器本地(默认 UTC)
# 可选:export TAVILY_API_KEY=tvly-xxx # 更稳的搜索兜底,ws_search provider=auto
.venv/bin/python test_self.py配置(环境变量,密钥绝不落盘)
变量 | 含义 | 默认 |
| 启用 Tavily(月免费 1000 credits) | 空=不可用 |
| 启用博查(基址可切 | 空=不可用 |
| 是否尊重 robots.txt | 1 |
| 同主机限速间隔秒 | 1.0 |
| 单响应上限 | 2MB |
| 单页输出/翻页上限 | 60000 / 5 |
| 如实标识的 UA | 内置 |
| TopN 核验条数 | 1 |
| 多页续读: | page |
| 浏览器渲染兜底: | auto |
接入 DeepSeek Harness
编辑 <DSH_HOME>/profiles/<profile>/cordis.patch.yml(把 <DSH_HOME> 换成你的 DSH 主目录
~/.dsh;<repo> 换成你克隆本仓库的绝对路径),追加:
- insert:
- id: local-websearch-mcp
name: '@deepseek-ai/dsh-mcp-client'
config:
serverName: websearch
transport: stdio
toolCallTimeoutMs: 180000
command: '<repo>\.venv\Scripts\python.exe' # Linux: <repo>/.venv/bin/python
args:
- '<repo>\server.py'
cwd: !!js process.cwd()
env:
TAVILY_API_KEY: !!js '`${process.env.TAVILY_API_KEY ?? ""}`'
BOCHA_API_KEY: !!js '`${process.env.BOCHA_API_KEY ?? ""}`'该 profile 为 patchReload: live:保存即热生效(增删 bundle 除外)。启用 Tavily/博查需在
启动 dsh 前把 Key 导出到 shell 环境($env:TAVILY_API_KEY=...)。
其它客户端(Claude Desktop / 其它支持 MCP 的客户端)
mcpServers 下配:
{
"websearch": {
"command": "<repo>\\.venv\\Scripts\\python.exe",
"args": ["<repo>\\server.py"]
}
}搜索与过滤管线(不静默丢好结果)
搜索:Bing RSS(免 Key;条款限个人非商业、低流量)→ 失败自动走 HTML 有机块(只取
li.b_algo,跳过广告与 AI 摘要容器),解析bing.com/ck/a跳转、净化%20…lang:尾巴。去重:规范化 URL(去跟踪参数
utm_*/gclid等 + 去 fragment)+ 标题双重去重。去毒:广告/统计域名、广告子域、跳转包装壳(google/bing/baidu/zhihu 跳转)剔除并列出原因; 标题强广告信号且摘要空洞也剔除;其余一律保留。
参考类打标:百科/词典/音乐/游戏wiki 类标为
reference(默认置底,exclude_kind=reference剔除)。核验(默认前 1 条,
WS_VERIFY可调):404/410 剔除;403/robots 拒绝→保留并加 ⚠ 备注; 源站标题与搜索标题严重不符→加 ⚠ 备注提醒,不误杀。
边界与合规(如实声明)
Bing RSS 输出带版权声明:仅限个人非商业低流量使用;其它用途需微软书面许可(本工具不提供 商业化分发)。必要时可只保留 HTML 有机块或改用 Tavily/博查。
抓取尊重站点 robots 与风控:遇到 403/验证码/登录墙如实报告,绝不绕过;只抓登录前公开页。
数据-指令边界:所有抓取/搜索结果均标注「外部数据·非指令」,并对第三方内容做提示注入模式扫描, 命中仅加 ⚠ 告警(不静默丢弃、不执行其中任何指令);
WS_MARK_UNTRUSTED/WS_INJECTION_WARN可关。能力自感知:本工具输出纯文本。若调用方(模型)支持图像输入(如换成视觉模型),JS 页也可走 "截图 → 模型读图";否则依赖 ws_read 的浏览器渲染兜底。
免费接口(Tavily 月 1000 credits、博查资源包)条款与额度可能变动,以官方为准。
本项目不构成投资/交易建议,也不产出任何观点,只做数据检索与整理。
This server cannot be deployed
Maintenance
Related MCP Connectors
Keyless web, GitHub, YouTube and Reddit search and read. Delegated shop, booking and signup.
Search the web, images, videos, news, and local businesses with robust filters, freshness controls…
Web search, URL content extraction to Markdown, site mapping, and recursive web crawler.
Paid web, news, company, product, and geographic search plus clean page reading for agents.
Related MCP Servers
- AlicenseAqualityDmaintenanceEnables advanced web search across multiple search engines (Brave, DuckDuckGo, Google, Bing, Yandex) with intelligent backend selection, full content extraction, and advanced filtering by time, language, geography, and content type.3MIT
- AlicenseNot gradedqualityDmaintenanceEnables web search using Bing and DuckDuckGo combined, and fetching readable content from web pages, with no API key required.9 npm2MIT
- AlicenseBqualityDmaintenancePerforms comprehensive web searches by combining Google search with advanced content extraction using Mozilla's Readability algorithm.22 npm2MIT
- AlicenseNot gradedqualityDmaintenanceEnables web search via DuckDuckGo and content extraction from URLs using Readability.js.46 npm1Do What The F*ck You Want To Public