MCP微信蜘蛛🕷️
英语 | 中文
不再复制粘贴!让AI通过MCP直接阅读微信文章
一个MCP(模型上下文协议)服务器,使人工智能助手能够直接抓取和分析微信公众号文章——不再复制粘贴!
问题解决了
你是否曾希望人工智能分析微信文章,却发现它无法访问内容?传统的工作流程要求:
- 打开微信文章
- 手动复制所有文本
- 粘贴到AI聊天
- 丢失图像和格式
这个MCP服务器解决了这个问题。 只需给AI一个微信网址,它就可以:
- 提取整篇文章内容(文本+HTML)
- 下载嵌入图像
- 分析文章统计
- 比较多篇文章
- 批量处理竞争对手账户
快速开始
1.安装依赖项
cd mcp-weixin
pip install -r requirements.txt或者使用紫外线:
uv pip install -r requirements.txt2.选择后端
| 后端 | 优点 | 缺点 |
|---|---|---|
| 代理浏览器 | 更轻,不需要Chrome驱动程序 | 功能更少,需要安装代理浏览器 |
| 硒 | 功能齐全,图像下载 | 更重,需要Chrome/ChromeDriver |
通过设置 CRAWLER_BACKEND env 是: "agentbrowser" 或 "selenium" (默认)。
3.在Cursor/Claude中配置
添加到MCP设置(光标:设置→ MCP,或 ~/.cursor/mcp.json):
选项A:代理浏览器后端(推荐-重量更轻)
{
"mcpServers": {
"weixin_spider": {
"command": "python",
"args": ["/path/to/mcp-weixin/src/mcp_weixin_spider/server.py"],
"env": {
"PYTHONPATH": "/path/to/mcp-weixin",
"CRAWLER_BACKEND": "agentbrowser",
"AGENT_BROWSER_BIN": "/path/to/agent-browser/bin/agent-browser",
"WAIT_TIME": "10"
}
}
}
}选项B:Selenium后端(全功能)
{
"mcpServers": {
"weixin_spider": {
"command": "python",
"args": ["/path/to/mcp-weixin/src/mcp_weixin_spider/server.py"],
"env": {
"PYTHONPATH": "/path/to/mcp-weixin",
"CRAWLER_BACKEND": "selenium",
"DOWNLOAD_IMAGES": "true",
"WAIT_TIME": "10"
}
}
}
}3.在AI聊天中使用
配置后,您可以询问您的AI:
帮我分析这篇公众号文章: https://mp.weixin.qq.com/s/...人工智能将使用MCP工具直接抓取和分析文章!
可用工具
| 工具 | 说明 |
|---|---|
crawl_weixin_article | 爬取文章内容和图片 - Full article extraction |
analyze_weixin_article | 分析文章统计数据 - Statistics and key phrases |
summarize_weixin_article | 获取文章摘要 - Quick summary |
batch_crawl_articles | 批量爬取多篇文章 - Process multiple URLs |
compare_articles | 对比分析多篇文章 - Competitive analysis |
建筑
mcp-weixin/
├── src/mcp_weixin_spider/
│ ├── server.py # FastMCP server (main entry point)
│ ├── client.py # MCP client for testing
│ └── __init__.py
├── weixin_spider_simple.py # Core crawler (Selenium/Chrome)
├── pyproject.toml # Project config
├── requirements.txt # Dependencies
└── README.md运作原理
┌─────────────┐ MCP Protocol ┌──────────────┐
│ AI/LLM │ ◄─────────────────► │ MCP Server │
│ (Claude/ │ stdio transport │ (FastMCP) │
│ Cursor) │ └──────┬───────┘
└─────────────┘ │
▼
┌───────────────────┐
│ Chrome Driver │
│ (Headless) │
└─────────┬─────────┘
│
▼
┌───────────────────┐
│ mp.weixin.qq.com │
│ (Articles) │
└───────────────────┘- AI发送请求 通过MCP协议
- MCP 服务器 接收并解析请求
- Chrome驱动程序 加载微信文章(无头)
- 提取的内容 (标题、作者、文本、图片)
- 返回结果 将AI转换为结构化JSON
用例
1.单项分析
用户: 帮我总结这篇文章 https://mp.weixin.qq.com/s/xxx
AI: [calls summarize_weixin_article] 这篇文章主要讲述了...2.竞争分析
用户: 对比分析这三个竞品公众号的最新文章
AI: [calls compare_articles] 三篇文章的对比分析如下...3.批量内容监控
用户: 批量获取这10篇文章的摘要
AI: [calls batch_crawl_articles] 已获取10篇文章...配置
环境变量
| 变量 | 默认值 | 描述 |
|---|---|---|
DOWNLOAD_IMAGES | true | 下载文章图片 |
WAIT_TIME | 10 | 页面加载超时(秒) |
OUTPUT_DIR | ./downloads | 图像下载目录 |
Chrome要求
爬虫使用Selenium和Chrome。首次运行时,它将通过以下方式自动下载相应的ChromeDriver webdriver-manager.
对于无头服务器(如VPC),请确保已安装Chrome:
# Ubuntu/Debian
sudo apt-get install chromium-browser
# Or install Google Chrome
wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
sudo dpkg -i google-chrome-stable_current_amd64.deb测试
使用内置客户端进行测试:
python src/mcp_weixin_spider/client.py这将打开一个交互式会话,您可以在其中测试所有工具。
直接测试履带:
python weixin_spider_simple.py
# Enter a WeChat article URL when prompted提取的数据
示例输出来自 crawl_weixin_article:
{
"url": "https://mp.weixin.qq.com/s/...",
"title": "告别复制粘贴!用MCP让AI直接读取微信公众号",
"author": "精神抖擞王大鹏",
"account_name": "精神抖擞王大鹏",
"publish_date": "2025-07-02",
"content_text": "你有没有遇到过这种场景...",
"content_html": "
...
",
"word_count": 1234,
"images": [
{
"index": 0,
"url": "https://mmbiz.qpic.cn/...",
"local_path": "./downloads/abc123/image_000.jpg"
}
],
"crawl_timestamp": "2026-02-03T10:30:00"
}限制和反机器人保护
⚠️ 微信具有复杂的反机器人检测功能:
- 验证页面:微信显示“环境异常”自动访问
- IP阻塞:数据中心IP很快被阻止
- 速率限制:严格限制请求频率
变通方法
1.使用已保存的浏览器状态(推荐):
# Login manually in headed mode first
agent-browser --headed open https://mp.weixin.qq.com
# Complete any verification, then save state
agent-browser state save weixin-auth.json
# Later, load saved state
agent-browser state load weixin-auth.json2.使用住宅代理:
agent-browser --proxy http://residential-proxy:port open 3.限速最佳做法:
- 请求之间等待10-30秒
- 每小时限制10-20篇文章
- 使用随机延迟
其他限制
- 需要登录:有些文章需要微信登录
- 动态内容:复杂的交互式内容可能无法完全呈现
- 图像过期:下载的图像是时间点快照
参考文献
贡献
PR欢迎!拜托:
- 使用
black用于格式化 - 为新功能添加测试
- 为API更改更新README
许可证
麻省理工学院
学分
灵感来自 精神抖擞王大鹏's WeChat article MCP+爬虫集成。
内置:
