mcp101
MCP 服务配置
复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用
{
"mcpServers": {
"wechat-article-parser": {
"args": [
"/绝对路径/wechat-article-parser-mcp/server.py"
],
"command": "python3"
}
}
}
服务介绍
微信公众号文章解析 MCP Server
基于 FastMCP 框架实现的微信公众号文章内容解析 MCPModel Context Protocol服务器
功能特性
- 解析微信公众号文章 URL
- 提取文章标题作者发布时间
- 提取文章正文纯文本格式
- 提取文章摘要/描述
- LLM 深度分析使用大语言模型进行语义分析观点提取结构分析
- 专注于文字内容解析不处理图片
- 基于 FastMCP 框架使用 stdio 传输
- 遵循 MCP 规范与所有 MCP 客户端兼容
环境准备
1. 创建虚拟环境
# 创建虚拟环境
python -m venv venv
# 激活虚拟环境
# macOS/Linux:
source venv/bin/activate
# Windows:
venv\Scripts\activate
2. 安装依赖
pip install -r requirements.txt
如果网络较慢可以使用国内镜像源
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
运行服务
python server.py
在 Cursor 中配置 MCP
编辑 ~/.cursor/mcp.json添加以下配置
{
"mcpServers": {
"wechat-article-parser": {
"command": "python3",
"args": ["/绝对路径/wechat-article-parser-mcp/server.py"]
}
}
}
重启 Cursor即可使用微信公众号文章解析功能
配置 LLM API可选用于深度分析
如果需要使用 analyze_with_llm 工具需要配置智谱 AI API Key
配置方式环境变量在 MCP 配置中
在 ~/.cursor/mcp.json 中配置 API Key已在安装步骤中配置
{
"wechat-article-parser": {
"command": "python3",
"args": ["/path/to/server.py"],
"env": {
"ZHIPU_API_KEY": "your-zhipu-api-key-here"
}
}
}
获取 API Key
访问 https://open.bigmodel.cn/ 注册并获取 API Key
可用工具
parse_article
解析微信公众号文章生成详细摘要使用 LLM 生成至少十句话的摘要总结全文和分段要点
参数
url(必填): 微信公众号文章 URL例如https://mp.weixin.qq.com/s/...
返回示例
{
"success": true,
"url": "https://mp.weixin.qq.com/s/...",
"title": "文章标题",
"author": "作者名称",
"publish_time": "2024-01-01 12:00:00",
"summary": "使用 LLM 生成的详细摘要至少十句话总结全文和分段要点...",
"metadata": {
"charset": "utf-8",
"content_type": "text/html"
}
}
使用示例
parse_article(
url="https://mp.weixin.qq.com/s/xxxxx"
)
analyze_with_llm
使用大语言模型进行深度语义分析和观点提取推荐
参数
url(可选): 微信公众号文章 URL如果提供则自动解析文章内容title(可选): 文章标题如果不提供 URL 则必须提供author(可选): 作者名称content(可选): 文章正文内容如果不提供 URL 则必须提供save_path(可选): 保存分析结果的 Markdown 文件路径如果不提供则自动生成文件名model(可选): LLM 模型名称默认 "glm-4"可选 "glm-4-flash", "glm-3-turbo" 等智谱 AIanalysis_type(可选): 分析类型默认 "comprehensive"综合分析可选 "viewpoint"观点提取"structure"结构分析
分析类型说明
- comprehensive综合分析完整分析包括观点结构论证方式语言风格价值评估
- viewpoint观点提取专注于观点提取和分析包括核心观点分论点链条论证方式观点价值
- structure结构分析专注于文章结构分析包括整体结构段落组织过渡衔接层次划分可读性
返回示例
{
"success": true,
"message": "LLM analysis completed successfully",
"file_path": "文章标题-LLM综合分析.md",
"file_size": 12345,
"article_info": {
"title": "文章标题",
"author": "作者名称",
"content_length": 1234
},
"analysis_info": {
"type": "comprehensive",
"model": "glm-4",
"provider": "zhipu",
"method": "LLM semantic analysis"
}
}
使用示例
方式 1综合分析默认
analyze_with_llm(
url="https://mp.weixin.qq.com/s/xxxxx"
)
方式 2只提取观点
analyze_with_llm(
url="https://mp.weixin.qq.com/s/xxxxx",
analysis_type="viewpoint"
)
方式 3只分析结构
analyze_with_llm(
url="https://mp.weixin.qq.com/s/xxxxx",
analysis_type="structure"
)
方式 4指定分析类型和模型
analyze_with_llm(
url="https://mp.weixin.qq.com/s/xxxxx",
model="glm-4",
analysis_type="viewpoint"
)
方式 5使用不同的模型
analyze_with_llm(
url="https://mp.weixin.qq.com/s/xxxxx",
model="glm-4-flash"
)
注意此工具需要智谱 AI API Key会产生 API 调用费用推荐使用 glm-4 模型国内服务稳定且成本较低
使用场景
场景 1快速获取文章摘要
使用 parse_article 工具快速获取文章标题作者发布时间以及使用 LLM 生成的详细摘要至少十句话总结全文和分段要点
场景 2LLM 深度分析推荐
使用 analyze_with_llm 工具进行深度语义分析
- 观点提取自动识别核心观点和分论点链条
- 结构分析分析文章结构段落组织逻辑关系
- 论证方式识别使用的论证方式并评估效果
- 语言风格分析语言特点表达技巧可读性
- 价值评估评估观点价值传播潜力目标读者
技术实现
核心技术栈
- FastMCP: MCP 服务器框架
- requests: HTTP 请求库
- BeautifulSoup4: HTML 解析库
- lxml: XML/HTML 解析器BeautifulSoup 后端
解析流程
- URL 验证验证是否为有效的微信公众号文章 URL
- HTTP 请求使用 requests 发送 GET 请求模拟浏览器访问
- HTML 解析使用 BeautifulSoup 解析 HTML 内容
- 信息提取
- 标题从
<h1>标签提取 - 作者从作者相关的 CSS 类提取
- 发布时间从时间相关的标签提取
- 正文从
rich_media_content或js_content提取纯文本 - 摘要从 meta 标签提取
- 标题从
- 内容清理移除 HTML 标签脚本样式提取纯文本
- LLM 摘要生成parse_article使用 LLM 生成详细摘要至少十句话总结全文和分段要点
- 结果返回返回 JSON 格式的结构化数据
注意事项
-
反爬虫机制微信公众号可能有反爬虫机制建议
- 控制请求频率
- 使用合适的 User-Agent
- 避免频繁请求同一公众号
-
内容合法性确保解析和使用微信公众号文章内容符合相关法律法规和平台规定
-
URL 格式确保提供的是完整的微信公众号文章 URL格式通常为
https://mp.weixin.qq.com/s/xxxxxhttps://weixin.qq.com/s/xxxxx
-
内容更新微信公众号文章内容可能会更新解析结果可能因时间而异
开发
运行测试
# 运行所有测试
pytest
# 运行测试并生成覆盖率报告
pytest --cov=server --cov-report=html
# 运行类型检查
mypy server.py
项目结构
.
server.py # MCP 服务器主程序
requirements.txt # Python 依赖包
README.md # 项目文档本文件
.gitignore # Git 忽略文件
tests/ # 测试目录可选
test_server.py # 服务器单元测试
许可证
MIT License
贡献
欢迎提交 Issue 和 Pull Request