Skip to main content
Glama
Jungley8

WeChat Official Account MCP Server

by Jungley8

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 功能需要:

  1. 运行 MCP 服务器的用户有权限访问 Docker socket

  2. 通常需要将用户加入 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 容器监控功能

  • 简化工具定义和使用

-
security - not tested
F
license - not found
-
quality - not tested

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Jungley8/mcp4agent'

If you have feedback or need assistance with the MCP directory API, please join our Discord server