Fetcher MCP
基于 Playwright 无头浏览器的网页内容抓取 MCP 服务器。
优势特性
- JavaScript 支持:与传统网页抓取工具不同,Fetcher MCP 使用 Playwright 执行 JavaScript,能够处理动态网页内容和现代 Web 应用。
- 智能内容提取:内置 Readability 算法,自动提取网页主要内容,去除广告、导航栏等非必要元素。
- 灵活输出格式:支持 HTML 和 Markdown 两种输出格式,便于与各种下游应用集成。
- 并行处理:
fetch_urls
工具支持并发抓取多个 URL,显著提升批量操作效率。
- 资源优化:自动屏蔽非必要资源(图片、样式表、字体、媒体文件),减少带宽占用,提高性能。
- 健壮的错误处理:全面的错误处理和日志记录,确保在处理问题网页时仍能可靠运行。
- 可配置参数:提供细粒度的超时、内容提取和输出格式控制,适应不同使用场景。
快速开始
使用 npx 直接运行:
首次设置 - 在终端中运行以下命令安装所需浏览器:
调试模式
使用
--debug
选项运行,显示浏览器窗口用于调试:MCP 配置
在 Claude Desktop 中配置此 MCP 服务器:
MacOS:
~/Library/Application Support/Claude/claude_desktop_config.json
Windows:
%APPDATA%/Claude/claude_desktop_config.json
功能特性
fetch_url
- 从指定 URL 获取网页内容- 使用 Playwright 无头浏览器解析 JavaScript
- 支持智能提取主要内容并转换为 Markdown
- 支持以下参数:
url
: 要抓取的网页 URL(必填参数)timeout
: 页面加载超时时间(毫秒),默认 30000(30 秒)waitUntil
: 指定何时认为导航完成,选项:'load', 'domcontentloaded', 'networkidle', 'commit',默认 'load'extractContent
: 是否智能提取主要内容,默认 truemaxLength
: 返回内容的最大长度(字符数),默认无限制returnHtml
: 是否返回 HTML 内容而非 Markdown,默认 falsewaitForNavigation
: 是否在初始页面加载后等待额外导航(适用于有反爬虫验证的网站),默认 falsenavigationTimeout
: 等待额外导航的最长时间(毫秒),默认 10000(10 秒)disableMedia
: 是否禁用媒体资源(图片、样式表、字体、媒体文件),默认 truedebug
: 是否启用调试模式(显示浏览器窗口),如果指定,会覆盖 --debug 命令行标志
fetch_urls
- 并行批量获取多个 URL 的网页内容- 使用多标签页并行抓取提高性能
- 返回合并结果,网页间有清晰分隔
- 支持以下参数:
urls
: 要抓取的 URL 数组(必填参数)- 其他参数与
fetch_url
相同
使用技巧
处理特殊网站场景
应对反爬虫机制
- 等待完全加载:对于使用验证码、重定向或其他验证机制的网站,可在提示中包含:
这将使用
waitForNavigation: true
参数。- 增加超时时间:对于加载缓慢的网站:
这将相应调整
timeout
和 navigationTimeout
参数。内容获取调整
- 保留原始 HTML 结构:当内容提取可能失败时:
设置
extractContent: false
和 returnHtml: true
。- 获取完整页面内容:当提取内容过于有限时:
设置
extractContent: false
。- 返回 HTML 格式内容:当需要 HTML 格式而非默认的 Markdown 时:
设置
returnHtml: true
。调试与认证
启用调试模式
- 动态调试激活:在特定抓取操作期间显示浏览器窗口:
即使服务器启动时未使用
--debug
标志,也会设置 debug: true
。使用自定义 Cookie 进行认证
- 手动登录:使用自己的凭据登录:
设置
debug: true
或使用 --debug
标志,保持浏览器窗口打开以进行手动登录。- 与调试浏览器交互:启用调试模式时:
- 浏览器窗口保持打开
- 可以使用自己的凭据手动登录网站
- 登录完成后,将使用认证会话获取内容
- 为特定请求启用调试:即使服务器已在运行,也可以为特定请求启用调试模式:
仅为此特定请求设置
debug: true
,打开浏览器窗口进行手动登录。开发指南
安装依赖
安装 Playwright 浏览器
安装 Playwright 所需的浏览器:
构建服务器
调试
使用 MCP Inspector 进行调试:
也可以启用可见浏览器模式进行调试:
相关项目
- g-search-mcp:强大的 Google 搜索 MCP 服务器,支持同时使用多个关键词进行并行搜索。非常适合批量搜索操作和数据收集。
许可证
- Author:waytomcp
- URL:https://www.waytomcp.com/article/jae-jae/fetcher-mcp
- Copyright:All articles in this blog, except for special statements, adopt BY-NC-SA agreement. Please indicate the source!