Skip to main content
Glama
multi-bot.md5.03 kB
# Multi-Bot Support WeCom Bot MCP Server supports configuring and using multiple bots, allowing you to route messages to different groups or use different bots for different purposes. ## Why Multiple Bots? - **Separate concerns**: Use different bots for alerts, CI/CD notifications, and team updates - **Multiple groups**: Send messages to different WeCom groups - **Access control**: Different teams can have their own bots ## Configuration Methods ### Method 1: JSON Configuration (Recommended) Configure all bots in a single JSON environment variable: ::: code-group ```bash [Linux/macOS] export WECOM_BOTS='{ "alert": { "name": "Alert Bot", "webhook_url": "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=xxx", "description": "For system alerts" }, "ci": { "name": "CI Bot", "webhook_url": "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=yyy", "description": "For CI/CD notifications" }, "team": { "name": "Team Bot", "webhook_url": "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=zzz", "description": "For team updates" } }' ``` ```powershell [Windows PowerShell] $env:WECOM_BOTS = '{"alert": {"name": "Alert Bot", "webhook_url": "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=xxx", "description": "For system alerts"}, "ci": {"name": "CI Bot", "webhook_url": "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=yyy", "description": "For CI/CD notifications"}}' ``` ::: ### Method 2: Individual Environment Variables Set separate environment variables for each bot: ```bash export WECOM_BOT_ALERT_URL="https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=xxx" export WECOM_BOT_CI_URL="https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=yyy" export WECOM_BOT_NOTIFY_URL="https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=zzz" ``` Bot IDs are derived from the variable name (lowercase): `WECOM_BOT_ALERT_URL` → `alert` ### Method 3: Combined Mode Use `WECOM_WEBHOOK_URL` as the default bot and add more bots: ```bash # Default bot export WECOM_WEBHOOK_URL="https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=default" # Additional bots export WECOM_BOT_ALERT_URL="https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=alert" export WECOM_BOT_CI_URL="https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=ci" ``` ## MCP Client Configuration ### Claude Desktop / Windsurf / Cline ```json { "mcpServers": { "wecom": { "command": "uvx", "args": ["wecom-bot-mcp-server"], "env": { "WECOM_WEBHOOK_URL": "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=default", "WECOM_BOTS": "{\"alert\": {\"name\": \"Alert Bot\", \"webhook_url\": \"https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=alert\"}, \"ci\": {\"name\": \"CI Bot\", \"webhook_url\": \"https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=ci\"}}" } } } } ``` ## Using Multiple Bots ### With AI Assistant The AI assistant automatically knows about available bots. You can specify which bot to use: ``` USER: "Send a critical alert to the alert bot: Server CPU is above 90%" ASSISTANT: [Uses send_message with bot_id="alert"] USER: "Send build success notification to the CI bot" ASSISTANT: [Uses send_message with bot_id="ci"] USER: "What WeCom bots are available?" ASSISTANT: [Uses list_wecom_bots tool to show all bots] ``` ### With Python API ```python from wecom_bot_mcp_server import send_message, send_wecom_file, send_wecom_image # Send to default bot await send_message("Hello!", msg_type="text") # Send to specific bot await send_message( content="⚠️ High CPU usage detected!", msg_type="markdown", bot_id="alert" ) # Send file to CI bot await send_wecom_file("/path/to/report.pdf", bot_id="ci") # Send image to team bot await send_wecom_image("/path/to/chart.png", bot_id="team") ``` ### List Available Bots ```python from wecom_bot_mcp_server.bot_config import list_available_bots, get_bot_registry # List all bots bots = list_available_bots() for bot in bots: print(f"Bot: {bot['id']} - {bot['name']} - {bot['description']}") # Check if a bot exists registry = get_bot_registry() if registry.has_bot("alert"): print("Alert bot is configured") # Get bot count print(f"Total bots: {registry.get_bot_count()}") ``` ## Best Practices 1. **Use descriptive names**: Give bots meaningful names and descriptions 2. **Separate concerns**: Use different bots for different purposes 3. **Default bot**: Always configure a default bot for general messages 4. **Document your bots**: Keep track of which bot is for which purpose ## Troubleshooting ### Bot Not Found Error If you get "Bot 'xxx' not found", check: 1. The bot ID is correct (case-insensitive) 2. The environment variable is set correctly 3. Restart your MCP client after configuration changes ### List Available Bots Use the `list_wecom_bots` MCP tool or Python API to see all configured bots: ```python from wecom_bot_mcp_server.bot_config import list_available_bots print(list_available_bots()) ```

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/loonghao/wecom-bot-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server