WeCom Bot MCP Server

Integrations

  • Provides a Model Context Protocol (MCP) server implementation for WeCom (WeChat Work) bot, enabling sending of text, markdown, image and file messages to WeCom groups, with support for @mentions and message history tracking.

Сервер WeCom Bot MCP

Реализация сервера, совместимого с Model Context Protocol (MCP), для бота WeCom (WeChat Work).

английский |中文

Функции

  • Поддержка нескольких типов сообщений:
    • Текстовые сообщения
    • Сообщения Markdown
    • Сообщения изображений (base64)
    • Файл сообщения
  • Поддержка @упоминания (по идентификатору пользователя или номеру телефона)
  • Отслеживание истории сообщений
  • Настраиваемая система регистрации
  • Полные аннотации типа
  • Проверка данных на основе Pydantic

Требования

  • Питон 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:
  1. Установите расширение Cline из магазина VSCode
  2. Открыть палитру команд (Ctrl+Shift+P / Cmd+Shift+P)
  3. Поиск по запросу «Cline: Установить пакет»
  4. Введите «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-server
  • Linux: ~/.local/share/hal/wecom-bot-mcp-server
  • macOS: ~/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")

Разработка

Настройка среды разработки

  1. Клонируйте репозиторий:
git clone https://github.com/loonghao/wecom-bot-mcp-server.git cd wecom-bot-mcp-server
  1. Создайте виртуальную среду и установите зависимости:
# 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 .

Контакт

-
security - not tested
A
license - permissive license
-
quality - not tested

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Сервер для отправки сообщений через ботов WeCom с использованием FastMCP, поддерживающий асинхронную связь и отслеживание сообщений через веб-хуки.

  1. Функции
    1. Требования
      1. Установка
        1. 1. Автоматическая установка (рекомендуется)
        2. 2. Ручная установка
      2. Конфигурация
        1. Установка переменных среды
        2. Управление журналами
      3. Использование
        1. Запуск сервера
        2. Примеры использования (с MCP)
        3. Прямое использование API
      4. Разработка
        1. Настройка среды разработки
        2. Тестирование
        3. Стиль кода
        4. Строительство и издательское дело
      5. Структура проекта
        1. Лицензия
          1. Контакт

            Related MCP Servers

            • -
              security
              F
              license
              -
              quality
              An MCP server that enables communication with users through Telegram. This server provides a tool to ask questions to users and receive their responses via a Telegram bot.
              Last updated -
              1
              16
              JavaScript
            • A
              security
              A
              license
              A
              quality
              Enables sending messages to webhook endpoints through the MCP protocol, supporting custom content, display names, and avatar URLs.
              Last updated -
              1
              31
              13
              JavaScript
              MIT License
            • A
              security
              A
              license
              A
              quality
              An MCP server that enables posting messages to Discord webhooks, allowing customization of content, username, and avatar URL.
              Last updated -
              1
              0
              JavaScript
              MIT License
            • -
              security
              -
              license
              -
              quality
              A Discord bot server that integrates with Mastra's MCP Bot component to provide intelligent assistance and answer questions about Mastra.ai through direct messages and slash commands.
              Last updated -
              1
              TypeScript

            View all related MCP servers

            ID: amr2j23lbk