MCP Web Search Pro
MCP Web Search Pro
一个扩展的、自托管的网络研究服务器,适用于兼容 MCP 的客户端。它为 AI 助手提供了发现网页、提取可读内容、渲染 JavaScript 应用程序、在页面不可用时使用互联网档案馆以及读取 YouTube 字幕的工具。
该服务设计用于本地或可信网络环境。它是无状态的,不需要 API 密钥,并在端口 8082 上暴露 MCP Streamable HTTP 传输。它可以与另一个端口上的轻量级网络搜索 MCP 服务器一起运行。
作为端口 8082 上的独立容器运行,与轻量级的 mcp-web-search(端口 8081)一起。根据任务将客户端指向合适的服务器——如果专业版感觉缓慢,轻量版仍然在那里,不受影响。
功能
通过 DuckDuckGo 进行网络搜索,支持结果限制和区域选择。
将可读的 HTML 提取为 Markdown,并移除导航和样板内容。
自动 PDF 检测和文本提取。
为 React、Vue、SPA 和其他 JS 密集型页面提供无头 Chromium 渲染。
针对不可用或已更改页面的 Wayback Machine 快照。
从 URL 或视频 ID 获取 YouTube 转录,支持可选的时间戳。
用于容器和进程检查的
/health端点。无状态 Streamable HTTP 和 stdio MCP 传输。
Related MCP server: Basic MCP Tools
MCP 工具
工具 | 描述 |
| 通过 DuckDuckGo (ddgs) 搜索网络。参数: |
| 获取 URL → Markdown。自动检测 PDF 并提取文本。使用 trafilatura 进行干净的文章提取(移除导航/广告/样板内容)。参数: |
| 使用无头 Chromium 渲染 JS 密集型 / SPA 页面,然后提取文本。当 |
| 从 Wayback Machine 获取 URL 的最新(或带时间戳的)存档快照。在临时 503 错误时重试。参数: |
| 获取 YouTube 视频的转录。接受完整的 YouTube URL 或仅 11 个字符的视频 ID。参数: |
对于普通页面使用 web_fetch,因为它更快。当第一个工具返回空壳或不完整内容(因为网站依赖于客户端 JavaScript)时,使用 web_fetch_js。
使用 Docker 运行
docker compose up -d --build验证:
curl http://localhost:8082/health # → {"status":"ok"}日志 / 重启 / 停止:
docker compose logs -f
docker compose restart
docker compose down首次构建较大(约 400MB),因为它会为 Playwright 下载 Chromium。后续构建会重用缓存的层。
连接客户端
将任何兼容 MCP 的客户端指向:
http://<server-host>:8082/mcp无需标头或 API 密钥。服务器以无状态模式运行。
在没有 Docker 的情况下本地运行
推荐使用 Python 3.12:
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
playwright install --with-deps chromium
python server.py直接运行 HTTP 传输:
python server.py --sse --host 127.0.0.1 --port 8082尽管历史上有 --sse 选项名称,但 HTTP 实现使用无状态 MCP Streamable HTTP 传输。
性能说明
只有
web_fetch_js在运行时较重——每次调用都会启动 Chromium(约 5–15 秒)。其他四个工具是轻量级的纯 Python,保持快速响应。docker-compose.yml中的shm_size: 1gb可防止容器内 Chromium 沙箱崩溃。对于常规的非 JS 页面,使用
web_fetch(快速);将web_fetch_js保留给使用 JavaScript 渲染内容的 React/Vue/SPA 网站。
配置
要更改端口,请编辑 docker-compose.yml 中的 ports: 映射和 command:。要启用原始请求/响应日志以进行调试,请切换到注释掉的 --verbose command: 行。
验证
此仓库旨在作为源代码和 Docker 构建配置推送。目前没有自动化测试套件。推荐的项目检查是:
git diff --check
docker compose config
docker compose up -d --build
curl http://localhost:8082/health
docker compose logs --tail=100
docker compose down不要在没有添加身份验证或将其放在受信任的反向代理后面的情况下,将此服务直接发布到公共互联网。HTTP 模式绑定到 0.0.0.0,允许没有 API 密钥的请求,并允许所有来源;这对于本地 MCP 客户端很方便,但不是访问控制层。
安全与操作说明
web_fetch和web_fetch_js可以请求任意 HTTP(S) URL。如果不受信任的用户可以调用该服务,请限制网络访问或添加 URL/DNS 保护措施。在短暂的本地调试会话之外,保持
--verbose禁用,因为它会记录请求和响应体。依赖项使用最低版本约束。在依赖可重现的生产构建之前,请固定或锁定版本。
文件
server.py— MCP 服务器(5 个工具)requirements.txt—mcp,httpx,beautifulsoup4,markdownify,ddgs,trafilatura,pypdf,youtube-transcript-api,playwrightDockerfile— Python 3.12-slim + Playwright Chromiumdocker-compose.yml— 端口 8082 上的服务,带有shm_size: 1gb
许可证
目前未包含许可证文件。在接受外部贡献或重新分发项目之前,请添加许可证。
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.
Related MCP Servers
- Alicense-qualityAmaintenanceZero-auth multi-source research MCP server that enables web search, reading URLs, PDFs, GitHub repos, and querying Hacker News, Stack Overflow, Semantic Scholar, and YouTube transcripts without API keys.10Apache 2.0
- Flicense-qualityBmaintenanceA self-hosted MCP server providing private web search, web page fetching, and current date/time tools, powered by a bundled SearXNG instance for API-key-free local search.2
- Alicense-qualityCmaintenanceA fully local MCP server that provides web search via self-hosted SearXNG and page-to-markdown conversion (static and JS-rendered), all aggregated behind a single endpoint for use with AI assistants.MIT
- Alicense-qualityBmaintenanceMCP server enabling local-first web search, fetch, extract, and caching with citeable excerpts, no API key required. Supports research workflows for agents and apps.323MIT
Related MCP Connectors
An MCP server for deep research or task groups
Search your AI chat history (ChatGPT, Claude, Codex) from any MCP client. Remote, private, read-only
An MCP server that gives your AI access to the source code and docs of all public github repos
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- 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/AngelN-Halo/mcp-web-search-pro'
If you have feedback or need assistance with the MCP directory API, please join our Discord server