云计算百科
云计算领域专业知识百科平台

企业微信机器人消息服务器【MCP工具】

一个使用FastMCP通过企业微信机器人发送消息的服务器,支持通过Webhook进行异步通信和消息追踪。

WeCom Bot MCP 服务器

一个符合 Model Context Protocol (MCP) 的 WeCom(企业微信)机器人服务器实现。

功能

  • 支持多种消息类型:
    • 文本消息
    • Markdown 消息
    • 图片消息(base64)
    • 文件消息
  • @提及支持(通过用户ID或电话号码)
  • 消息历史记录追踪
  • 可配置的日志系统
  • 完整的类型注解
  • 基于 Pydantic 的数据验证

要求

  • Python 3.10+
  • WeCom 机器人的 Webhook URL(从 WeCom 群组设置中获取)

安装

有几种方法可以安装 WeCom Bot MCP 服务器:

1. 自动化安装(推荐)

使用 Smithery(适用于 Claude Desktop):

npx -y @smithery/cli install wecom-bot-mcp-server –client claude

使用 VSCode 和 Cline 扩展:
  • 从 VSCode 市场安装 Cline 扩展
  • 打开命令面板(Ctrl+Shift+P / Cmd+Shift+P)
  • 搜索 "Cline: Install Package"
  • 输入 "wecom-bot-mcp-server" 并按 Enter 键
  • 2. 手动安装

    从 PyPI 安装:

    pip install wecom-bot-mcp-server

    手动配置 MCP:

    创建或更新您的 MCP 配置文件:

    // For Windsurf: ~/.windsurf/config.json
    {
    "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" # Optional configurations $env:MCP_LOG_LEVEL = "DEBUG" # Log levels: DEBUG, INFO, WARNING, ERROR, CRITICAL $env:MCP_LOG_FILE = "path/to/custom/log/file.log" # Custom log file path

    日志管理

    日志系统使用 platformdirs.user_log_dir() 进行跨平台日志文件管理:

    • Windows: C:\\Users\\<username>\\AppData\\Local\\hal\\wecom-bot-mcp-server
    • Linux: ~/.local/share/hal/wecom-bot-mcp-server
    • macOS: ~/Library/Application Support/hal/wecom-bot-mcp-server

    日志文件名为 mcp_wecom.log,并存储在上述目录中。

    使用

    启动服务器

    wecom-bot-mcp-server

    使用示例(使用 MCP)

    # Scenario 1: Send weather information to WeCom USER: "How's the weather in Shenzhen today? Send it to WeCom" ASSISTANT: "I'll check Shenzhen's weather and send it to WeCom" await mcp.send_message( content="Shenzhen Weather:\\n- Temperature: 25°C\\n- Weather: Sunny\\n- Air Quality: Good", msg_type="markdown" ) # Scenario 2: Send meeting reminder and @mention relevant people USER: "Send a reminder for the 3 PM project review meeting, remind Zhang San and Li Si to attend" ASSISTANT: "I'll send the meeting reminder" await mcp.send_message( content="## Project Review Meeting Reminder\\n\\nTime: Today 3:00 PM\\nLocation: Meeting Room A\\n\\nPlease be on time!", msg_type="markdown", mentioned_list=["zhangsan", "lisi"] ) # Scenario 3: Send a file USER: "Send this weekly report to the WeCom group" ASSISTANT: "I'll send the weekly report" await mcp.send_message( content=Path("weekly_report.docx"), msg_type="file" )

    直接使用 API

    发送消息

    from wecom_bot_mcp_server import mcp # Send markdown message await mcp.send_message( content="**Hello World!**", msg_type="markdown" ) # Send text message and mention users await mcp.send_message( content="Hello @user1 @user2", msg_type="text", mentioned_list=["user1", "user2"] )

    发送文件

    from wecom_bot_mcp_server import send_wecom_file # Send file await send_wecom_file("/path/to/file.txt")

    发送图片

    from wecom_bot_mcp_server import send_wecom_image # Send local image await send_wecom_image("/path/to/image.png") # Send URL image 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

  • 创建虚拟环境并安装依赖项:
  • # Using uv (recommended) pip install uv uv venv uv pip install -e ".[dev]" # Or using traditional method python -m venv venv source venv/bin/activate # On Windows: venv\\Scripts\\activate pip install -e ".[dev]"

    测试

    # Using uv (recommended) uvx nox -s pytest # Or using traditional method nox -s pytest

    代码风格

    # Check code uvx nox -s lint # Automatically fix code style issues uvx nox -s lint_fix

    构建和发布

    # Build the package uv build # Build and publish to 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

    赞(0)
    未经允许不得转载:网硕互联帮助中心 » 企业微信机器人消息服务器【MCP工具】
    分享到: 更多 (0)

    评论 抢沙发

    评论前必须登录!