这是一个使用Playwright进行浏览器自动化以提供网页内容抓取能力的Model Context Protocol服务器。该服务器使LLMs能够从网页中检索并处理JavaScript渲染的内容,并将HTML转换为易于消费的markdown。
由 Wyatt Roersma 创建,Claude Code 提供了帮助。
playwright-fetch - 使用Playwright浏览器自动化抓取URL并将其内容提取为markdown。
url (字符串,必需):要抓取的URLmax_length (整数,可选):返回的最大字符数(默认:5000)start_index (整数,可选):从此字符索引开始内容(默认:0)raw (布尔值,可选):获取未经markdown转换的原始内容(默认:false)wait_for_js (布尔值,可选):等待JavaScript执行(默认:true)url (字符串,必需):要抓取的URLuv 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 .
添加到您的Claude设置中:
<details> <summary>使用uvx</summary>"mcpServers": {
"playwright-fetch": {
"command": "uvx",
"args": ["mcp-server-playwright-fetch"]
}
}
</details>
<details>
<summary>使用docker</summary>
"mcpServers": {
"playwright-fetch": {
"command": "docker",
"args": ["run", "-i", "--rm", "threatflux/playwright-fetch"]
}
}
</details>
对于手动安装,将以下JSON块添加到VS Code中的用户设置(JSON)文件中。
<details> <summary>使用uvx</summary>{
"mcp": {
"servers": {
"playwright-fetch": {
"command": "uvx",
"args": ["mcp-server-playwright-fetch"]
}
}
}
}
</details>
<details>
<summary>使用Docker</summary>
{
"mcp": {
"servers": {
"playwright-fetch": {
"command": "docker",
"args": ["run", "-i", "--rm", "threatflux/playwright-fetch"]
}
}
}
}
</details>
服务器支持这些命令行选项:
--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
此实现与标准fetch MCP服务器的不同之处在于:
本项目根据MIT许可证发布。详情见LICENSE文件。