WeCom MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| WECOM_CORP_ID | Yes | Corp ID for WeCom self-built application | |
| WECOM_AGENT_ID | Yes | Agent ID (number) for WeCom self-built application | |
| WECOM_DATA_DIR | No | Data persistence directory (default: data) | |
| WECOM_MCP_HOST | No | HTTP server host (default: 0.0.0.0) | |
| WECOM_MCP_PORT | No | HTTP server port (default: 9000) | |
| WECOM_CORP_SECRET | Yes | App secret for WeCom self-built application | |
| WECOM_MCP_TRANSPORT | No | MCP transport mode: stdio (default), streamable-http, or sse | |
| WECOM_CALLBACK_TOKEN | No | Optional callback token for message reception | |
| WECOM_CONTACTS_SECRET | No | Optional contacts sync secret for full-directory access | |
| WECOM_CALLBACK_ENCODING_AES_KEY | No | Optional AES key for message decryption (43 characters) |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| send_text_messageB | 向企业微信成员发送文本消息。 Args: to_user: 接收人 userid,多人用 "|" 分隔 to_party: 接收部门 id,多个用 "|" 分隔 to_tag: 接收标签 id,多个用 "|" 分隔 content: 文本内容 agent_id: 应用 AgentId,留空使用默认配置 |
| send_markdown_messageA | 发送 Markdown 消息 (仅企业微信客户端支持)。 content 示例: # 标题 / 加粗 / 链接 / > 引用 |
| send_messageA | 发送任意类型应用消息 (通用接口)。 Args: msg_type: text/markdown/textcard/news/image/mpnews/template_card 等 content_json: 对应 msg_type 的内容体 JSON。 text: {"content":"文本"} markdown: {"content":"# 标题"} textcard: {"title":"标题","description":"描述","url":"https://..."} agent_id: 应用 AgentId,留空使用默认配置 |
| send_file_messageA | 发送文件给企业微信成员 (自动上传文件并发送)。 限制: 文件不超过 20MB。media_id 仅 3 天内有效。 |
| mass_send_messageA | 群发消息给应用可见范围内的全部成员 (touser=@all)。 注意: @all 仅覆盖应用可见范围,不是企业全部成员。 如需发给全企业,请把应用可见范围设为根部门。 |
| lookup_user_idA | 通过成员姓名查找 UserID (用于发送消息时指定接收人)。 支持精确匹配;若无人匹配则模糊匹配。多人同名会全部返回。 |
| list_users_by_departmentA | 列出部门成员 (仅返回姓名 + UserID)。 Args: department_id: 部门 ID,0=根部门 (全部成员) fetch_child: 是否递归子部门 |
| check_configA | 检查当前 WeCom 配置是否就绪 (不发起网络请求)。 |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 8 tools
Most tools have clearly distinct purposes, but send_message can also send text/markdown, overlapping with send_text_message and send_markdown_message. The generic tool is described as a universal interface, but the overlap could still cause selection confusion.
All tools follow a consistent verb_noun snake_case pattern: send_text_message, send_markdown_message, lookup_user_id, list_users_by_department, check_config. The only slight deviation is send_message, but it is still a clear verb_noun form.
8 tools is well-scoped for a WeCom messaging integration. Each tool covers a distinct function: sending different message types, mass send, user lookup, department listing, and configuration check, without unnecessary bloat.
Core messaging workflows are covered: text, markdown, file, generic types, mass send, and user retrieval. Minor gaps include lack of a dedicated media upload tool for images/news and no message status query, but these are not critical for a simple messaging server.