ワンクリックで
wecom-contact
// 通讯录成员查询技能,基于 MCP tool 协议封装的 `get_userlist` 接口,获取当前用户可见范围内的通讯录成员,支持按姓名/别名本地筛选匹配。返回 userid、姓名和别名。⚠️ 仅返回当前用户有权限查看的成员,非全量成员。
// 通讯录成员查询技能,基于 MCP tool 协议封装的 `get_userlist` 接口,获取当前用户可见范围内的通讯录成员,支持按姓名/别名本地筛选匹配。返回 userid、姓名和别名。⚠️ 仅返回当前用户有权限查看的成员,非全量成员。
企业微信文档管理技能。支持企业微信文档、智能表格和智能文档(原名智能主页)的管理。具体能力:(1) 获取文档或智能表格的完整内容,以 Markdown 格式导出 (2) 新建文档或智能表格 (3) 用 Markdown 覆写文档内容 (4) 创建智能文档,将本地 Markdown 文件发布为智能文档 (5) 导出智能文档内容为 Markdown 文件。
企业微信会议技能,支持创建预约会议、查询会议列表、获取会议详情、取消会议、更新会议成员。当用户需要"创建会议"、"预约会议"、"约会议"、"安排会议"、"查看会议"、"查询会议列表"、"会议详情"、"什么时候开会"、"有哪些会议"、"查找会议"、"取消会议"、"删除会议"、"修改会议成员"、"添加会议参与人"、"移除会议成员"时触发。
企业微信消息技能。提供会话列表查询、消息记录拉取(支持文本/图片/文件/语音/视频)、多媒体文件获取和文本消息发送能力。当用户需要"查看消息"、"看聊天记录"、"发消息给某人"、"最近有什么消息"、"给群里发消息"、"看看发了什么图片/文件"时触发。
企业微信日程管理技能。适用于用户对企业微信日程的各类管理需求。当用户需要:(1) 查询指定时间范围内的日程列表或获取日程详细信息(标题、时间、地点、参与者等),(2) 创建新日程并设置提醒、参与人等,(3) 修改已有日程的标题、时间、地点等信息或取消日程,(4) 添加或移除日程参与人,(5) 查询多个成员的闲忙状态并分析共同空闲时段以安排会议时使用此技能。
企业微信智能表格管理技能。提供智能表格的结构管理(子表、字段)和数据管理(记录增删改查)。适用场景:(1) 管理智能表格子表和字段/列 (2) 查询、添加、更新、删除智能表格记录。支持通过 docid 或文档 URL 定位文档。
企业微信待办事项管理技能,支持查询待办列表、获取待办详情、创建待办、更新待办、删除待办及变更用户处理进度状态。在用户说"看看我的待办列表"、"我有哪些待办"、"帮我创建一个待办"、"把这个任务分派给张三"、"标记待办完成"、"删掉那个待办"、"帮我建个提醒"、"更新一下待办内容"、"把提醒时间改到下周"、"接受这个待办"、"拒绝这个待办"、"这个待办的详情"、"待办分派给谁了"等需要对待办进行读写操作的场景时使用。
| name | wecom-contact |
| description | 通讯录成员查询技能,基于 MCP tool 协议封装的 `get_userlist` 接口,获取当前用户可见范围内的通讯录成员,支持按姓名/别名本地筛选匹配。返回 userid、姓名和别名。⚠️ 仅返回当前用户有权限查看的成员,非全量成员。 |
wecom_mcp是一个 MCP tool,所有操作通过调用该 tool 完成。
⚠️ 前置条件:首次调用
wecom_mcp前,必须按wecom-preflight技能执行前置条件检查,确保工具已加入白名单。
通过 MCP tool 协议封装的 get_userlist 接口,获取当前用户可见范围内的通讯录成员,并在本地按姓名/别名进行筛选匹配。
获取当前用户可见范围内的所有企业成员信息:
调用示例:
使用 wecom_mcp tool 调用 wecom_mcp call contact get_userlist '{}'
返回格式:
{
"errcode": 0,
"errmsg": "ok",
"userlist": [
{
"userid": "zhangsan",
"name": "张三",
"alias": "Sam"
},
{
"userid": "lisi",
"name": "李四",
"alias": ""
}
]
}
返回字段说明:
| 字段 | 类型 | 说明 |
|---|---|---|
errcode | integer | 返回码,0 表示成功 |
errmsg | string | 错误信息 |
userlist | array | 用户列表 |
userlist[].userid | string | 用户唯一 ID |
userlist[].name | string | 用户姓名 |
userlist[].alias | string | 用户别名,可能为空 |
get_userlist 返回全量成员后,在本地对结果进行筛选匹配:
name 或 alias 与关键词完全一致,直接使用name 或 alias 包含关键词,返回所有匹配结果搜索示例:
用户问:"帮我找一下张三是谁?"
get_userlist 获取全量成员userlist 中筛选 name 或 alias 包含"张三"的成员get_userlist 返回的是当前用户可见范围内的成员,需经过可见性规则过滤,不一定是全公司所有人员;返回字段仅包含 userid、name(姓名)和 alias(别名)
⚠️ 超过 10 人时接口将报错:若 userlist 返回成员数量超过 10 人,视为异常,应立即停止处理并向用户说明:
当前通讯录可见成员数量超过了本技能支持的上限(10 人)。 本技能仅适用于可见范围较小的场景,无法在大范围通讯录中使用。 建议缩小可见范围后重试,或通过其他方式查询目标人员。
userid 是用户的唯一标识,在需要传递用户 ID 给其他接口时使用此字段
alias 字段可能为空字符串,搜索时需做空值判断
若搜索结果有多个同名人员,需将所有候选人展示给用户选择,不得自行决定
若 errcode 不为 0,说明接口调用失败,需告知用户错误信息(errmsg)
用户问:"帮我查一下 Sam 是谁?"
使用 wecom_mcp tool 调用 wecom_mcp call contact get_userlist '{}' 获取全量成员列表
在结果中筛选 alias 为 Sam 或 name 包含 Sam 的成员
若找到唯一匹配,直接展示结果:
📇 找到成员:
- 姓名:张三
- 别名:Sam
- 用户ID:zhangsan
🔍 找到多个匹配成员,请确认您要查询的是哪位:
1. 张三(别名:Sam,ID:zhangsan)
2. 张三丰(别名:Sam2,ID:zhangsan2)
请问您要查询的是哪一位?
用户问:"帮我发消息给张三"
使用 wecom_mcp tool 调用 wecom_mcp call contact get_userlist '{}' 获取全量成员
筛选 name 为"张三"的成员,确认 userid
将 userid 传递给消息发送接口
用户问:"帮我查一下张三和李四分别是谁?"
使用 wecom_mcp tool 调用 wecom_mcp call contact get_userlist '{}' 获取全量成员列表
分别筛选"张三"和"李四"的匹配结果
汇总后一并展示
注意:只需调用一次
get_userlist,在本地对结果进行多次筛选,避免重复调用接口。
| 接口 | 用途 | 输入 | 返回 |
|---|---|---|---|
get_userlist | 获取可见范围内全量通讯录成员 | 无 | 用户列表(userid、name、alias) |
| 场景 | 策略 |
|---|---|
| 精确匹配(name 或 alias 完全一致) | 直接使用,无需用户确认 |
| 模糊匹配(name 或 alias 包含关键词),唯一结果 | 直接使用,向用户展示结果 |
| 模糊匹配,多个结果 | 展示候选列表,请用户选择 |
| 无匹配结果 | 告知用户未找到对应人员 |