WeCom Bot MCP Server
Сервер WeCom Bot MCP
Реализация сервера, совместимого с Model Context Protocol (MCP), для бота WeCom (WeChat Work).
Функции
Поддержка нескольких типов сообщений:
Текстовые сообщения
Сообщения Markdown
Сообщения изображений (base64)
Файл сообщения
Поддержка @упоминания (по идентификатору пользователя или номеру телефона)
Отслеживание истории сообщений
Настраиваемая система регистрации
Полные аннотации типа
Проверка данных на основе Pydantic
Related MCP server: EdgeOne MCP Pusher
Требования
Питон 3.10+
URL-адрес веб-перехватчика WeCom Bot (получен из настроек группы WeCom)
Установка
Существует несколько способов установки WeCom Bot MCP Server:
1. Автоматическая установка (рекомендуется)
Использование Smithery (для Claude Desktop):
npx -y @smithery/cli install wecom-bot-mcp-server --client claudeИспользование VSCode с расширением Cline:
Установите расширение Cline из магазина VSCode
Открыть палитру команд (Ctrl+Shift+P / Cmd+Shift+P)
Поиск по запросу «Cline: Установить пакет»
Введите «wecom-bot-mcp-server» и нажмите Enter.
2. Ручная установка
Установка из PyPI:
pip install wecom-bot-mcp-serverНастройте MCP вручную:
Создайте или обновите файл конфигурации MCP:
// For Windsurf: ~/.windsurf/config.json
{
"mcpServers": {
"wecom": {
"command": "uvx",
"args": [
"wecom-bot-mcp-server"
],
"env": {
"WECOM_WEBHOOK_URL": "your-webhook-url"
}
}
}
}Конфигурация
Установка переменных среды
# Windows PowerShell
$env:WECOM_WEBHOOK_URL = "your-webhook-url"
# Optional configurations
$env:MCP_LOG_LEVEL = "DEBUG" # Log levels: DEBUG, INFO, WARNING, ERROR, CRITICAL
$env:MCP_LOG_FILE = "path/to/custom/log/file.log" # Custom log file pathУправление журналами
Система ведения журнала использует platformdirs.user_log_dir() для кроссплатформенного управления файлами журнала:
Windows:
C:\Users\<username>\AppData\Local\hal\wecom-bot-mcp-serverLinux:
~/.local/share/hal/wecom-bot-mcp-servermacOS:
~/Library/Application Support/hal/wecom-bot-mcp-server
Файл журнала называется mcp_wecom.log и хранится в указанном выше каталоге.
Использование
Запуск сервера
wecom-bot-mcp-serverПримеры использования (с MCP)
# Scenario 1: Send weather information to WeCom
USER: "How's the weather in Shenzhen today? Send it to WeCom"
ASSISTANT: "I'll check Shenzhen's weather and send it to WeCom"
await mcp.send_message(
content="Shenzhen Weather:\n- Temperature: 25°C\n- Weather: Sunny\n- Air Quality: Good",
msg_type="markdown"
)
# Scenario 2: Send meeting reminder and @mention relevant people
USER: "Send a reminder for the 3 PM project review meeting, remind Zhang San and Li Si to attend"
ASSISTANT: "I'll send the meeting reminder"
await mcp.send_message(
content="## Project Review Meeting Reminder\n\nTime: Today 3:00 PM\nLocation: Meeting Room A\n\nPlease be on time!",
msg_type="markdown",
mentioned_list=["zhangsan", "lisi"]
)
# Scenario 3: Send a file
USER: "Send this weekly report to the WeCom group"
ASSISTANT: "I'll send the weekly report"
await mcp.send_message(
content=Path("weekly_report.docx"),
msg_type="file"
)Прямое использование API
Отправить сообщения
from wecom_bot_mcp_server import mcp
# Send markdown message
await mcp.send_message(
content="**Hello World!**",
msg_type="markdown"
)
# Send text message and mention users
await mcp.send_message(
content="Hello @user1 @user2",
msg_type="text",
mentioned_list=["user1", "user2"]
)Отправить файлы
from wecom_bot_mcp_server import send_wecom_file
# Send file
await send_wecom_file("/path/to/file.txt")Отправить изображения
from wecom_bot_mcp_server import send_wecom_image
# Send local image
await send_wecom_image("/path/to/image.png")
# Send URL image
await send_wecom_image("https://example.com/image.png")Разработка
Настройка среды разработки
Клонируйте репозиторий:
git clone https://github.com/loonghao/wecom-bot-mcp-server.git
cd wecom-bot-mcp-serverСоздайте виртуальную среду и установите зависимости:
# Using uv (recommended)
pip install uv
uv venv
uv pip install -e ".[dev]"
# Or using traditional method
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
pip install -e ".[dev]"Тестирование
# Using uv (recommended)
uvx nox -s pytest
# Or using traditional method
nox -s pytestСтиль кода
# Check code
uvx nox -s lint
# Automatically fix code style issues
uvx nox -s lint_fixСтроительство и издательское дело
# Build the package
uv build
# Build and publish to PyPI
uv build && twine upload dist/*Структура проекта
wecom-bot-mcp-server/
├── src/
│ └── wecom_bot_mcp_server/
│ ├── __init__.py
│ ├── server.py
│ ├── message.py
│ ├── file.py
│ ├── image.py
│ ├── utils.py
│ └── errors.py
├── tests/
│ ├── test_server.py
│ ├── test_message.py
│ ├── test_file.py
│ └── test_image.py
├── docs/
├── pyproject.toml
├── noxfile.py
└── README.mdЛицензия
Данный проект лицензирован по лицензии MIT — подробности см. в файле LICENSE .
Контакт
Автор: longhao
Электронная почта: hal.long@outlook.com
This server cannot be deployed
Maintenance
Related MCP Connectors
FastMCP server for posting formatted content to X (Twitter) — Tollbooth-monetized, DPYC-native
MCP server for Sendbird — chat users, channels, members, and messages from your AI client.
MCP server for Appcircle mobile CI/CD platform.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceA WeChat robot server based on the Model Context Protocol that enables AI agents to send and receive messages and manage typing status. It provides tools for QR code login, long-polling message retrieval, and persistent state management across various MCP clients.29 npm108MIT
- AlicenseNot gradedqualityCmaintenanceFree self-hosted WeChat push notification service with a standard MCP Server, enabling message sending via Webhook or MCP tools.GPL 3.0
- AlicenseCqualityCmaintenanceMCP server for WeCom customer contact API, enabling LLMs to manage customers, tags, group chats, moments, and mass-send messages.13MIT
- FlicenseNot gradedqualityDmaintenanceMCP server for WeChat PC automation, enabling message sending, voice/video calls, and AI-powered listening through Cursor or WorkBuddy.2-