WeChat Official Account MCP Server
Enables management of WeChat Official Accounts by supporting draft creation, image uploads, and content publishing via the MCP protocol. It provides tools for interacting with the WeChat API, including secure token caching and draft list management.
README
MCP4Agent - 多功能MCP服务器
微信公众号管理工具,支持文章发布、草稿管理等功能。同时提供 Docker 容器监控功能。
项目结构
mcp4agent/
├── src/
│ ├── wechat_mcp/ # 微信公众号 MCP 包
│ │ ├── __init__.py
│ │ ├── server.py # FastMCP 服务器和工具
│ │ ├── api.py # 微信 API 封装
│ │ ├── config.py # 配置管理
│ │ └── token_cache.py # Token 缓存
│ ├── docker_status/ # Docker 监控 MCP 包
│ │ ├── __init__.py
│ │ └── server.py # Docker 工具
│ ├── __init__.py # 导出两个 MCP 应用
│ └── __main__.py # 入口点
├── tests/
├── Dockerfile # 优化构建(BuildKit 缓存)
├── docker-compose.yml
├── pyproject.toml # 多包配置
└── README.md
功能特性
📝 微信公众号工具
create_draft- 创建草稿upload_image- 上传图片list_drafts- 列出草稿publish_draft- 发布草稿(需要权限)
🐳 Docker 监控工具
list_containers- 列出所有容器及状态get_container_stats- 查看容器资源使用(CPU/内存/网络)get_container_logs- 获取容器日志restart_container- 重启容器
安装
pip install -e .
配置
复制 .env.example 为 .env,填入你的配置:
cp .env.example .env
环境变量
| 变量 | 说明 |
|---|---|
WECHAT_APP_ID |
微信公众号AppID |
WECHAT_APP_SECRET |
微信公众号AppSecret |
WECHAT_TOKEN_CACHE_DIR |
Token缓存目录 (默认: ~/.cache/wechat-mcp) |
使用
运行微信公众号服务器
python -m mcp4agent --app wechat
运行 Docker 监控服务器
python -m mcp4agent --app docker
Docker 监控使用
Docker 工具通过 Python docker 库连接 Docker 守护进程:
# 列出所有运行中的容器
list_containers()
# 列出所有容器(包括已停止的)
list_containers(all_containers=True)
# 查看容器资源使用
get_container_stats("container_id_or_name")
# 获取容器日志
get_container_logs("container_id_or_name", lines=100)
# 重启容器
restart_container("container_id_or_name")
权限要求
使用 Docker 功能需要:
- 运行 MCP 服务器的用户有权限访问 Docker socket
- 通常需要将用户加入 docker 组:
sudo usermod -aG docker $USER
Token缓存
使用 diskcache 实现本地缓存,避免频繁请求access_token。
from wechat_mcp.token_cache import TokenCache
cache = TokenCache()
token = cache.get_access_token(app_id, app_secret)
Docker 部署
构建镜像
DOCKER_BUILDKIT=1 docker build -t mcp4agent .
使用 Docker Compose(推荐)
# 复制环境变量模板
cp .env.example .env
# 编辑 .env 填入你的配置
nano .env
# 启动服务
docker-compose up -d
使用 Docker Run
docker run -d \
--name mcp4agent \
-p 8080:8080 \
-e WECHAT_APP_ID=your_app_id \
-e WECHAT_APP_SECRET=your_app_secret \
-v $(pwd)/data:/app/.cache \
mcp4agent
环境变量
| 变量 | 说明 | 必填 |
|---|---|---|
WECHAT_APP_ID |
微信公众号AppID | 是 |
WECHAT_APP_SECRET |
微信公众号AppSecret | 是 |
WECHAT_TOKEN_CACHE_DIR |
Token缓存目录 | 否 (默认: /app/.cache) |
Docker in Docker 监控
要在容器内监控其他容器,需要挂载 Docker socket:
docker run -d \
--name mcp4agent \
-p 8080:8080 \
-e WECHAT_APP_ID=your_app_id \
-e WECHAT_APP_SECRET=your_app_secret \
-v $(pwd)/data:/app/.cache \
-v /var/run/docker.sock:/var/run/docker.sock \
mcp4agent
⚠️ 注意: 挂载 Docker socket 有安全风险,仅在可信环境中使用。
健康检查
服务运行在 8080 端口,MCP 客户端可连接进行健康检查。
更新日志
v0.3.0
- 重构为多包架构 (mcp4agent)
- 分离 wechat_mcp 和 docker_status 为独立包
- 添加 BuildKit 缓存优化 Docker 构建
- 支持多平台构建
v0.2.0
- 迁移到 FastMCP 框架
- 添加 Docker 容器监控功能
- 简化工具定义和使用
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。