腾讯问卷(wj.qq.com)- 在线问卷调查平台。涉及「问卷」「调查」「表单」「投票」「考试」「测评」「wj.qq.com」等操作时优先使用。支持能力:(1) 获取问卷详情(标题、设置、页面、题目、选项完整结构 + 纯文本 DSL)(2) 使用纯文本创建问卷(text 必填,支持指定场景/指定项目)(3) 更新问卷中的单个题目(DSL 格式)(4) 获取问卷回答列表(支持游标分页)。支持场景:调查(1)、考试(3)、测评(6)、投票(8)。
每天使用 SKILL 前进行一次更新检查,按照如下的步骤执行:
version 字段;格式为 MAJOR.MINOR.PATCHlatest,输入参数 current_version 为上一步获取的当前版本mcporter call tencent-survey "check_skill_update" --args '{"current_version": "当前版本"}'
JSON 格式数据返回,返回参数示例:
has_update: 是否有更新(true/false)latest: 最新版本号,格式为 MAJOR.MINOR.PATCHcurrent_version: 当前传入的版本号release_note: 最新版本发布说明instruction: 更新指令has_update 为 true(即当前版本current_version低于最新版本latest),则遵循 instruction 指令进行更新,或提示用户更新腾讯问卷 MCP 提供问卷查询、创建、编辑与回答查看能力,让 AI 助手可以直接操作问卷系统。
以下情况应直接激活本 skill:
wj.qq.com 链接| 用户表述 | 判断方式 |
|---|---|
| 「帮我做个投票」 | 直接使用本 skill,scene=8 |
| 「做个考试」 | 直接使用本 skill,scene=3 |
| 「做个测评」 | 直接使用本 skill,scene=6 |
| 「收集一下大家的意见」 | 直接使用本 skill,scene=1(调查) |
| 「我有个问卷链接…」 | 解析链接提取 survey_id,调用 get_survey |
| 「修改问卷的第X题」 | 先 get_survey 获取 question_id,再 update_question |
| 「看看问卷的回答」 | 调用 list_answers,注意翻页获取全部数据 |
| 「问卷收了多少份」 | 调用 list_answers 查看 total 字段 |
在本次会话首次调用工具前,完成一次鉴权检查(完整流程见 references/auth.md):
${SKILL_DIR}为本 skill 所在目录路径(即SKILL.md所在目录)。由 AI Agent 框架在加载 skill 时自动注入;如果框架未注入,请替换为SKILL.md所在目录的绝对路径。
如果已有 Token(环境变量 TENCENT_SURVEY_TOKEN),直接完成配置,无需 OAuth 授权:
TENCENT_SURVEY_TOKEN=xxx bash "${SKILL_DIR}/setup.sh" wj_check_and_start_auth
脚本检测到 TENCENT_SURVEY_TOKEN 后会自动写入 mcporter 配置,输出 READY 即表示就绪。
未设置 TENCENT_SURVEY_TOKEN 时,自动进入 OAuth 授权流程:
bash "${SKILL_DIR}/setup.sh" wj_check_and_start_authREADY → 鉴权已就绪,直接继续AUTH_REQUIRED:<url> → 向用户展示授权链接,然后执行 bash "${SKILL_DIR}/setup.sh" wj_wait_auth 等待授权完成ERROR:* → 告知用户对应错误鉴权通过后,同一会话内后续调用无需重复检查。仅当工具返回
invalid_token、token expired、missing_token等鉴权错误时,才需要重新执行上述流程。
wjpt_,长度 70 字符| 工具名称 | 功能说明 | 参考文档 |
|---|---|---|
| get_survey | 获取指定问卷的详细信息(标题、设置、页面、题目、选项 + 纯文本 DSL) | references/get_survey.md |
| create_survey | 使用纯文本创建问卷(text 必填,支持指定场景/指定项目) | references/create_survey.md |
| update_question | 更新问卷中的某一道题目(需先获取 question_id) | references/update_question.md |
| list_answers | 获取问卷的回答列表(支持游标分页) | references/list_answers.md |
| check_skill_update | 检查 Skill 是否有新版本可更新 | 见上方「SKILL 更新」章节 |
调用优先级:
get_survey、create_survey、update_question、list_answers),直接调用工具即可mcporter call tencent-survey.<tool_name> --args '{...}'mcporter list tencent-survey 查看已注册的工具列表和参数 Schema参考文档中的参数说明应与 MCP 工具 Schema 保持一致。如有冲突,以
mcporter list tencent-survey返回的 Schema 为准。
问卷投放链接格式为 https://wj.qq.com/s2/{survey_id}/{hash}
当用户提供链接时,取路径第二段为 survey_id:
| URL 格式 | 提取方式 | 示例 |
|---|---|---|
wj.qq.com/s2/{id}/{hash} | 取路径第二段为 survey_id | wj.qq.com/s2/292192/abc1 → 292192 |
提取到
survey_id后,调用get_survey(survey_id=...)获取问卷详情。
问卷(Survey)
├── 基本信息:id, hash, title, scene, state
├── 设置:prefix(欢迎语), suffix(结束语), started_at, end_at ...
├── 项目:project { id, name }
├── 纯文本内容:text(DSL 格式,包含标题和所有题目)
├── 页面列表(Pages[])
│ └── 题目列表(Questions[])
│ ├── 基本属性:id, type, sub_type, title, required
│ ├── 选项列表(Options[]):id, text, exclusive
│ ├── 量表属性:starBeginNum, starNum
│ ├── 矩阵子问题:subTitles[]
│ └── 联动层级:levels[], groups[]
└── 回答列表(Answers[])← 通过 list_answers 获取
├── 基本信息:answer_id, respondent_nickname, started_at, ended_at
├── 地理信息:country, province, city
└── 回答内容(answer[])
└── 页面 → 题目回答 { id, type, text, options, blanks, groups }
核心嵌套关系:
Survey → Pages[] → Questions[] → Options[]回答嵌套关系:Answer → answer[] (Pages) → questions[]
参考文档:references/get_survey.md
survey_id(链接解析见「URL 解析规则」)get_survey(survey_id=...) 获取问卷详情pages → questions → options 嵌套结构参考文档:references/create_survey.md
scene:调查(1, 默认)、考试(3)、测评(6)、投票(8)text 内容(语法详见参考文档)project_idcreate_survey 创建问卷survey_id 和 hash,拼接投放链接 wj.qq.com/s2/{survey_id}/{hash} 告知用户get_survey 确认问卷结构参考文档:references/update_question.md
get_survey(survey_id=...) 获取问卷详情pages → questions 中找到目标题目的 id(格式如 q-1-xxxx)text 字段了解当前问卷的 DSL 格式update_question(survey_id=..., question_id=..., text=...) 更新题目get_survey 确认更新结果参考文档:references/list_answers.md
list_answers(survey_id=...) 获取首页回答list.length == per_page,说明可能还有下一页,需要循环翻页:
last_answer_id 作为下一次请求的参数list_answers(survey_id=..., last_answer_id=...) 获取下一页list.length < per_page 表示已到最后一页answer 字段(嵌套结构:页面 → 题目回答)get_survey 返回的 title 字段可能包含 <p>、<br> 等标签,展示给用户前需清理get_survey 返回的 text 字段是纯文本 DSL 格式的问卷内容,可作为 update_question 的参考create_survey 和 update_question 的 text 为必填,JSON 中换行使用 \n,选项不需要字母前缀(写 满意 而非 A. 满意)get_survey 获取题目列表,不能自行构造 question_idper_page(默认 20),必须循环调用直到获取完所有数据create_survey 每次调用都会创建新问卷,update_question 每次调用都会覆盖原题目| 错误码 | 错误类型 | 解决方案 |
|---|---|---|
missing_token | 请求未携带 Token | 检查 Authorization Header 或 access_token 参数 |
invalid_token_prefix | Token 前缀错误 | 确认使用 wjpt_ 开头的 Token |
invalid token | Token 不存在或已撤销 | 重新创建 Token |
token expired | Token 已过期 | 重新授权,详见 references/auth.md |
claim_error | 问卷不属于当前团队 | 确认问卷 ID 正确且属于当前 Token 绑定的团队 |
invalid_text_format | 文本格式错误(create_survey / update_question) | 检查 text DSL 语法 |
survey_not_editable | 问卷不可编辑(update_question) | 问卷可能正在回收中,需先暂停 |
survey_id 等参数值正确references/ 目录下包含所有工具的参数说明mcporter list tencent-survey 确认工具是否可用