Playwright Fetch MCP Server 是一个基于 Model Context Protocol 的服务器,借助 Playwright 实现浏览器自动化,为大语言模型(LLMs)提供网页内容抓取能力。它能够帮助 LLMs 从网页中获取并处理 JavaScript 渲染后的内容,还能将 HTML 转换为便于使用的 Markdown 格式。
本项目借助 Playwright 实现浏览器自动化,可抓取网页中的 JavaScript 渲染内容,并将其转换为 Markdown 格式。以下是使用前的准备步骤:
uv pip install git+https://github.com/ThreatFlux/playwright-fetch.git
# 安装 Playwright 浏览器
uv pip exec playwright install
或者,克隆仓库并安装:
git clone https://github.com/ThreatFlux/playwright-fetch.git
cd playwright-fetch
uv pip install -e .
# 安装 Playwright 浏览器
uv pip exec playwright install
可以从 Docker Hub 或 GitHub Container Registry 获取预构建的 Docker 镜像:
# 从 Docker Hub 获取
docker pull threatflux/playwright-fetch:latest
# 从 GitHub Container Registry 获取
docker pull ghcr.io/threatflux/playwright-fetch:latest
也可以自行构建:
docker build -t threatflux/playwright-fetch .
playwright-fetch - 使用 Playwright 浏览器自动化抓取 URL 并将内容提取为 Markdown 格式。
url(字符串,必需):要抓取的 URL。max_length(整数,可选):返回的最大字符数(默认:5000)。start_index(整数,可选):从该字符索引开始提取内容(默认:0)。raw(布尔值,可选):获取未经 Markdown 转换的原始内容(默认:false)。wait_for_js(布尔值,可选):等待 JavaScript 执行(默认:true)。url(字符串,必需):要抓取的 URL。在 Claude 设置中添加以下内容:
"mcpServers": {
"playwright-fetch": {
"command": "uvx",
"args": ["mcp-server-playwright-fetch"]
}
}
"mcpServers": {
"playwright-fetch": {
"command": "docker",
"args": ["run", "-i", "--rm", "threatflux/playwright-fetch"]
}
}
手动安装时,在 VS Code 的用户设置(JSON)文件中添加以下 JSON 块:
{
"mcp": {
"servers": {
"playwright-fetch": {
"command": "uvx",
"args": ["mcp-server-playwright-fetch"]
}
}
}
}
{
"mcp": {
"servers": {
"playwright-fetch": {
"command": "docker",
"args": ["run", "-i", "--rm", "threatflux/playwright-fetch"]
}
}
}
}
服务器支持以下命令行选项:
--user-agent:自定义 User-Agent 字符串。--ignore-robots-txt:忽略 robots.txt 限制。--proxy-url:请求使用的代理 URL。--headless:以无头模式运行浏览器(默认:True)。--wait-until:指定何时认为导航成功(可选值:"load", "domcontentloaded", "networkidle", "commit",默认:"networkidle")。# 使用默认设置运行
uv run mcp-server-playwright-fetch
# 使用自定义用户代理和代理运行
uv run mcp-server-playwright-fetch --user-agent="MyCustomAgent/1.0" --proxy-url="http://myproxy:8080"
# 以可见浏览器模式运行以进行调试
uv run mcp-server-playwright-fetch --headless=false
可以使用 MCP 检查器调试服务器:
npx @modelcontextprotocol/inspector uvx mcp-server-playwright-fetch
本实现与标准的抓取 MCP 服务器有以下不同:
本项目采用 MIT 许可证。详情请参阅 LICENSE 文件。
本项目由 Wyatt Roersma 创建,并得到了 Claude Code 的协助。