PluginWorld
We

weixin-reader-mcp-local

MCP

Enables MCP clients to submit HTTPS WeChat article URLs and receive parsed title, author, timestamp, and Markdown body through an external extractor, with clear errors for invalid paths, missing tools, timeouts, or access restrictions.

@yangwei251003 · MIT License · updated today

SECURITY

B

SCORE

60

STARS

▲ 0

PLUG IN

git clone https://github.com/yangwei251003/weixin-reader-mcp-local.git

See the README to configure this MCP server

README

微信文章 MCP 阅读器 · 本地集成派生版

基于 Bwkyd/wexin-read-mcp 的本地集成与边界补丁。通过 MCP 接受微信文章 URL,委托外部 url-md 提取 Markdown,再把标题、作者、时间和正文返回给客户端。不是从零原创的抓取器;上游 MIT 许可与作者归属完整保留。

实际协议与处理边界示意

静态安装/验证导览 · 上游原文 · 本地增量

功能与边界

  • 提供 read_weixin_article 工具,接受 HTTPS 的 mp.weixin.qq.com/s 文章路径,拒绝伪装主机、非文章路径、凭据和异常端口。
  • 解析 YAML frontmatter 与 Markdown,保留正文结构;无 frontmatter 的 Markdown 也可作为纯正文返回。
  • 子进程超时会结束并回收;缺少外部程序、网络受限、登录/付费要求等返回明确错误。
  • 不提供登录、付费墙或访问控制绕过;真实文章能否成功取决于外部工具、网站状态与使用者合法访问条件。

本轮只做公开源码、离线夹具及真实 MCP stdio 验证,没有抓取真实文章,也不承诺反爬成功率。静态 Pages 是文档导览,不是在线抓取服务;外部 url-md 二进制和用户浏览器资料不随仓库分发。

安装与运行

已验证 Python 3.12、FastMCP 4.1.0、PyYAML 6.0.3;依赖固定为验证版本。

python -m venv .venv
# Windows: .venv/Scripts/python;macOS/Linux: .venv/bin/python
.venv/Scripts/python -m pip install -r requirements.txt
.venv/Scripts/python -m unittest discover -s tests -v
.venv/Scripts/python scripts/check_mcp.py

运行真实文章前,另按 url-md 官方说明 安装适合系统的发行版并加入 PATH。本机原安装的0.2.0版本及 md --help 已核对命令参数,但不把版本/帮助检查当作真实抓取验证。本仓库不附 exe/zip;Windows 安装脚本来自该 Apache-2.0 项目,许可另附。

url-md --version
.venv/Scripts/python src/server.py

这是 stdio MCP 服务,终端等待输入属于正常行为。MCP客户端使用仓库虚拟环境中的 Python,参数为 src/server.py 的绝对路径;例如替换下面公开示例路径后使用:

{"mcpServers":{"weixin-reader":{"command":"C:/projects/weixin-reader-mcp-local/.venv/Scripts/python.exe","args":["C:/projects/weixin-reader-mcp-local/src/server.py"],"env":{"FASTMCP_CHECK_FOR_UPDATES":"off"}}}}

不需要账户密钥或 .env。不要将文章正文、Cookies、个人浏览器目录或私人配置当作项目文件提交。输出内容的版权与使用条件仍归原作者/站点,不因转换为 Markdown 自动开源。

验证、结构与计划

12项离线测试通过,覆盖 URL 边界、CRLF、异常YAML、缺少CLI、退出码和超时回收。scripts/check_mcp.py 通过真实独立 stdio 进程发现工具并拒绝合成非法域名,未发起文章请求;有效文章路径只用明确虚构提取结果验证调用。

src/server.py 为 MCP 接口;src/scraper.py 为子进程/解析;tests 为可重复夹具;docs 为边界和来源;site 为静态导览。上游设计文档 PRD 保留为历史资料,不能代替本轮验收。

开发状态:本地适配可用,真实网站/不同平台仍待授权环境验证。后续完善发行版安装校验、更多Markdown样例和跨平台兼容。原件还含独立安装的运行环境/二进制,当前不能把本仓库当作本地工具链的完整备份并删除原目录。

根 LICENSE 保留上游 MIT;url-md 安装脚本单独遵循 Apache-2.0,见 THIRD_PARTY_NOTICES.md。更新见 CHANGELOG.md。

SIMILAR PLUGINS