
Fetchmcp
io.github.labtools-studio由 GitHub 账号 labtools-studio 发布v0.1.1更新于 Oct 24, 2026
Drop-in fetch MCP: clean Markdown from any URL, with JS rendering and anti-bot.
概览
本地 MCP 服务器,抓取任意网址并返回干净的 Markdown,需要时渲染 JavaScript 并应对基础反爬。
- 可以做什么
- 将网页抓取为干净的 Markdown,可选返回原始 HTML,可限制长度并分页读取长页面,并可控制 JavaScript 渲染或自动识别空壳单页应用。读取文档页面时去除导航栏、页眉和页脚,让 API 文档和指南以干净的参考文本返回。为需要认证的页面附加额外请求头,例如授权或 Cookie 值。以类型化状态报告失败(blocked、blocked_ssrf、needs_js、http_error、timeout、network_error、unsupported_content、empty),而不是把反爬页面或错误页当作正文返回。
- 适用场景
- 当助手需要读取普通抓取工具返回空白或被截断的现代 JavaScript 页面和文档时适用。适合作为基础抓取服务器的替代品,以获得完整长度输出、诚实的错误报告和默认阻止私有地址。
- 运行要求
- 通过 npx 以 stdio 进程在本地运行,需要 Node.js。无需账号或 API 密钥。静态读取可立即使用;首次遇到需要 JavaScript 的页面时会自动下载一次隐身 Chromium 浏览器(约 150 MB),可通过环境变量预下载或跳过。可选环境变量可调整超时、重试、私有 IP 访问以及可选的自托管 FlareSolverr 端点。需要网络访问。
安装
在 SourceWeft 中
- 打开 控制台中的 Fetchmcp,将其添加到工作区。
- 为需要使用其工具的对话启用该服务。
Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。
其他 MCP 客户端
参照 仓库 中的启动说明。
README
fetchmcp
A drop-in replacement for the official fetch MCP that actually works on modern web pages.
[npm] [node] [license] [PRs welcome]
The official fetch MCP is broken on JavaScript-heavy pages, truncates output at 5,000 characters, and ships an unpatched SSRF vulnerability. fetchmcp returns clean, LLM-ready Markdown from any URL — rendering JavaScript when needed, passing basic bot protection without paid proxies, and telling you honestly when a page is blocked instead of hallucinating content. npx and go.
[Add to Cursor] [Install in VS Code]
Why switch
Install
Add to your MCP client config (claude_desktop_config.json, Cursor mcp.json, Cline, etc.):
The install is light — no browser is downloaded up front, and static reading (fetch → Readability → Markdown) works immediately. The first time a page actually needs JavaScript, fetchmcp downloads a stealth Chromium once (~150 MB) automatically, then renders it — still zero-config. To pre-download it at install time, set FETCHMCP_PREINSTALL_BROWSER=1. To stay static-only and never download it, set FETCHMCP_SKIP_BROWSER_DOWNLOAD=1 (JS pages then return an honest needs_js).
Tools
read_url
Fetch any web page as clean Markdown.
read_docs
Same engine, tuned for documentation: strips navigation sidebars, headers, and footers so API docs and guides come back as clean reference text. Takes url, render, headers, max_length, start_index.
Honest statuses
fetchmcp never returns a bot wall, an error page, or a truncated shell dressed up as real content. When it can't read a page it says why, with a typed status: blocked (bot protection, with the vendor), blocked_ssrf, needs_js, http_error, timeout, network_error, unsupported_content, or empty.
Configuration (env vars)
Development & testing
test/probe.mjs --help semantics are documented at the top of that file.
How it works
Three tiers, escalating only as needed:
- Static — plain fetch → Readability → Markdown. Fast path for most pages.
- Browser — lazy patchright (stealth Chromium) when the static HTML is an empty SPA shell, a bot wall, or a
403/429/503. - FlareSolverr (optional) — only if you've configured an endpoint, for challenges the browser can't clear.
Star history
If fetchmcp saved you from one more fetch-returns-nothing moment, a star helps others find it.
License
MIT — see LICENSE.
来源:README.md,提交 87f95a5
工具
0版本历史
1- v0.1.1最新Sep 16, 2026
评分
已满足适用检查项的 50%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
- 近 30 天内可连通25 分
请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。
- 已声明认证方式10 分
请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。
- 已列出工具15 分
请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。
- 描述必需15 分
- 图标10 分
- 文档15 分
- 许可证10 分