MCP微信公众号爬虫
基于 FastMCP 框架构建的微信公众号文章爬虫系统,让AI智能体能够直接访问和分析微信公众号内容。通过MCP (Model Context Protocol) 标准协议,实现AI智能体与Selenium爬虫的无缝集成。
🎯 项目背景
在使用AI平台或智能体时,我们发现智能体无法直接访问微信公众号文章内容。为了解决这个问题,我们开发了这个基于MCP协议的爬虫服务,让AI智能体能够获取和分析微信公众号的内容。
✨ 核心特性
- 🤖 FastMCP框架 - 基于FastMCP高级封装,简化MCP服务器开发
- 🕷️ 智能爬虫 - 使用Selenium自动化浏览器,支持动态内容抓取
- 🖼️ 图片处理 - 自动下载文章图片并转换为本地文件
- 📊 内容分析 - 提供文章统计、关键词提取等分析功能
- 🔌 标准协议 - 完全兼容MCP 1.0+规范,支持stdio通信
- 🎯 AI集成 - 可与Claude Desktop、ChatGPT等AI智能体无缝集成
- 💻 多种接口 - 提供Python API和交互式命令行界面
🏗️ 系统架构
graph TB
subgraph "AI智能体层"
A[Claude Desktop]
B[ChatGPT]
C[其他AI智能体]
end
subgraph "MCP协议层"
D[MCP客户端]
E[stdio通信]
F[MCP服务器<br/>FastMCP]
end
subgraph "爬虫引擎层"
G[Selenium WebDriver]
H[Chrome浏览器]
I[图片下载器]
end
subgraph "数据存储层"
J[JSON文件]
K[TXT文件]
L[图片文件]
end
A --> D
B --> D
C --> D
D <--> E
E <--> F
F --> G
G --> H
F --> I
G --> J
G --> K
I --> L
🔧 核心组件
1. FastMCP服务器 (server.py)
- 基于FastMCP框架的高级封装
- 提供3个核心工具:文章爬取、内容分析、统计信息
- 单例模式管理Selenium爬虫实例
- 完整的错误处理和参数验证
2. MCP标准客户端 (client.py)
- 标准MCP协议客户端实现
- 异步通信和会话管理
- 交互式命令行界面
- Python API接口
3. Selenium爬虫引擎 (weixin_spider_simple.py)
- Chrome浏览器自动化控制
- 反爬虫机制处理
- 图片下载和格式转换
- 多格式文件保存
🚀 快速开始
📋 环境要求
- Python: 3.8+ (推荐 3.10+)
- 浏览器: Chrome/Chromium (自动管理ChromeDriver)
- 系统: macOS/Windows/Linux
📦 安装步骤
# 1. 克隆项目
git clone <repository-url>
cd mcp-weixin
# 2. 安装依赖
pip install -r requirements.txt
🎮 启动方式
模块化启动(推荐)
# 启动MCP服务器
python -m mcp_weixin_spider
# 启动客户端演示
python -m mcp_weixin_spider.client
🛠️ MCP工具接口
{
"mcpServers": {
"weixin_spider": {
"command": "python",
"args": [
"本地路径/server.py"
],
"env": {
"ARTICLES_DIR": "articles",
"DOWNLOAD_IMAGES": "true",
"HEADLESS": "true",
"WAIT_TIME": "10"
}
}
}
}
Metadata
Release files for iflow-mcp_MCPWeChatOfficialAccounts 1.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| iflow_mcp_mcpwechatofficialaccounts-1.0.0.tar.gz | 11.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| iflow_mcp_mcpwechatofficialaccounts-1.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 24.9 kB
Release files / iflow_mcp_mcpwechatofficialaccounts-1.0.0.tar.gz
| Download URL | iflow_mcp_mcpwechatofficialaccounts-1.0.0.tar.gz |
|---|---|
| Size | 11.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
03ef0d9b99d792ebf5f51e565f20731d4bef37cc695b186434aa74138e2182ad
|
|
BLAKE2b-256 checksum How to use checksums |
b7f9f66e2c7cfb463c82bf57cc6a985de5f29007d6471ac51f51f1851ceadec0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.9.8
|
Release files / iflow_mcp_mcpwechatofficialaccounts-1.0.0-py3-none-any.whl
| Download URL | iflow_mcp_mcpwechatofficialaccounts-1.0.0-py3-none-any.whl |
|---|---|
| Size | 13.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
744691f4ccfb7b47f66ebdf1e4d28f5ddc323cdd469b35a59efa60f01f1611ca
|
|
BLAKE2b-256 checksum How to use checksums |
9b5f6debee4e365d2149a740cdb07c6d2d3597ca5f392ac55000a2b4e7b8d6e6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.9.8
|