article
README
🚀 企业微信机器人MCP兼容服务器实现
本项目开发了一个支持Model Context Protocol(MCP)的企业微信机器人服务器。该服务器可与主流AI模型交互,还能通过企业微信发送消息、文件和图片,为企业沟通场景提供了便捷的解决方案。
🚀 快速开始
在使用本服务器前,需要完成初始化配置。在config.py文件中添加以下内容:
BOT_TOKEN = "your_bot_token"
API_HOST = "your_api_host"
以下是发送消息的示例代码:
from wecom_bot_mcp_server import mcp
# 发送文本消息
await mcp.send_message("这是一条测试信息")
# 发送Markdown格式消息
await mcp.send_message("**重要通知**", msg_type="markdown")
✨ 主要特性
- 💬 支持发送多种类型的消息:文本、Markdown格式、文件和图片
- 👥 提供@提及功能,支持批量用户通知
- 📜 内建消息历史记录模块
- 🖼️ 支持本地和远程图片传输
- 📚 提供完整的API接口
📦 安装指南
使用pip安装
pip install wecom-bot-mcp-server
从源码安装
git clone https://github.com/loonghao/wecom-bot-mcp-server.git
cd wecom-bot-mcp-server
pip install -e .
💻 使用示例
基础用法
from wecom_bot_mcp_server import mcp
# 发送文本消息
await mcp.send_message("这是一条测试信息")
# 发送Markdown格式消息
await mcp.send_message("**重要通知**", msg_type="markdown")
高级用法
from wecom_bot_mcp_server import mcp
import asyncio
async def main():
# 发送文本消息并@特定用户
await mcp.send_message("请大家注意查看", mentioned_list=["user_id_1", "user_id_2"])
# 发送文件
await mcp.send_file("path/to/your/file.pdf")
asyncio.run(main())
📚 详细文档
发送文本消息
async def send_message(message: str, *, msg_type: str = "text", mentioned_list: List[str] = None):
"""
发送文本或Markdown格式的消息
参数:
message (str): 消息内容
msg_type (str, 可选): 消息类型,支持"text"和"markdown"
mentioned_list (List[str], 可选): 需要@提及的用户ID列表
返回:
bool: 发送结果
"""
发送文件
async def send_file(file_path: str):
"""
上传并发送文件
参数:
file_path (str): 文件路径,支持本地和远程URL
返回:
bool: 发送结果
"""
🔧 技术细节
环境搭建
- 安装依赖:
pip install -r requirements.txt
- 启动开发服务器:
python src/server.py
测试流程
- 运行单元测试:
pytest tests/
- 执行代码检查:
flake8 . --ignore=E501
项目结构
wecom-bot-mcp-server/
├── src/
│ └── wecom_bot_mcp_server/
│ ├── __init__.py
│ ├── server.py
│ ├── message_handler.py
│ └── file_storage.py
└── tests/
└── test_*.py
📄 许可证
本项目遵循MIT开源协议,详细内容请参阅LICENSE文件。
📞 联系方式
- 作者:longhao
- 邮箱:hal.long@outlook.com
扫码联系在线客服