Token导航 LogoToken导航TokenDH.com
WeChat Article Reader MCP Server logo
浏览器工具stdio官方级别未说明来源级核验

WeChat Article Reader MCP Server

MCP Server

基于Model Context Protocol (MCP)的服务器,用于读取微信公众号文章内容、搜索文章以及生成文章摘要。

工具数

3

提示词数

0

GitHub Stars

1

资源数

0
Python浏览器自动化网页抓取

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

whbfxy

提供方

whbfxy

最后核验

2026/5/17 20:21

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

python -m venv venv

详细介绍

微信公众号文章读取 MCP 服务器

这是一个基于 Model Context Protocol (MCP) 的服务器,用于读取微信公众号文章内容、搜索文章以及生成文章摘要。

功能特性

  • 文章获取:从微信公众号文章URL获取文章内容、元数据和统计信息
  • 文章搜索:根据关键词搜索微信公众号文章
  • 文章摘要:自动生成文章摘要,支持自定义长度
  • 多格式输出:支持Markdown和纯文本格式输出
  • 错误处理:完善的错误处理和响应格式化
  • 性能优化:支持并发请求和性能监控

安装与配置

环境要求

  • Python 3.8+
  • Playwright(用于浏览器自动化)

安装步骤

  1. 克隆项目仓库:
git clone https://github.com/your-username/mcp-server-wechat.git
cd mcp-server-wechat
  1. 创建虚拟环境:
python -m venv venv
source venv/bin/activate  # Linux/Mac
# 或
venv\Scripts\activate  # Windows
  1. 安装依赖:
pip install -r requirements.txt
  1. 安装Playwright浏览器:
playwright install

配置

服务器支持多种配置方式:

  1. 配置文件:创建 config.json 文件:
{
  "transport": "stdio",
  "host": "localhost",
  "port": 8080,
  "browser": {
    "headless": true,
    "timeout": 30000,
    "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"
  },
  "request": {
    "timeout": 30000,
    "max_retries": 3,
    "retry_delay": 1000
  }
}
  1. 环境变量
export MCP_SERVER_TRANSPORT=stdio
export MCP_SERVER_HOST=localhost
export MCP_SERVER_PORT=8080
export MCP_BROWSER_HEADLESS=true
export MCP_BROWSER_TIMEOUT=30000

使用方法

启动服务器

  1. STDIO模式(默认):
python main.py
  1. HTTP模式
python main.py --transport http --host 0.0.0.0 --port 8080

MCP工具

1. 获取文章内容

# 调用fetch_article工具
{
  "name": "fetch_article",
  "arguments": {
    "url": "https://mp.weixin.qq.com/s/xxxxxxxx",
    "content_formats": ["markdown", "text"],
    "request_id": "optional_request_id"
  }
}

2. 搜索文章

# 调用search_articles工具
{
  "name": "search_articles",
  "arguments": {
    "query": "搜索关键词",
    "account": "可选的公众号名称",
    "sort_by": "relevance",  # relevance, time, popularity
    "limit": 10,
    "request_id": "optional_request_id"
  }
}

3. 提取文章摘要

# 调用extract_article_summary工具
{
  "name": "extract_article_summary",
  "arguments": {
    "url": "https://mp.weixin.qq.com/s/xxxxxxxx",
    "max_length": 200,
    "request_id": "optional_request_id"
  }
}

响应格式

所有工具返回统一的响应格式:

{
  "success": true,
  "message": "操作成功",
  "request_id": "optional_request_id",
  "data": {
    // 具体数据内容
  }
}

错误响应:

{
  "success": false,
  "message": "错误描述",
  "error_code": "ERROR_CODE",
  "error_type": "ErrorType",
  "request_id": "optional_request_id"
}

开发指南

项目结构

mcp-server-wechat/
├── src/
│   └── mcp_server_wechat/
│       ├── __init__.py
│       ├── main.py              # 主服务器文件
│       ├── models.py            # 数据模型和类型定义
│       ├── tools/
│       │   ├── __init__.py
│       │   └── wechat_tools.py  # MCP工具实现
│       └── utils/
│           ├── __init__.py
│           ├── browser_client.py    # 浏览器客户端
│           ├── article_parser.py     # 文章解析器
│           ├── search_client.py      # 搜索客户端
│           ├── summary_generator.py  # 摘要生成器
│           └── response_formatter.py # 响应格式化器
├── tests/
│   ├── __init__.py
│   ├── test_wechat_tools.py    # 单元测试
│   ├── test_integration.py     # 集成测试
│   └── test_performance.py     # 性能测试
├── config.json                 # 配置文件
├── requirements.txt            # 依赖列表
├── run_tests.py               # 测试运行器
└── README.md                  # 项目文档

运行测试

  1. 运行所有测试:
python run_tests.py --type all
  1. 运行单元测试:
python run_tests.py --type unit
  1. 运行集成测试:
python run_tests.py --type integration
  1. 运行性能测试:
python run_tests.py --type performance

添加新工具

  1. src/mcp_server_wechat/tools/wechat_tools.py 中添加新工具类
  2. handle_list_tools 函数中注册新工具
  3. handle_call_tool 函数中添加工具调用逻辑
  4. 添加相应的测试用例

常见问题

1. 浏览器启动失败

确保已安装Playwright浏览器:

playwright install

2. 微信文章URL无效

确保URL格式正确:

https://mp.weixin.qq.com/s/xxxxxxxx

3. 搜索结果为空

检查搜索关键词是否正确,或尝试使用更通用的关键词。

4. 性能问题

调整浏览器配置中的超时时间,或使用HTTP模式以提高性能。

许可证

本项目采用 MIT 许可证。详见 LICENSE 文件。

贡献

欢迎提交问题和拉取请求。请确保:

  1. 代码符合项目风格
  2. 添加适当的测试
  3. 更新相关文档

联系方式

如有问题或建议,请通过以下方式联系:

  • 提交 Issue:
  • 邮箱: your-email@example.com

目录标签

目录标签

Python浏览器自动化网页抓取微信公众号本地部署文章解析内容摘要多格式输出

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Python

部署方式(deploymentType,部署类型)

local-only

工具数量(toolCount,工具数)

3

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiononelocal-only

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP