Fetch-MCP:基于 Playwright 的 MCP 服务器,支持批量 URL 获取
`fetch-mcp`是一个基于 `Playwright` 的 MCP 服务器,用于获取网页内容。它提供 `fetch_url` 和 `fetch_urls` 两个功能,分别用于获取单个和批量 URL 的内容,支持 JavaScript 解析、智能内容提取、Markdown 转换等。可以通过 `npx` 快速运行,并支持调试模式。配置方面,需要在 `Claude Desktop` 的配置文件中添加相关信息。开发时,需要安装依赖、`Playwright` 浏览器并构建服务器。可以使用 MCP Inspector 或可见浏览器模式进行调试。
jae-jae/fetch-mcp
使用 Playwright headless 浏览器获取网页内容的 MCP 服务器。
快速开始
可以直接使用 npx
运行:
npx -y github:jae-jae/fetch-mcp
调试模式
使用 --debug
选项运行,可以显示浏览器窗口进行调试:
npx -y github:jae-jae/fetch-mcp --debug
功能
fetch_url
- 从指定的 URL 获取网页内容- 使用 Playwright headless 浏览器解析 JavaScript
- 支持智能提取主要内容并转换为 Markdown 格式
- 支持以下参数:
url
:要获取的网页 URL(必需参数)timeout
:页面加载超时时间,单位为毫秒,默认为 30000(30 秒)waitUntil
:指定何时认为导航完成,选项包括 'load'、'domcontentloaded'、'networkidle'、'commit',默认为 'load'extractContent
:是否智能提取主要内容,默认为 truemaxLength
:返回内容的最大长度(字符数),默认无限制returnHtml
:是否返回 HTML 内容而不是 Markdown,默认为 false
fetch_urls
- 并行地从多个 URL 批量获取网页内容- 使用多标签页并行获取,以提高性能
- 返回合并的结果,并在网页之间进行清晰的分隔
- 支持以下参数:
urls
:要获取的 URL 数组(必需参数)timeout
:页面加载超时时间,单位为毫秒,默认为 30000(30 秒)waitUntil
:指定何时认为导航完成,选项包括 'load'、'domcontentloaded'、'networkidle'、'commit',默认为 'load'extractContent
:是否智能提取主要内容,默认为 truemaxLength
:返回内容的最大长度(字符数),默认无限制returnHtml
:是否返回 HTML 内容而不是 Markdown,默认为 false
配置 MCP
在 Claude Desktop 中配置此 MCP 服务器:
在 MacOS 上:~/Library/Application Support/Claude/claude_desktop_config.json
在 Windows 上:%APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"fetch": {
"command": "npx",
"args": ["-y", "github:jae-jae/fetch-mcp"]
}
}
}
开发
安装依赖
npm install
安装 Playwright 浏览器
安装 Playwright 所需的浏览器:
npm run install-browser
构建服务器
npm run build
调试
使用 MCP Inspector 进行调试:
npm run inspector
也可以启用可见浏览器模式进行调试:
node build/index.js --debug
关于
使用 Playwright headless 浏览器获取网页内容的 MCP 服务器。