这是一个符合模型上下文协议(MCP)的 WeCom(企业微信)机器人服务器实现。
有几种方法可以安装 WeCom Bot MCP 服务器:
npx -y @smithery/cli install wecom-bot-mcp-server --client claude
pip install wecom-bot-mcp-server
创建或更新您的 MCP 配置文件:
// 对于 Windsurf:~/.windsurf/config.json
{
"mcpServers": {
"wecom": {
"command": "uvx",
"args": [
"wecom-bot-mcp-server"
],
"env": {
"WECOM_WEBHOOK_URL": "您的 Webhook URL"
}
}
}
}

# Windows PowerShell
$env:WECOM_WEBHOOK_URL = "您的 Webhook URL"
# 可选配置
$env:MCP_LOG_LEVEL = "DEBUG" # 日志级别:DEBUG, INFO, WARNING, ERROR, CRITICAL
$env:MCP_LOG_FILE = "自定义日志文件路径" # 自定义日志文件路径

日志系统使用 platformdirs.user_log_dir()
进行跨平台日志文件管理:
C:\Users\<用户名>\AppData\Local\hal\wecom-bot-mcp-server
~/.local/share/hal/wecom-bot-mcp-server
~/Library/Application Support/hal/wecom-bot-mcp-server
日志文件名为 mcp_wecom.log
,存储在上述目录中。
wecom-bot-mcp-server
# 场景 1:向企业微信发送天气信息
用户:"今天深圳的天气怎么样?发到企业微信"
助手:"我将查询深圳今天的天气并发送到企业微信"
await mcp.send_message(
content="深圳天气:\n- 温度:25°C\n- 天气:晴朗\n- 空气质量:良好",
msg_type="markdown"
)
# 场景 2:发送会议提醒并@相关人员
用户:"提醒今天下午3点的项目评审会议,提醒张三和李四参加"
助手:"我将发送会议提醒"
await mcp.send_message(
content="## 项目评审会议提醒\n\n时间:今天下午3:00\n地点:会议室A\n\n请准时参加!",
msg_type="markdown",
mentioned_list=["zhangsan", "lisi"]
)
# 场景 3:发送文件
用户:"把这个周报发到企业微信群"
助手:"我将发送周报"
await mcp.send_message(
content=Path("weekly_report.docx"),
msg_type="file"
)

from wecom_bot_mcp_server import mcp
# 发送 Markdown 消息
await mcp.send_message(
content="**Hello World!**",
msg_type="markdown"
)
# 发送文本消息并@用户
await mcp.send_message(
content="Hello @user1 @user2",
msg_type="text",
mentioned_list=["user1", "user2"]
)

from wecom_bot_mcp_server import send_wecom_file
# 发送文件
await send_wecom_file("/path/to/file.txt")

from wecom_bot_mcp_server import send_wecom_image
# 发送本地图片
await send_wecom_image("/path/to/image.png")
# 发送 URL 图片
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

# 推荐使用 uv
pip install uv
uv venv
uv pip install -e ".[dev]"
# 或者使用传统方法
python -m venv venv
source venv/bin/activate # Windows:venv\Scripts\activate
pip install -e ".[dev]"

# 使用 uv(推荐)
uvx nox -s pytest
# 或者使用传统方法
nox -s pytest

# 检查代码
uvx nox -s lint
# 自动修复代码风格问题
uvx nox -s lint_fix

# 构建包
uv build
# 构建并发布到 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 文件。