这是一个符合模型上下文协议(MCP)的WeCom(企业微信)机器人服务器实现。
<a href="https://glama.ai/mcp/servers/amr2j23lbk"><img width="380" height="200" src="https://gips3.baidu.com/it/u=4117743812,2295120135&fm=3081&app=3081&f=PNG?w=760&h=400" alt="WeCom Bot Server MCP 服务器" /></a>
有几种方式可以安装 WeCom Bot MCP Server:
npx -y @smithery/cli install wecom-bot-mcp-server --client claude
在您的 MCP 客户端配置文件中添加服务器:
// 对于 macOS 上的 Claude Desktop: ~/Library/Application Support/Claude/claude_desktop_config.json
// 对于 Windows 上的 Claude Desktop: %APPDATA%\Claude\claude_desktop_config.json
// 对于 Windsurf: ~/.windsurf/config.json
// 对于 VSCode 中的 Cline: VSCode 设置 > Cline > MCP 设置
{
"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"
# 可选配置
$env:MCP_LOG_LEVEL = "DEBUG" # 日志级别:DEBUG, INFO, WARNING, ERROR, CRITICAL
$env:MCP_LOG_FILE = "path/to/custom/log/file.log" # 自定义日志文件路径
日志系统使用 platformdirs.user_log_dir() 进行跨平台日志文件管理:
C:\Users\<用户名>\AppData\Local\hal\wecom-bot-mcp-server\Logs~/.local/state/hal/wecom-bot-mcp-server/log~/Library/Logs/hal/wecom-bot-mcp-server日志文件名为 mcp_wecom.log,存储在上述目录中。
您可以使用环境变量自定义日志级别和文件路径:
MCP_LOG_LEVEL: 设置为 DEBUG, INFO, WARNING, ERROR 或 CRITICALMCP_LOG_FILE: 设置为自定义日志文件路径配置完成后,当您的 MCP 客户端启动时,MCP 服务器会自动运行。您可以通过自然语言与AI助手进行交互。
场景 1: 向 WeCom 发送天气信息
用户: "深圳今天的天气怎么样?发送到 WeCom"
助手: "我将检查深圳的天气并发送到 WeCom"
[助手将使用 send_message 工具发送天气信息]
场景 2: 发送会议提醒并 @提及相关人员
用户: "发送下午3点项目评审会议的提醒,提醒张三和李四参加"
助手: "我将发送会议提醒"
[助手将使用 send_message 工具并带有 mentioned_list 参数]
场景 3: 发送文件
用户: "将这份周报发送到 WeCom 群组"
助手: "我将发送周报"
[助手将使用 send_file 工具]
场景 4: 发送图片
用户: "将这张图表图片发送到 WeCom"
助手: "我将发送图片"
[助手将使用 send_image 工具]
服务器提供了以下工具供您的AI助手使用:
send_message - 发送文本或Markdown消息
content, msg_type (text/markdown), mentioned_list, mentioned_mobile_listsend_file - 向 WeCom 发送文件
file_pathsend_image - 向 WeCom 发送图片
image_path (本地路径或URL)如果您想在Python代码中直接使用此包(而不是作为MCP服务器):
from wecom_bot_mcp_server import send_message, send_wecom_file, send_wecom_image
# 发送Markdown消息
await send_message(
content="**Hello World!**",
msg_type="markdown"
)
# 发送文本消息并提及用户
await send_message(
content="Hello @user1 @user2",
msg_type="text",
mentioned_list=["user1", "user2"]
)
# 发送文件
await send_wecom_file("/path/to/file.txt")
# 发送图片
await send_wecom_image("/path/to/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]"
# 运行所有测试并生成覆盖率报告
uvx nox -s pytest
# 仅运行导入测试
uvx nox -s test_imports
# 运行特定测试文件
uvx nox -s pytest -- tests/test_message.py
# 运行测试并显示详细输出
uvx nox -s pytest -- -v
# 检查代码
uvx nox -s lint
# 自动修复代码风格问题
uvx nox -s lint_fix
# 构建包
uvx nox -s build
# 发布到 PyPI(需要认证)
uvx nox -s publish
该项目使用 GitHub Actions 进行CI/CD:
所有依赖项在CI期间都会自动测试以尽早发现问题。
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文件。