一键导入
wecom-meeting
// 企业微信会议技能,支持创建预约会议、查询会议列表、获取会议详情、取消会议、更新会议成员。当用户需要"创建会议"、"预约会议"、"约会议"、"安排会议"、"查看会议"、"查询会议列表"、"会议详情"、"什么时候开会"、"有哪些会议"、"查找会议"、"取消会议"、"删除会议"、"修改会议成员"、"添加会议参与人"、"移除会议成员"时触发。
// 企业微信会议技能,支持创建预约会议、查询会议列表、获取会议详情、取消会议、更新会议成员。当用户需要"创建会议"、"预约会议"、"约会议"、"安排会议"、"查看会议"、"查询会议列表"、"会议详情"、"什么时候开会"、"有哪些会议"、"查找会议"、"取消会议"、"删除会议"、"修改会议成员"、"添加会议参与人"、"移除会议成员"时触发。
通讯录成员查询技能,基于 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-meeting |
| description | 企业微信会议技能,支持创建预约会议、查询会议列表、获取会议详情、取消会议、更新会议成员。当用户需要"创建会议"、"预约会议"、"约会议"、"安排会议"、"查看会议"、"查询会议列表"、"会议详情"、"什么时候开会"、"有哪些会议"、"查找会议"、"取消会议"、"删除会议"、"修改会议成员"、"添加会议参与人"、"移除会议成员"时触发。 |
wecom_mcp是一个 MCP tool,所有操作通过调用该 tool 完成。
⚠️ 前置条件:首次调用
wecom_mcp前,必须按wecom-preflight技能执行前置条件检查,确保工具已加入白名单。
wecom-meeting 提供企业微信会议的完整管理能力,包含以下功能:
查看可用命令列表:使用 wecom_mcp tool 调用 wecom_mcp list meeting
执行指定命令:使用 wecom_mcp tool 调用 wecom_mcp call meeting <tool_name> '<json_params>'
创建一个预约会议,支持设置会议参数配置等。
使用 wecom_mcp tool 调用 wecom_mcp call meeting create_meeting '{"title": "<会议标题>", "meeting_start_datetime": "<会议开始时间>", "meeting_duration": <会议持续时长(秒)>}'
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
title | string | 是 | 会议标题 |
meeting_start_datetime | string | 是 | 会议开始时间,格式:YYYY-MM-DD HH:mm |
meeting_duration | integer | 是 | 会议持续时长 (秒),例如 3600 = 1 小时 |
description | string | 否 | 会议描述 |
location | string | 否 | 会议地点 |
invitees | object | 否 | 被邀请人,格式:{"userid": ["lisi", "wangwu"]} |
settings | object | 否 | 会议设置 (详见下方) |
被邀请人 userid 通过
wecom-contact技能获取
settings 字段:
| 参数 | 类型 | 说明 |
|---|---|---|
password | string | 会议密码 |
enable_waiting_room | boolean | 是否启用等候室 |
allow_enter_before_host | boolean | 是否允许成员在主持人进入前加入 |
enable_enter_mute | integer | 入会时静音设置 (枚举: 0: 关闭,1: 开启) |
allow_external_user | boolean | 是否允许外部用户入会 |
enable_screen_watermark | boolean | 是否开启屏幕水印 |
remind_scope | integer | 提醒范围 (1: 不提醒,2: 仅提醒主持人,3: 提醒所有成员,4: 指定部分人响铃,默认仅提醒主持人) |
ring_users | object | 响铃用户,格式:{"userid": ["lisi"]} |
响铃用户 userid 通过
wecom-contact技能获取
{
"errcode": 0,
"errmsg": "ok",
"meetingid": "会议ID字符串",
"meeting_code": "会议号码字符串",
"meeting_link": "会议链接URL",
"excess_users": ["无效会议账号的userid"]
}
| 字段 | 类型 | 说明 |
|---|---|---|
meetingid | string | 会议 ID |
meeting_code | string | 会议号码,向用户展示时需在回复开头单独一行纯文字展示,格式 #会议号: xxx-xxx-xxx (每3位用 - 分隔) |
meeting_link | string | 会议链接 |
excess_users | array | 参会人中包含无效会议账号的 userid,仅在购买会议专业版企业由于部分参会人无有效会议账号时返回 |
查询指定用户在时间范围内的会议 ID 列表。
使用 wecom_mcp tool 调用 wecom_mcp call meeting list_user_meetings '{"begin_datetime": "2026-03-01 00:00", "end_datetime": "2026-03-31 23:59", "limit": 100}'
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
begin_datetime | string | 否 | 查询起始时间,格式:YYYY-MM-DD HH:mm |
end_datetime | string | 否 | 查询结束时间,格式:YYYY-MM-DD HH:mm |
cursor | string | 否 | 分页游标,用于获取下一页数据 |
limit | integer | 否 | 每页返回条数,最大 100 |
限制: 时间范围仅支持当日及前后 30 天。
{
"errcode": 0,
"errmsg": "ok",
"next_cursor": "分页游标字符串,为空表示无更多",
"meetingid_list": ["会议ID_1", "会议ID_2"]
}
| 字段 | 类型 | 说明 |
|---|---|---|
meetingid_list | array | 会议 ID 列表 |
next_cursor | string | 下一页游标,为空表示无更多数据 |
通过会议 ID 查询会议的完整详情。
使用 wecom_mcp tool 调用 wecom_mcp call meeting get_meeting_info '{"meetingid": "<会议id>"}'
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
meetingid | string | 是 | 会议 ID,通过 list_user_meetings 获取 |
meeting_code | string | 否 | 会议号码 |
sub_meetingid | string | 否 | 子会议 ID |
完整的返回参数结构和字段说明详见 references/response-get-meeting-info.md
核心字段速览:
| 字段 | 类型 | 说明 |
|---|---|---|
title | string | 会议标题 |
meeting_start_datetime | string | 会议开始时间 |
meeting_duration | integer | 会议时长 (秒) |
status | integer | 会议状态 (1: 待开始,2: 会议中,3: 已结束,4: 已取消,5: 已过期) |
meeting_type | integer | 会议类型 (0: 一次性,1: 周期性,2: 微信专属,3: Rooms 投屏,5: 个人会议号,6: 网络研讨会) |
meeting_code | string | 会议号码 |
meeting_link | string | 会议链接 |
description | string | 会议描述 |
location | string | 会议地点 |
attendees.member[].status | integer | 与会状态 (1: 已参与,2: 未参与) |
取消指定的预约会议。
使用 wecom_mcp tool 调用 wecom_mcp call meeting cancel_meeting '{"meetingid": "<会议id>"}'
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
meetingid | string | 是 | 会议 ID,通过 list_user_meetings + get_meeting_info 获取 |
{
"errcode": 0,
"errmsg": "ok"
}
更新会议的受邀成员列表(全量覆盖)。
使用 wecom_mcp tool 调用 wecom_mcp call meeting set_invite_meeting_members '{"meetingid": "<会议id>", "invitees": [{"userid": "lisi"}, {"userid": "wangwu"}]}'
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
meetingid | string | 是 | 会议 ID,通过 list_user_meetings + get_meeting_info 获取 |
invitees | array | 是 | 受邀成员列表,每项包含 userid 字段 |
注意: invitees 为全量覆盖,传入的列表将替换现有成员列表。 invitees 的 userid 通过
wecom-contact技能获取
{
"errcode": 0,
"errmsg": "ok"
}
用户意图: "帮我约一个明天下午3点的会议,主题是周例会,时长1小时"
步骤:
使用 wecom_mcp tool 调用 wecom_mcp call meeting create_meeting '{"title": "周例会", "meeting_start_datetime": "2026-03-18 15:00", "meeting_duration": 3600}'
#会议号: <会议号>
✅ 会议创建成功!
📅 <会议标题>
🕐 时间: <开始时间>,时长 <时长>
🔗 会议链接: <会议链接>
用户意图: "帮我约一个明天下午3点的会议,主题是技术方案评审,邀请张三和李四,地点在3楼会议室,时长1小时"
步骤:
wecom-contact 技能获取通讯录成员,按姓名筛选出参与者的 userid。使用 wecom_mcp tool 调用 wecom_mcp call contact get_userlist '{}'
在返回的 userlist 中筛选 name 包含 "张三" 和 "李四" 的成员,获取其 userid。
使用 wecom_mcp tool 调用 wecom_mcp call meeting create_meeting '{"title": "技术方案评审", "meeting_start_datetime": "2026-03-18 15:00", "meeting_duration": 3600, "location": "3楼会议室", "invitees": {"userid": ["zhangsan", "lisi"]}}'
#会议号: <会议号>
✅ 会议创建成功!
📅 <会议标题>
🕐 时间: <开始时间>,时长 <时长>
👥 参与人: <参与者姓名列表>
🔗 会议链接: <会议链接>
示例: 用户说 "帮我查一下本周有哪些会议"
步骤:
使用 wecom_mcp tool 调用 wecom_mcp call meeting list_user_meetings '{"begin_datetime": "2026-03-16 00:00", "end_datetime": "2026-03-22 23:59", "limit": 100}'
使用 wecom_mcp tool 调用 wecom_mcp call meeting get_meeting_info '{"meetingid": "<会议id1>"}'
使用 wecom_mcp tool 调用 wecom_mcp call meeting get_meeting_info '{"meetingid": "<会议id2>"}'
📋 本周会议列表 (共 3 场):
1. 📅 技术方案评审
🕐 2026-03-17 10:00 - 11:00
👥 张三,李四,王五
2. 📅 产品需求沟通
🕐 2026-03-18 14:00 - 15:00
👥 赵六,钱七
3. 📅 周五周会
🕐 2026-03-21 09:00 - 10:00
👥 全组成员
分页处理: 如果
next_cursor不为空,使用cursor参数继续拉取下一页。
示例: 用户说 "帮我看下技术方案评审会议的详情"
步骤:
使用 wecom_mcp tool 调用 wecom_mcp call meeting get_meeting_info '{"meetingid": "<target_meetingid>"}'
#会议号: <会议号>
📅 <会议标题>
🕐 时间: <开始时间>,时长 <时长>
📍 地点: <会议地点>
📝 描述: <会议描述>
👤 创建者: <创建者姓名>
👥 参与者: <参与者姓名列表>
🔗 会议链接: <会议链接>
示例: 用户说 "技术评审会议是什么时候?"
查询策略:
使用 wecom_mcp tool 调用 wecom_mcp call meeting list_user_meetings '{"begin_datetime": "2026-02-15 00:00", "end_datetime": "2026-04-16 23:59", "limit": 100}'
#会议号: <会议号>
✅ 找到会议: "<会议标题>"
📅 时间: <开始时间>,时长 <时长>
📍 地点: <会议地点>
👥 参与者: <参与者姓名列表>
🔗 会议链接: <会议链接>
示例: 用户说 "帮我取消明天的技术方案评审会议"
步骤:
list_user_meetings + get_meeting_info 查询会议列表 + 关键词匹配找到目标会议。使用 wecom_mcp tool 调用 wecom_mcp call meeting cancel_meeting '{"meetingid": "<target_meetingid>"}'
✅ 会议已取消: 技术方案评审
示例: 用户说 "把王五加到技术方案评审会议里"
步骤:
list_user_meetings + get_meeting_info 查询会议列表 + 匹配找到目标会议。set_invite_meeting_members 为全量覆盖,必须先通过 get_meeting_info 获取会议详情,获取现有成员后再合并。wecom-contact 技能获取通讯录成员,按姓名筛选出王五的 userid。使用 wecom_mcp tool 调用 wecom_mcp call contact get_userlist '{}'
在返回的 userlist 中筛选 name 包含 "王五" 的成员,获取其 userid。
使用 wecom_mcp tool 调用 wecom_mcp call meeting set_invite_meeting_members '{"meetingid": "<target_meetingid>", "invitees": [{"userid": "zhangsan"}, {"userid": "lisi"}, {"userid": "wangwu"}]}'
✅ 会议成员已更新: 技术方案评审
👥 当前成员: 张三,李四,王五
按场景按需加载,避免一次性引入过多无关示例:
| 文件 | 适用场景 |
|---|---|
| references/response-get-meeting-info.md | 获取会议详情完整返回参数结构和字段说明 |
| references/example-security.md | 会议密码,等候室,外部用户限制 |
| references/example-reminder.md | 响铃提醒,指定部分人响铃 |
| references/example-full.md | 全参数综合场景 (含静音,屏幕水印,等候室等设置) |
wecom-contact 技能的 get_userlist 接口获取全量通讯录成员,再按姓名/别名本地筛选匹配出对应的 userid。该接口无入参,返回当前用户可见范围内的成员列表 (含 userid,name,alias)YYYY-MM-DD HH:mm 格式list_user_meetings 获取会议 ID 列表,再通过 get_meeting_info 逐个获取详情set_invite_meeting_members 传入的列表将替换现有成员列表,需先获取当前成员再合并