WeCom Bot MCP Server
WeCom Bot MCP Server
Eine Model Context Protocol (MCP)-kompatible Serverimplementierung für den WeCom (WeChat Work)-Bot.
Merkmale
Unterstützung für mehrere Nachrichtentypen:
Textnachrichten
Markdown-Nachrichten
Bildnachrichten (base64)
Dateinachrichten
@mention-Support (über Benutzer-ID oder Telefonnummer)
Nachrichtenverlaufsverfolgung
Konfigurierbares Protokollierungssystem
Vollständige Typanmerkungen
Pydantic-basierte Datenvalidierung
Related MCP server: EdgeOne MCP Pusher
Anforderungen
Python 3.10+
WeCom Bot Webhook-URL (aus den WeCom-Gruppeneinstellungen abgerufen)
Installation
Es gibt mehrere Möglichkeiten, den WeCom Bot MCP-Server zu installieren:
1. Automatisierte Installation (empfohlen)
Smithery verwenden (für Claude Desktop):
npx -y @smithery/cli install wecom-bot-mcp-server --client claudeVerwenden von VSCode mit Cline-Erweiterung:
Installieren Sie die Cline-Erweiterung vom VSCode-Marktplatz
Befehlspalette öffnen (Strg+Umschalt+P / Cmd+Umschalt+P)
Suche nach „Cline: Install Package“
Geben Sie „wecom-bot-mcp-server“ ein und drücken Sie die Eingabetaste
2. Manuelle Installation
Von PyPI installieren:
pip install wecom-bot-mcp-serverMCP manuell konfigurieren:
Erstellen oder aktualisieren Sie Ihre MCP-Konfigurationsdatei:
// For Windsurf: ~/.windsurf/config.json
{
"mcpServers": {
"wecom": {
"command": "uvx",
"args": [
"wecom-bot-mcp-server"
],
"env": {
"WECOM_WEBHOOK_URL": "your-webhook-url"
}
}
}
}Konfiguration
Festlegen von Umgebungsvariablen
# 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 pathProtokollverwaltung
Das Protokollierungssystem verwendet platformdirs.user_log_dir() für die plattformübergreifende Verwaltung von Protokolldateien:
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
Die Protokolldatei heißt mcp_wecom.log und wird im oben genannten Verzeichnis gespeichert.
Verwendung
Starten des Servers
wecom-bot-mcp-serverAnwendungsbeispiele (mit 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"
)Direkte API-Nutzung
Nachrichten senden
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"]
)Dateien senden
from wecom_bot_mcp_server import send_wecom_file
# Send file
await send_wecom_file("/path/to/file.txt")Bilder senden
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")Entwicklung
Einrichten der Entwicklungsumgebung
Klonen Sie das Repository:
git clone https://github.com/loonghao/wecom-bot-mcp-server.git
cd wecom-bot-mcp-serverErstellen Sie eine virtuelle Umgebung und installieren Sie Abhängigkeiten:
# 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]"Testen
# Using uv (recommended)
uvx nox -s pytest
# Or using traditional method
nox -s pytestCodestil
# Check code
uvx nox -s lint
# Automatically fix code style issues
uvx nox -s lint_fixErstellen und Veröffentlichen
# Build the package
uv build
# Build and publish to PyPI
uv build && twine upload dist/*Projektstruktur
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.mdLizenz
Dieses Projekt ist unter der MIT-Lizenz lizenziert – Einzelheiten finden Sie in der Datei LICENSE .
Kontakt
Autor: longhao
E-Mail: 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-