# 微信公众号 MCP 服务简介 ## 服务概述 微信公众号MCP(模型控制协议)服务是一个专为通过AI自动化简化微信公众号管理而设计的专业工具。该服务为在微信公众号上创建、发布和管理内容提供了标准化接口,消除了常规发布任务中的手动干预需求。 ## 核心功能 - **访问令牌管理**:安全处理认证凭证 - **内容创建**:支持文本、图片和HTML格式的富媒体内容草稿的程序化创建 - **发布自动化**:定时或按需将内容发布到微信公众号 - **资源管理**:高效处理媒体资源和草稿内容 - **MCP兼容性**:通过模型控制协议标准与AI代理和LLM系统无缝集成 ## 技术实现 基于FastMCP框架构建,该服务暴露了一组可由AI系统调用的标准化工具,用于在微信公众号上执行操作。服务处理与微信API的所有通信,透明地管理认证、速率限制和错误处理。 ## 使用场景 - 从AI生成内容自动发布内容 - 定时发布定期更新或通讯 - 与内容管理系统集成,实现跨平台发布 - 使AI助手能够管理社交媒体存在 ## 集成方式 该服务可以与任何支持MCP协议的系统集成,包括Curs
1.1w 查看 · 2026-07-07 更新
简介
微信公众号 MCP 服务简介
服务概述
微信公众号MCP(模型控制协议)服务是一个专为通过AI自动化简化微信公众号管理而设计的专业工具。该服务为在微信公众号上创建、发布和管理内容提供了标准化接口,消除了常规发布任务中的手动干预需求。
核心功能
- 访问令牌管理:安全处理认证凭证
- 内容创建:支持文本、图片和HTML格式的富媒体内容草稿的程序化创建
- 发布自动化:定时或按需将内容发布到微信公众号
- 资源管理:高效处理媒体资源和草稿内容
- MCP兼容性:通过模型控制协议标准与AI代理和LLM系统无缝集成
技术实现
基于FastMCP框架构建,该服务暴露了一组可由AI系统调用的标准化工具,用于在微信公众号上执行操作。服务处理与微信API的所有通信,透明地管理认证、速率限制和错误处理。
使用场景
- 从AI生成内容自动发布内容
- 定时发布定期更新或通讯
- 与内容管理系统集成,实现跨平台发布
- 使AI助手能够管理社交媒体存在
集成方式
该服务可以与任何支持MCP协议的系统集成,包括Curs
简介
微信公众号 MCP 服务简介
服务概述
微信公众号MCP(模型控制协议)服务是一个专为通过AI自动化简化微信公众号管理而设计的专业工具。该服务为在微信公众号上创建、发布和管理内容提供了标准化接口,消除了常规发布任务中的手动干预需求。
核心功能
- 访问令牌管理:安全处理认证凭证
- 内容创建:支持文本、图片和HTML格式的富媒体内容草稿的程序化创建
- 发布自动化:定时或按需将内容发布到微信公众号
- 资源管理:高效处理媒体资源和草稿内容
- MCP兼容性:通过模型控制协议标准与AI代理和LLM系统无缝集成
技术实现
基于FastMCP框架构建,该服务暴露了一组可由AI系统调用的标准化工具,用于在微信公众号上执行操作。服务处理与微信API的所有通信,透明地管理认证、速率限制和错误处理。
使用场景
- 从AI生成内容自动发布内容
- 定时发布定期更新或通讯
- 与内容管理系统集成,实现跨平台发布
- 使AI助手能够管理社交媒体存在
集成方式
该服务可以与任何支持MCP协议的系统集成,包括Cursor、ModelScope和自定义MCP客户端。它可以在本地部署或在服务器上部署以进行集中访问。
微信公众号 MCP 服务器
这是一个基于 FastMCP 框架的微信公众号MCP服务器,提供了一系列实用的微信公众号 API 接口封装,包括草稿创建、发布、删除等功能。
项目简介
本项目使用 Python 和 FastMCP 框架,通过 Model Control Protocol (MCP) 规范提供微信公众号管理 API,可以轻松集成到各种 AI 系统和自动化工作流程中,帮助用户便捷地管理微信公众号内容。
微信公众平台
微信公众平台官方网址:https://mp.weixin.qq.com
您需要先在微信公众平台注册并创建公众号,获取开发者ID(AppID)和密钥(AppSecret)才能使用本工具。
安装方法
使用 pip 安装
pip install wechat_oa_mcp
项目结构
./ ├── README.md # 项目文档 ├── examples/ # 使用示例 │ └── simple_usage.py # 简单使用示例 ├── setup.py # 安装配置 ├── pyproject.toml # Python项目配置 └── wechat_oa_mcp/ # 包主目录 ├── __init__.py # 包初始化文件 ├── __main__.py # 模块直接执行入口 ├── cli.py # 命令行工具入口 └── server.py # 主要功能代码
依赖项
- Python 3.10+
- fastmcp
- requests
功能列表
本服务器提供以下功能:
- 获取微信 Access Token: 获取接口调用凭证
- 创建微信公众号草稿: 创建图文消息草稿
- 发布微信公众号草稿: 将草稿发布到公众号
- 删除微信公众号草稿: 删除未发布的草稿
- 删除永久素材: 删除公众号中的永久素材
API 接口说明
1. 获取 Access Token
WeChat_get_access_token
输入参数:
AppID: String·第三方用户唯一凭证(公众号-设置与开发-开发接口管理中获取) AppSecret: String·第三方用户唯一凭证密钥(公众号-设置与开发-开发接口管理中获取)
输出:
{ "success": true, "error": null, "access_token": "获取到的access_token", "expires_in": 7200 }
2. 创建草稿
WeChat_create_draft
输入参数:
access_token: String·你的access_token,调用接口凭证,可通过WeChat_get_access_token获取 image_url: String·封面图片URL title: String·文章标题 content: String·图文消息的具体内容,支持HTML标签,必须少于2万字符,小于1M author: String·(可选)作者名称 digest: String·(可选)图文消息的摘要,仅有单图文消息才有摘要,多图文此处为空。如果本字段为没有填写,则默认抓取正文前54个字。 content_source_url: String·(可选)图文消息的原文地址,即点击"阅读原文"后的URL need_open_comment: Integer·(可选)Uint32 是否打开评论,0不打开(默认),1打开
输出:
{ "success": true, "error": null, "draft_media_id": "草稿的media_id", "image_media_id": "封面图片的media_id" }
3. 发布草稿
WeChat_publish_draft
输入参数:
access_token: String·调用接口凭证,可通过WeChat_get_access_token获取 draft_media_id: String·在之前调用WeChat_create_draft之后返回的draft_media_id
输出:
{ "success": true, "error": null, "errmsg": "ok", "publish_id": "发布任务id" }
4. 删除草稿
WeChat_del_draft
输入参数:
access_token: String·调用接口凭证,可通过WeChat_get_access_token获取 media_id: String·草稿对应凭证,也就是WeChat_create_draft返回的draft_media_id
输出:
{ "success": true, "error": null, "errcode": 0, "errmsg": "ok" }
5. 删除永久素材
WeChat_del_material
输入参数:
access_token: String·调用接口凭证,可通过WeChat_get_access_token获取 media_id: String·永久素材对应凭证,也就是WeChat_create_draft返回的image_media_id
输出:
{ "success": true, "error": null, "errcode": 0, "errmsg": "ok" }
使用方法
1. 安装服务器
# 通过pip安装 pip install wechat_oa_mcp
2. 调用MCP Server的几种方式
2.1 通过代码调用
您可以通过以下方式在Python代码中直接调用微信MCP API(只需完成安装步骤即可使用):
from wechat_oa_mcp import ( WeChat_get_access_token, WeChat_create_draft, WeChat_publish_draft, WeChat_del_draft, WeChat_del_material ) # 获取access_token token_result = WeChat_get_access_token({ "AppID": "您的微信AppID", "AppSecret": "您的微信AppSecret" }) if token_result["success"]: access_token = token_result["access_token"] # 创建草稿 draft_result = WeChat_create_draft({ "access_token": access_token, "image_url": "https://example.com/image.jpg", "title": "测试文章标题", "content": "<p>这是文章内容</p>", "author": "作者名称" }) if draft_result["success"]: draft_id = draft_result["draft_media_id"] image_id = draft_result["image_media_id"] # 发布草稿 publish_result = WeChat_publish_draft({ "access_token": access_token, "draft_media_id": draft_id }) if publish_result["success"]: print(f"发布成功!发布ID: {publish_result['publish_id']}") # 删除草稿示例 # 注意:通常在发布后才会删除草稿,这里仅为演示API用法 del_draft_result = WeChat_del_draft({ "access_token": access_token, "media_id": draft_id }) if del_draft_result["success"]: print(f"删除草稿成功:{del_draft_result['errmsg']}") # 删除素材示例 # 注意:通常在不需要图片素材时才会删除,这里仅为演示API用法 del_material_result = WeChat_del_material({ "access_token": access_token, "media_id": image_id }) if del_material_result["success"]: print(f"删除素材成功:{del_material_result['errmsg']}")
2.2 通过MCP Inspector进行调试
只需完成安装步骤后,即可使用以下命令进行交互测试:
npx @modelcontextprotocol/inspector python -m wechat_oa_mcp
之后访问 http://localhost:6274 可进行交互测试
2.3 通过json添加mcp server
注意:此方式需要先启动MCP服务器
- 首先通过命令行启动服务:
# 直接启动(默认端口8000) wechat-oa-mcp # 或者 python -m wechat_oa_mcp # 指定端口启动 wechat-oa-mcp --port 8123 # 或者 python -m wechat_oa_mcp --port 8123
- 然后将微信MCP服务器添加到其他MCP兼容应用(如Cursor)的配置中:
{ "mcpServers": { "wechat_oa_mcp": { "type": "sse", "url": "http://localhost:8000/sse" } } }
配置参数说明:
type: 通信协议类型,支持"sse"(Server-Sent Events)url: 服务器地址,默认端口为8000。如果之前指定了port,则以指定端口号为准wechat_oa_mcp: 服务器名称,可自定义
技术架构
本项目基于 FastMCP 框架,通过 MCP 协议提供微信公众号相关服务。服务器采用模块化设计,每个功能都封装为独立的 MCP 工具,可以单独调用。
服务器内部通过 HTTP 请求与微信公众号 API 通信,处理认证、参数校验等细节,让使用者可以专注于业务逻辑而不用关心底层实现。
使用限制
为了分散服务器压力,每个IP每分钟内最多能调用同一接口五次。
IP白名单配置
根据微信公众号开发接口管理规定,通过开发者ID及密码调用获取access_token接口时,需要设置访问来源IP为白名单。请将以下IP添加至微信公众号-设置与开发-开发接口管理-IP白名单:
106.15.125.133
致谢
- 感谢 FastMCP 项目提供的框架支持
免责声明:此 MCP 服务器仅限研究用途,禁止用于商业目的。
服务配置
[{'mcpServers': {'wechat_oa_mcp': {'args': ['--directory', '/Users/project/mcp/wechat/wechat_oa_mcp', '-m', 'wechat_oa_mcp', '--port', '8123'], 'command': 'python'}}}]
来源
- 来源:github