logo
0
1
Login
编辑文件 README.md

企业微信机器人 MCP Server

一个功能完整的企业微信机器人 MCP Server,支持发送文本、Markdown、图片和图文消息到企业微信群。

功能特性

  • 🤖 文本消息发送 - 支持普通文本和 Markdown 格式
  • 📷 图片消息发送 - 支持 base64 编码图片
  • 📰 图文消息发送 - 支持多条图文消息
  • 👥 @用户功能 - 支持通过用户ID或手机号@特定用户
  • 🔧 连接测试 - 内置连接测试功能
  • 高性能 - 基于 TypeScript 和现代 Node.js

快速开始

1. 安装依赖

npm install

2. 配置环境变量

复制 .env.example.env 并填入你的企业微信机器人配置:

cp .env.example .env

编辑 .env 文件:

# 企业微信机器人 Webhook URL(必需) WEWORK_BOT_WEBHOOK_URL=https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=YOUR_BOT_KEY # 以下为可选配置,用于高级功能 WEWORK_CORP_ID=your_corp_id WEWORK_CORP_SECRET=your_corp_secret WEWORK_AGENT_ID=your_agent_id

3. 构建项目

npm run build

4. 启动 MCP Server

npm start

或者在开发模式下运行:

npm run dev

获取企业微信机器人 Webhook URL

  1. 在企业微信群中,点击右上角的群设置
  2. 选择"群机器人" -> "添加机器人"
  3. 选择"自定义机器人",设置机器人名称和头像
  4. 复制生成的 Webhook URL

MCP 工具说明

send_wework_message

发送文本或 Markdown 消息到企业微信群。

参数:

  • content (string, 必需): 消息内容
  • type (string, 可选): 消息类型,'text' 或 'markdown',默认为 'text'
  • mentionUsers (array, 可选): 要@的用户ID列表
  • mentionMobiles (array, 可选): 要@的手机号列表

示例:

{ "content": "Hello, World!", "type": "text", "mentionUsers": ["@all"] }

send_wework_news

发送图文消息到企业微信群。

参数:

  • articles (array, 必需): 图文消息列表,最多8条

每个 article 包含:

  • title (string, 必需): 标题
  • description (string, 可选): 描述
  • url (string, 必需): 跳转链接
  • picurl (string, 可选): 图片链接

示例:

{ "articles": [ { "title": "新功能发布", "description": "我们发布了新的功能,快来体验吧!", "url": "https://example.com/news/1", "picurl": "https://example.com/image.jpg" } ] }

send_wework_image

发送图片到企业微信群。

参数:

  • base64 (string, 必需): 图片的 base64 编码数据

test_wework_connection

测试企业微信机器人连接是否正常。

参数:

在 CodeBuddy 中使用

方式一:使用 uvx(推荐)

在 CodeBuddy 的配置文件中添加以下配置:

macOS

编辑 ~/Library/Application Support/CodeBuddy/CodeBuddy_desktop_config.json

{ "mcpServers": { "wework-bot": { "command": "uvx", "args": ["wework-bot-mcp-server"], "env": { "WEWORK_BOT_WEBHOOK_URL": "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=YOUR_BOT_KEY" } } } }

Windows

编辑 %APPDATA%/CodeBuddy/CodeBuddy.json

{ "mcpServers": { "wework-bot": { "command": "uvx", "args": ["wework-bot-mcp-server"], "env": { "WEWORK_BOT_WEBHOOK_URL": "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=YOUR_BOT_KEY" } } } }

方式二:本地安装

全局安装

npm install -g wework-bot-mcp-server

然后在 CodeBuddy 配置中使用:

{ "mcpServers": { "wework-bot": { "command": "wework-bot-mcp-server", "env": { "WEWORK_BOT_WEBHOOK_URL": "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=YOUR_BOT_KEY" } } } }

本地开发

编辑 ~/Library/Application Support/CodeBuddy/CodeBuddy.json

{ "mcpServers": { "wework-bot": { "command": "node", "args": ["/path/to/wework-bot-mcp-server/dist/index.js"], "env": { "WEWORK_BOT_WEBHOOK_URL": "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=YOUR_BOT_KEY" } } } }

开发

项目结构

src/ ├── index.ts # MCP Server 主入口 ├── services/ │ └── wework-client.ts # 企业微信 API 客户端 ├── types/ │ └── wework.ts # TypeScript 类型定义 └── utils/ └── config.ts # 配置管理

开发命令

# 开发模式 npm run dev # 构建 npm run build # 代码检查 npm run lint # 格式化代码 npm run format # 运行测试 npm test

故障排除

常见问题

  1. "WEWORK_BOT_WEBHOOK_URL 环境变量未设置"

    • 确保已正确配置 .env 文件或环境变量
  2. "无效的企业微信 Webhook URL"

    • 检查 Webhook URL 是否以 https://qyapi.weixin.qq.com/ 开头
    • 确保 URL 中包含正确的 key 参数
  3. "企业微信API请求失败"

    • 检查网络连接
    • 验证 Webhook URL 是否有效
    • 确认机器人是否已添加到目标群组
  4. 消息发送失败

    • 使用 test_wework_connection 工具测试连接
    • 检查消息内容是否符合企业微信的限制(如长度、格式等)

调试模式

设置环境变量 DEBUG=1 启用详细日志:

DEBUG=1 npm run dev

许可证

MIT License

贡献

欢迎提交 Issue 和 Pull Request!

联系方式