MCP Hub
Back to servers

WeChat Official Account

An MCP server that integrates with the WeChat Official Account platform, providing tools for draft management, bulk article publishing, and content lifecycle automation.

Stars
1
Tools
7
Updated
Oct 13, 2025

ArticleMcp - 微信公众号文章管理服务

ArticleMcp 是一个基于 Go 语言开发的微信公众号文章管理服务,提供了草稿箱管理和文章发布功能,并通过 Model Context Protocol (MCP) 提供了工具接口。

功能未完全测试,只搭好了框架,后续优化。

功能特性

  1. 草稿管理

    • 发送文章到草稿箱
    • 获取草稿箱列表
    • 删除草稿
  2. 文章发布

    • 发布最新草稿
    • 根据标题发布特定草稿
    • 获取已发布文章列表
  3. MCP 工具接口

    • 通过 MCP 协议提供工具接口,可以与支持 MCP 的 AI 助手集成

项目结构

ArticleMcp/
├── cmd/
│   └── server/
│       └── main.go          # 服务器主程序
├── pkg/
│   └── wechat/
│       ├── service.go       # 微信公众号核心服务
│       ├── service_test.go  # 微信公众号服务测试用例
│       ├── server.go        # 应用服务器
│       ├── mcp_handlers.go  # MCP 工具处理函数
│       └── mcp_server.go    # MCP 服务器初始化
├── wechat_example_main.go   # 微信公众号功能使用示例
├── TEST_CASES.md            # 详细测试用例说明
├── MCP_TOOLS.md             # MCP 工具详细说明
├── README.md                # 项目说明文档
├── go.mod                   # Go 模块定义
└── go.sum                   # Go 模块校验和

安装和配置

  1. 确保已安装 Go 1.23.6 或更高版本
  2. 克隆项目到本地
  3. 运行 go mod tidy 下载依赖

配置说明

在使用服务之前,需要配置微信公众号的以下信息:

  • AppID: 微信公众号的 AppID
  • AppSecret: 微信公众号的 AppSecret
  • Token: 微信公众号的 Token

使用方法

1. 直接使用微信公众号服务

go run wechat_example_main.go

2. 启动 MCP 服务器

go run cmd/server/main.go

服务器将在 http://localhost:8080 上运行,并提供以下端点:

标准端点

  • /health: 健康检查端点
  • /mcp: MCP 工具端点

调试端点

  • POST /debug/publish_message: 发布文章到草稿箱
  • GET /debug/draft_list: 获取草稿列表
  • POST /debug/publish_latest_draft: 发布最新草稿
  • POST /debug/publish_draft_by_title: 根据标题发布草稿
  • POST /debug/delete_draft: 删除草稿
  • GET /debug/published_articles: 获取已发布文章列表

3. MCP 工具使用

详细说明请查看 MCP_TOOLS.md 文件。

测试

运行单元测试

cd pkg/wechat
go test -v

测试用例详情

详细测试用例请查看 TEST_CASES.md 文件,其中包括:

  • 函数调用测试用例
  • HTTP 调试路由测试用例
  • MCP 工具测试用例
  • 错误处理测试用例
  • 性能测试用例

API 参考

微信公众号服务方法

  • PublishMessage: 发送草稿到草稿箱
  • PublishDraft: 发布指定草稿
  • PublishLatestDraft: 发布最新草稿
  • PublishDraftByTitle: 根据标题发布草稿
  • GetDraftList: 获取草稿列表
  • DeleteDraft: 删除草稿
  • GetPublishedArticles: 获取已发布文章列表

调试端点说明

POST /debug/publish_message

发布文章到草稿箱。

请求体示例:

{
  "title": "文章标题",
  "content": "文章内容",
  "author": "作者名",
  "digest": "文章摘要",
  "image_info": {
    "image_list": {
      "image_media_id": "图片media_id"
    }
  }
}

GET /debug/draft_list

获取草稿箱中的所有草稿,无需请求体。

POST /debug/publish_latest_draft

发布最新的草稿,无需请求体。

POST /debug/publish_draft_by_title

根据标题发布指定草稿。

请求体示例:

{
  "title": "要发布的文章标题"
}

POST /debug/delete_draft

删除指定的草稿。

请求体示例:

{
  "media_id": "要删除的草稿media_id"
}

GET /debug/published_articles

获取已发布的文章列表,无需请求体。

注意事项

  1. 请确保微信公众号已获得相应的接口权限
  2. 注意微信API调用频率限制
  3. 妥善保管 AppID 和 AppSecret 等敏感信息
  4. 该项目仅供学习和参考,实际使用时请遵守微信公众平台的相关规定

Reviews

No reviews yet

Sign in to write a review