WeChat Official Account MCP Server

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.

Category
Visit Server

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

  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 容器监控功能
  • 简化工具定义和使用

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured