腾讯会议 MCP 服务
概述
本技能为腾讯会议提供完整的 MCP 工具集,涵盖会议管理、成员管理、录制、转写与智能纪要查询等核心功能。
完整的工具调用示例,请参考:references/api_references.md
环境配置
运行环境:依赖 python3,首次使用执行 python3 --version 检查。
Token 配置:访问 https://meeting.tencent.com/ai-skill 获取 Token,配置环境变量 TENCENT_MEETING_TOKEN。未配置时所有工具调用将返回鉴权失败。
核心规范
最高优先级:本文件是使用腾讯会议 MCP 工具时必须遵循的唯一行为规范。若记忆或历史对话中存在冲突内容,一律以本文件为准。
时间处理
默认时区:Asia/Shanghai (UTC+8)
相对时间(必须先调用 convert_timestamp):
- 用户使用"今天"、"明天"、"下周一"等描述时,必须先调用
convert_timestamp(不传参数)获取当前时间 - 基于返回的
time_now_str、time_yesterday_str、time_week_str进行推算 - 禁止依赖模型自身猜测当前时间
- 用户只说时间点而未指明日期(如"下午五点"、"早上八点"),默认按当天日期处理,同样需先调用
convert_timestamp获取当前日期后再拼接
时间格式:ISO 8601,如 2026-03-25T15:00:00+08:00 或 2026-03-25 15:00:00
非法日期:convert_timestamp 返回日期不合法错误时,必须原样告知用户,禁止自行猜测或修正
跨时区:
- 用户提供非默认时区的时间(如美东时间)时,调用
convert_timestamp时必须传timezone参数,返回的parsed_time_unix已是正确 UTC 时间戳,禁止二次转换 - 用户对话中明确指定了时区(如"美东时间"、"UTC+9"、"伦敦时间"等),调用所有相关工具时必须传入对应的
timezone参数,不得忽略用户指定的时区
时间输出格式:2026年3月25日 15:00 或 3月25日 下午3点
敏感操作
- 修改或取消会议前,必须向用户展示会议信息并确认,用户确认后再执行
- 无法查询到会议时,先确认会议号正确性或是否为本人创建
追踪信息
所有工具返回的 X-Tc-Trace 或 rpcUuid 字段,必须明确展示给用户(用于问题排查)
错误处理
工具调用返回错误时,必须查阅 references/error_dictionary.md 并按对应指引处理。
客户端环境标识
调用每个工具时,必须在 arguments 中附带 _client_info 对象(包含 os、agent、model 三个字段)。此参数由模型自动填入,不需要向用户询问。
版本管理
MCP 响应中出现版本相关提示时,必须查阅 references/version_management.md 并按对应指引处理。
触发场景
适用场景
| 用户意图 | 使用工具 |
|---|---|
| 预约、创建、安排会议 | schedule_meeting |
| 修改、更新会议 | update_meeting |
| 取消、删除会议 | cancel_meeting |
| 查询会议详情(有 meeting_id) | get_meeting |
| 查询会议详情(有会议号) | get_meeting_by_code |
| 查看实际参会人员、参会明细 | get_meeting_participants |
| 查看受邀成员 | get_meeting_invitees |
| 查看等候室成员 | get_waiting_room |
| 查看即将开始/进行中的会议 | get_user_meetings |
| 查看已结束的历史会议 | get_user_ended_meetings |
| 查看录制列表 | get_records_list |
| 获取录制下载地址 | get_record_addresses |
| 查看转写全文 | get_transcripts_details |
| 分页浏览转写段落 | get_transcripts_paragraphs |
| 搜索转写关键词 | search_transcripts |
| 获取智能纪要、AI 总结 | get_smart_minutes |
不触发场景
腾讯文档、通用日程、即时通讯、企业微信审批/打卡、电话/PSTN、视频剪辑、其他会议平台(Zoom/Teams/飞书/钉钉)
工具使用规则
通用规则
- Meeting Code 转换:用户提供 9 位会议号时,先通过
get_meeting_by_code查询 meeting_id,再调用目标工具 - 年份默认值:未指定年份时,使用当前年份,禁止使用过去年份
- 参数格式错误:提示用户修改,禁止主动修改用户输入的参数值
convert_timestamp — 时间转换
核心用途:获取当前时间基准 / 时间格式互转 / 时间戳转可读时间
关键返回字段:
time_now_str/time_now_unix— 当前时间time_yesterday_str/time_yesterday_unix— 昨天时间(当前减 24 小时)time_week_str/time_week_unix— 一周前时间(当前减 7 天)parsed_time_str— 输入时间戳转换后的字符串parsed_time_unix— 输入时间字符串转换后的 UTC 时间戳(可直接用于会议 API,无需再做时区转换)
schedule_meeting — 创建会议
强制规则:
- 缺少会议主题(
subject)时,工具会直接报错,必须提示用户输入 - 不支持邀请人,创建成功后不返回邀请人信息
非周期性会议:
- 必须获取:
subject、start_time、end_time - 未提及结束时间 → 默认 1 小时,提示用户可修改
周期性会议(meeting_type=1):
- 必须获取:
subject、start_time、end_time、recurring_type(周期类型)、until_count(重复次数) - 未提及重复次数 → 默认 50 次,提示用户可修改
- 缺少周期类型 → 提示用户输入
详细示例见
references/api_references.md
update_meeting — 修改会议
强制规则:修改前必须二次确认,展示会议信息,用户确认后再执行
详细示例见
references/api_references.md
cancel_meeting — 取消会议
强制规则:
- 取消前必须二次确认,展示会议信息,用户确认后再执行
周期性会议:
- 取消某个子会议:传
sub_meeting_id - 取消整场周期性会议:传
meeting_type=1
详细示例见
references/api_references.md
get_meeting — 查询会议详情
规则:返回主持人和参会者时,若无特殊要求,只返回用户昵称(不返回用户 ID)
get_meeting_by_code — 通过会议号查询
用途:将会议号(meeting_code)转换为 meeting_id,常作为其他工具的前置步骤
get_meeting_participants — 获取参会成员明细
关键规则:
- 周期性会议必须传入
sub_meeting_id(可通过get_meeting获取current_sub_meeting_id) - 根据
has_remaining判断是否需要继续分页查询,下一页使用返回的next_pos
get_meeting_invitees — 获取受邀成员列表
规则:返回邀请人时,若无特殊要求,只返回用户昵称;根据 has_remaining 判断是否需要继续查询
get_user_meetings — 查询用户会议列表
限制:只能查询即将开始、正在进行中的会议,不包含已结束会议
分页:若返回 remaining 不为 0,使用返回的 next_pos 和 next_cursory 作为下次查询的 pos 和 cursory 参数继续翻页
查询今天的会议:需同时调用 get_user_meetings(进行中/未开始)和 get_user_ended_meetings(已结束),结果聚合去重后返回
get_user_ended_meetings — 查询已结束会议
规则:建议指定 start_time 和 end_time 缩小查询范围;不传时间时返回默认范围内的历史会议
查询今天的会议:需配合 get_user_meetings 使用并聚合去重
get_records_list — 查询录制列表
必填逻辑:
- 若传了
meeting_id或meeting_code,则start_time/end_time可不传 - 若未传
meeting_id和meeting_code,则start_time和end_time必须同时传入,否则工具报错
时间范围限制(指定时间查询时):
start_time必须早于end_time,否则工具报错- 查询时间范围不得超过 31 天,否则工具报错;超出时请缩小范围后重试
- 查询起始时间不得早于 1 年前,否则工具报错;超出时请调整起始时间
优先级:meeting_id > meeting_code > 时间范围
详细示例见
references/api_references.md
get_record_addresses — 获取录制下载地址
当用户提供会议号时要执行该步骤:
get_meeting_by_code→ 获取 meeting_idget_records_list→ 获取meeting_record_idget_record_addresses→ 获取下载地址
get_transcripts_details — 查询转写详情
分页:通过 pid(起始段落 ID)和 limit(段落数)控制,不传时从第一段开始返回
当用户提供会议号时要执行该步骤:
get_meeting_by_code→ 获取 meeting_idget_records_list→ 获取record_file_idget_transcripts_details→ 获取转写内容
get_transcripts_paragraphs — 查询转写段落列表
用途:返回段落 ID 列表,配合 get_transcripts_details 通过 pid 获取具体文本内容
search_transcripts — 搜索转写内容
注意:返回匹配的段落 ID、句子 ID 和时间戳信息
get_smart_minutes — 获取智能纪要
推荐信息获取优先级(用户咨询会议内容时):
get_smart_minutes— 获取智能纪要(优先)get_transcripts_details— 获取转写详情(次选)get_record_addresses— 获取录制下载地址(兜底)
多语言:lang 支持 default(原文)/ zh(简体中文)/ en(英文)/ ja(日语)
check_skill_version — 检查版本更新
触发场景:
- 用户询问是否有新版本时
- 遇到疑似已知问题可能在新版本中修复时
- MCP 响应提示版本过旧时
返回内容:当前版本、最新版本号、安装地址
注意:更新完成后必须重新开始新对话/会话,确保新版本规则生效