关于 Mercury Parser
Mercury Parser 是用于将网页文章提取为 Markdown 的 MCP 服务。它先用无头 Chromium 渲染 JavaScript 页面,再解析文章并跟进分页链接;浏览器导航失败时可回退到直接抓取。
主要功能
- 01将文章信息和正文提取为 Markdown
- 02使用 Playwright 渲染 JavaScript 页面
- 03跟进分页链接
- 04按请求配置代理
- 05回退到直接抓取
适用场景
- 01将网页文章转换为 Markdown
- 02提取 JavaScript 渲染页面的内容
- 03获取分页文章内容
MCP 相关
它提供 `extract` 工具,接收页面 URL 和可选代理,并以 Markdown 返回文章信息和正文。支持 stdio 和 Streamable HTTP 传输。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
mercury-parser
一个围绕 jocmp/mercury-parser(Postlight Parser 的维护分支)构建的 MCP 包装器。它使用无头 Chromium(Playwright)获取网页,以捕获 JavaScript 渲染的内容,然后运行 Mercury Parser 提取文章并以 Markdown 格式返回。自动跟随分页链接。
工具
该服务仅提供一个工具:
extract
| 参数 | 类型 | 必填 | 描述 |
|---|---|---|---|
url | 字符串 | 是 | 要提取内容的页面 URL |
proxy | 字符串 | 否 | 无头浏览器的代理 URL,例如 http://host:port、socks5://host:port、http://user:pass@host:port。本次调用中会覆盖 MERCURY_PROXY 环境变量。 |
以 Markdown 格式返回文章(标题、作者、日期、摘要、正文)。如果 Playwright 执行失败(HTTP/2 协议错误、导航超时等),则会回退到通过 Mercury Parser 直接获取,以便仍能返回部分内容。
环境变量
| 变量 | 默认值 | 描述 |
|---|---|---|
MCP_TRANSPORT | stdio | stdio 或 http。远程/Streamable HTTP 传输请使用 http。 |
MCP_HOST | 127.0.0.1 | MCP_TRANSPORT=http 时的绑定地址。 |
MCP_PORT | 3000 | MCP_TRANSPORT=http 时的绑定端口。 |
MCP_PATH | /mcp | MCP_TRANSPORT=http 时的 URL 路径。 |
MERCURY_PROXY | — | 无头浏览器的默认代理。每次调用时会被工具参数 proxy 覆盖。 |
用法
Claude Desktop(本地 stdio)
添加到 claude_desktop_config.json:
{
"mcpServers": {
"mercury-parser": {
"command": "npx",
"args": [
"@koichikawamura/mercury-parser",
"mercury-parser-mcp"
]
}
}
}
要让每次调用的无头浏览器都通过代理访问:
{
"mcpServers": {
"mercury-parser": {
"command": "npx",
"args": [
"@koichikawamura/mercury-parser",
"mercury-parser-mcp"
],
"env": {
"MERCURY_PROXY": "socks5://localhost:1080"
}
}
}
}
远程 MCP(Streamable HTTP)
通过 HTTP 运行服务——适用于反向代理 / Cloudflare Tunnel 后的场景:
MCP_TRANSPORT=http \
MCP_HOST=127.0.0.1 \
MCP_PORT=3030 \
MERCURY_PROXY=http://your-proxy:3128 \
npx @koichikawamura/mercury-parser mercury-parser-mcp
客户端可通过 http://<host>:<port>/mcp 访问。客户端侧可配合 mcp-remote 使用;如果端点由支持 OAuth 的代理(例如 Cloudflare Access)保护,也可以直接在 Claude.ai / ChatGPT 中将其注册为连接器。
CLI(临时测试)
node extractContent.js <url> [proxy]
要求
- Node.js 18+
- Playwright Chromium(如果缺失,会在首次启动时自动安装)
许可证
MIT — 参见 LICENSE。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。