WeChat Official Account MCP Server (Go)

Un servidor Go de alto rendimiento para gestionar cuentas oficiales de WeChat, compatible con borradores, publicación y gestión de materiales.

Documentación

Servidor MCP de Cuenta Oficial de WeChat (Versión Go)

Este es un servidor Model Context Protocol (MCP) de Cuenta Oficial de WeChat reimplementado en Go, desarrollado con el framework mark3labs/mcp-go.

✨ Características

  • 🚀 Alto rendimiento: Implementado en Go, con arranque rápido y bajo consumo de memoria
  • 📦 Contenerizado: Soporte completo de Docker, despliegue con un clic
  • 🔧 Despliegue simple: Un solo binario, sin dependencias
  • 🛡️ Seguridad de tipos: Verificación de errores en tiempo de compilación
  • 🔄 Totalmente compatible: API totalmente compatible con la versión Python
  • 📊 Registros estructurados: Fáciles de depurar y monitorear

📋 Lista de funciones

Admite 5 herramientas principales de gestión de Cuenta Oficial de WeChat:

  1. WeChat_get_access_token - Obtener el access_token de la Cuenta Oficial de WeChat
  2. WeChat_create_draft - Crear borrador de mensaje de imagen y texto
  3. WeChat_publish_draft - Publicar borrador en la cuenta oficial
  4. WeChat_del_draft - Eliminar borradores no publicados
  5. WeChat_del_material - Eliminar material permanente

🚀 Inicio rápido

Opción 1: Usar Docker (recomendado)

# 1. 构建并运行
make docker-run

# 2. 查看日志
docker logs wechat-oa-mcp-server

Opción 2: Compilación local

# 1. 安装依赖
make deps

# 2. 构建
make build

# 3. 运行
make run

🐳 Uso de Docker

Construir la imagen

docker build -t wechat-oa-mcp-go:latest .

Ejecutar el contenedor

docker run -it --name wechat-oa-mcp-server wechat-oa-mcp-go:latest

Usar docker-compose

# 启动服务
docker-compose up -d

# 查看日志
docker-compose logs -f

# 停止服务
docker-compose down

🎛️ Configuración en Cursor

Agregue la siguiente configuración a los ajustes de MCP de Cursor:

{
  "mcpServers": {
    "wechat-oa-mcp-go": {
      "command": "/path/to/wechat-oa-mcp-go/bin/wechat-oa-mcp",
      "env": {
        "LOG_LEVEL": "info"
      }
    }
  }
}

O use el método Docker:

{
  "mcpServers": {
    "wechat-oa-mcp-go": {
      "command": "docker",
      "args": ["run", "-i", "--rm", "wechat-oa-mcp-go:latest"]
    }
  }
}

🔧 Notas de desarrollo

Estructura del proyecto

wechat-oa-mcp-go/
├── cmd/main.go              # 主程序入口
├── internal/handlers/       # MCP 工具处理器
├── pkg/wechat/             # 微信 API 客户端
├── Dockerfile              # 容器构建文件
├── Makefile               # 构建脚本
├── go.mod                 # Go 模块依赖
└── README.md              # 本文档

Agregar nuevas herramientas

  1. Agregue funciones de cliente API en pkg/wechat/
  2. Implemente los manejadores de herramientas MCP en internal/handlers/
  3. Registre las nuevas herramientas en cmd/main.go

Comandos de compilación

# 查看所有可用命令
make help

# 构建二进制文件
make build

# 运行测试
make test

# 清理构建文件
make clean

# 下载依赖
make deps

# Docker 相关
make docker-build    # 构建镜像
make docker-run      # 运行容器
make docker-clean    # 清理容器和镜像

🌟 Ventajas de rendimiento

En comparación con la versión Python:

  • Velocidad de arranque: 20-30 veces más rápida
  • Uso de memoria: 60-70% menos
  • Tiempo de respuesta: 2-4 veces más rápido
  • Despliegue simple: Binario de un solo archivo, sin dependencias de ejecución

🔄 Compatibilidad de API

La versión Go es totalmente compatible con la API de la versión Python:

  • Los mismos nombres de herramientas y parámetros
  • El mismo formato de respuesta
  • El mismo manejo de errores

Puede reemplazar sin problemas la implementación Python existente.

🔍 Depuración y registros

Al iniciar, el servidor genera información de registro detallada en stderr, que incluye:

  • Estado de registro de herramientas
  • Proceso de manejo de solicitudes
  • Información de errores y trazas de llamadas

Configure la variable de entorno LOG_LEVEL=debug para obtener información de depuración más detallada.

📄 Licencia

Este proyecto utiliza la misma licencia que la versión Python original.

🤝 Contribuciones

¡Bienvenidos Issues y Pull Requests!

📞 Soporte

Si tiene problemas, consulte:

  • IMPLEMENTATION.md - Explicación detallada de la implementación
  • README-GO.md - Documentación específica de la versión Go