一个用于读取网页文章内容的 MCP Server。当前支持微信公众号文章、X/Twitter 推文与长文、腾讯新闻,并返回结构化文本和正文图片信息,便于大模型继续总结、分析或归档。
- 多平台识别:根据 URL 自动选择对应解析器
- 浏览器抓取:使用 Playwright 渲染需要浏览器环境的页面
- 结构化输出:返回标题、作者、发布时间、正文、图片列表和错误信息
- 图片保存:可将正文图片下载到指定目录
- 可扩展解析器:新增平台时实现
BaseParser即可接入
| 平台 | URL 示例 | 说明 |
|---|---|---|
| 微信公众号 | https://mp.weixin.qq.com/s/xxx |
读取标题、作者、发布时间、正文和正文图片 |
| X/Twitter | https://x.com/user/status/123 |
支持普通推文、长文 Article 和图片;优先使用结构化接口,失败后回退到 Playwright |
| 腾讯新闻 | https://news.qq.com/xxx |
优先从页面内结构化数据提取完整正文 |
pip install -r requirements.txt
playwright install chromium将下面的配置加入你的 MCP 客户端,并把路径替换为本机项目路径:
{
"mcpServers": {
"web-page-reader-mcp": {
"command": "python",
"args": [
"/Users/your-name/path/to/web-page-reader/src/server.py"
]
}
}
}读取指定 URL 的文章内容。
参数:
url:文章 URL,支持微信公众号、X/Twitter、腾讯新闻image_dir:可选,本地图片保存目录;不传时使用默认图片缓存目录
返回示例:
{
"success": true,
"title": "文章标题",
"author": "作者名",
"publish_time": "2026-01-01",
"content": "文章正文内容...",
"images": [
{
"src": "https://example.com/image.jpg",
"local_path": "/path/to/image.jpg",
"content_type": "image/jpeg",
"size_bytes": 12345
}
],
"image_count": 1,
"error": null
}请总结这篇文章:https://mp.weixin.qq.com/s/xxx
请分析这条推文:https://x.com/user/status/123
请提取这篇新闻的主要事实:https://news.qq.com/rain/a/xxx
src/
server.py # MCP Server 入口
universal_scraper.py # Playwright 抓取和图片下载
twitter_api.py # X/Twitter 结构化接口回退前置
parsers/
base_parser.py # 解析器基类
weixin_parser.py # 微信公众号解析器
twitter_parser.py # X/Twitter 解析器
qqnews_parser.py # 腾讯新闻解析器
- 仅用于个人学习、研究和内容整理
- 请遵守目标网站的服务条款和 robots/访问限制
- 不建议高频请求;批量读取时应加入合理间隔