mcp-server-wechat-article-parser

MarclarChan/mcp-server-wechat-article-parser

3.2

If you are the rightful owner of mcp-server-wechat-article-parser and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.

This is a Python FastMCP-based MCP server designed to parse WeChat Official Account articles and export their content in Markdown format.

Tools
1
Resources
0
Prompts
0

WeChat Official Account Article Parser MCP Server

这是一个基于 Python FastMCP 框架实现的 MCP 服务器,用于解析微信公众号文章并将其内容导出为 Markdown 格式。

功能

  • 从微信公众号文章 URL 中抓取文章内容。
  • 提取文章标题、作者、发布时间、正文、图片和视频链接。
  • 将文章内容转换为 Markdown 格式。
  • 支持 JSON 和 Markdown 两种输出格式。
  • 提供简洁和详细两种输出级别。
  • 自动处理响应截断以遵守字符限制。

项目结构

mcp-server-wechat-article-parser/
├── src/
│   └── mcp_server_wechat_article_parser/
│       ├── server.py          # MCP server 主文件
│       ├── tools/
│       │   ├── __init__.py
│       │   └── parse_wechat_article.py # 微信文章解析工具
│       └── utils/
│           ├── __init__.py
│           ├── api_client.py  # API 请求辅助 (网页抓取)
│           ├── formatters.py  # 响应格式化
│           └── errors.py      # 错误处理
├── pyproject.toml
├── README.md
└── tests/

安装

  1. 克隆仓库 (如果适用):

    git clone <your-repo-url>
    cd mcp-server-wechat-article-parser
    
  2. 创建并激活虚拟环境:

    python -m venv venv
    .\venv\Scripts\activate  # Windows
    # source venv/bin/activate # macOS/Linux
    
  3. 安装依赖:

    pip install --upgrade pip
    pip install -e .
    

    这将安装 pyproject.toml 中定义的所有依赖,包括 fastmcp, httpx, pydantic, beautifulsoup4, markdownifylxml

使用 fastmcp dev 进行调试

fastmcp dev 命令提供了一个交互式界面,用于测试和调试 MCP 服务器。

  1. 启动调试服务器:

    fastmcp dev src/mcp_server_wechat_article_parser/server.py:mcp
    

    这会启动 MCP Inspector UI (通常在端口 5173) 和代理服务器。您可以在浏览器中打开 Inspector UI 来与您的工具进行交互。

  2. 在 Inspector UI 中测试工具:

    • 在 Inspector UI 中,您应该能看到 parse_wechat_article 工具。
    • 输入一个微信公众号文章 URL,选择输出格式和详细级别,然后执行工具。
    • 查看工具的输出和任何潜在的错误。

已实现的工具

parse_wechat_article

  • 描述: 解析微信公众号文章,提取其内容并以指定格式返回。
  • 输入:
    • article_url (HttpUrl): 要解析的微信公众号文章的 URL。
    • format (Literal["json", "markdown"], default="markdown"): 响应的输出格式。
    • detail (Literal["concise", "detailed"], default="detailed"): 详细级别。
  • 输出: 格式化后的文章内容字符串。
  • 错误处理: InvalidUrlError, ArticleNotFoundError, ParsingError, UnknownError

传输协议配置

默认情况下,服务器使用 STDIO 传输协议,适用于本地调试和与 Claude Desktop 等客户端集成。

如果您需要远程访问或多客户端支持,可以配置为 HTTP 传输协议:

src/mcp_server_wechat_article_parser/server.py 中,取消注释并修改以下行:

# mcp.run(transport="http", host="127.0.0.1", port=8000)

然后重新启动服务器。

部署

要将此 MCP 服务器部署到客户端,您可以使用 fastmcp install 命令:

fastmcp install src/mcp_server_wechat_article_parser/server.py:mcp

这将生成一个配置文件,客户端可以使用该文件来连接和使用您的 MCP 服务器。

示例

以下是如何在 fastmcp dev 环境中调用 parse_wechat_article 工具的示例:

Markdown 详细输出:

{
  "tool_code": "parse_wechat_article(article_url=\"https://mp.weixin.qq.com/s/example_article_id\", format=\"markdown\", detail=\"detailed\")"
}

JSON 简洁输出:

{
  "tool_code": "parse_wechat_article(article_url=\"https://mp.weixin.qq.com/s/another_article_id\", format=\"json\", detail=\"concise\")"
}