使用说明
项目简介
WeCom Bot MCP Server 是一个基于 Model Context Protocol (MCP) 构建的应用后端,专注于为大型语言模型(LLM)客户端提供企业微信(WeCom,原微信企业版)机器人的上下文服务能力。该服务器实现了 MCP 协议,使得 LLM 能够通过标准化的接口,便捷地调用企业微信机器人发送消息、文件,并获取历史消息记录,从而扩展 LLM 在企业协同和信息触达方面的应用场景。
主要功能点
- 消息发送: 支持发送多种类型的消息到企业微信群或个人,包括:
- 文本消息 (Text)
- Markdown 消息 (Markdown)
- 图片消息 (Image): 支持本地图片文件路径和网络图片 URL。
- 文件消息 (File): 支持上传和发送本地文件。
- @ 用户: 在消息中支持 @ 企业微信群成员,可以通过用户 ID 或手机号码进行 @ 提及。
- 消息历史记录: 提供资源接口,允许客户端查询和访问最近的消息历史记录,方便 LLM 理解对话上下文。
- 灵活配置: 支持通过环境变量配置企业微信机器人 Webhook URL、日志级别和日志文件路径等。
- 易于集成: 遵循 MCP 协议,可以与任何支持 MCP 协议的 LLM 客户端轻松集成,例如 Windsurf、Cline 等。
安装步骤
- 环境准备: 确保你的系统中已安装 Python 3.10 或更高版本。你可以通过命令 'python --version' 或 'python3 --version' 检查 Python 版本。
- 安装 Python 包: 使用 pip 包管理器安装 'wecom-bot-mcp-server' Python 包。在终端中执行以下命令:
pip install wecom-bot-mcp-server
服务器配置
为了让 MCP 客户端(如 Windsurf, Cline)能够连接并使用 WeCom Bot MCP Server,你需要在 MCP 客户端的配置文件中添加或更新服务器配置。以下是一个典型的 JSON 格式配置示例,你需要根据你的 MCP 客户端的具体配置方式进行设置。
{ "mcpServers": { "wecom": { // 服务器名称,在 MCP 客户端中用于标识和连接此服务器,可以自定义。 "command": "uvx", // 服务器启动命令。这里假设你已安装 uvx (uv executable launcher),也可以直接使用 'wecom-bot-mcp-server',前提是该命令已添加到系统 PATH 环境变量中。 "args": [ "wecom-bot-mcp-server" // 启动参数,通常情况下无需额外参数。 ], "env": { "WECOM_WEBHOOK_URL": "your-webhook-url" // **必须配置**:你的企业微信群机器人 Webhook URL。请替换为你在企业微信群机器人设置中获取的真实 Webhook URL。 } } } }
配置说明:
- '"wecom"': 服务器名称,你可以自定义,MCP 客户端会使用这个名称来引用和连接到 WeCom Bot MCP Server。
- '"command": "uvx"' 和 '"args": ["wecom-bot-mcp-server"]': 指定了服务器的启动命令。'uvx wecom-bot-mcp-server' 会执行 'wecom_bot_mcp_server' 包的入口点,启动 MCP 服务器。如果 'wecom-bot-mcp-server' 命令已在你的系统 PATH 中,你可以简化配置为 '"command": "wecom-bot-mcp-server"', '"args": []'。
- '"env": {"WECOM_WEBHOOK_URL": "your-webhook-url"}': 配置环境变量。'WECOM_WEBHOOK_URL' 是 必须配置 的环境变量,用于指定企业微信机器人 Webhook URL。请务必将 '"your-webhook-url"' 替换为你实际的企业微信机器人 Webhook URL。
获取企业微信机器人 Webhook URL:
- 在企业微信中创建一个群机器人。
- 在群机器人设置中,找到 "Webhook" 或 "API 接口" 相关选项。
- 复制生成的 Webhook URL。
基本使用方法
-
启动服务器: 在安装了 'wecom-bot-mcp-server' 的环境中,打开终端,执行以下命令启动 MCP 服务器:
wecom-bot-mcp-server服务器成功启动后,你将在终端看到日志输出,指示服务器正在运行。
-
在 MCP 客户端中使用: 配置完成后,你的 MCP 客户端(如 Windsurf, Cline)应该能够检测到并连接到 WeCom Bot MCP Server。你可以通过 MCP 客户端提供的界面或 API,调用服务器提供的工具 (Tools) 和资源 (Resources)。
例如,在支持 MCP 协议的 LLM 应用或开发环境中,你可以使用类似以下的 API 调用来发送消息或获取消息历史 (以下代码仅为示例,具体 API 调用方式取决于你使用的 MCP 客户端):
# 示例代码 (假设你使用的 MCP 客户端提供了类似 mcp_client 的库) import asyncio from mcp_client import MCPClient # 假设的 MCP 客户端库 async def main(): async with MCPClient() as client: wecom_server = client.get_mcp_server("wecom") # "wecom" 是你在配置文件中设置的服务器名称 if wecom_server: # 发送文本消息 message_result = await wecom_server.tools.send_message(content="你好,世界!", msg_type="text") print(f"消息发送结果: {message_result}") # 发送 Markdown 消息 markdown_result = await wecom_server.tools.send_message(content="# 标题\n*斜体字*", msg_type="markdown") print(f"Markdown 消息发送结果: {markdown_result}") # 发送图片 (假设 image_path 是图片文件路径或 URL) image_result = await wecom_server.tools.send_wecom_image(image_path="/path/to/image.png") print(f"图片发送结果: {image_result}") # 获取消息历史记录 history_resource = await wecom_server.resources.get_message_history_resource() print(f"消息历史记录:\n{history_resource}") else: print("WeCom MCP 服务器未连接或配置错误") if __name__ == "__main__": asyncio.run(main())请参考你所使用的 MCP 客户端的文档,了解如何配置和调用 MCP 服务器提供的工具和资源。
信息
分类
通信与社交