name: ask-user-question description: 通过用户界面向用户提问。当需要澄清、获取用户偏好或在继续之前进行确认时使用。用户无法看到CLI输出 - 此工具是与他们沟通的唯一方式。
向用户提问
使用此MCP工具向用户提问并获取他们的回答。这是与用户沟通的唯一方式 - 他们无法看到CLI/终端输出。
关键规则
用户无法看到您的文本输出或CLI提示!
如果您写下“让我问您…”然后只是输出文本 - 用户将看不到它。 您必须调用此工具以在用户界面中显示模态框。
何时使用
- 在开始模糊任务前进行澄清提问
- 询问用户偏好(例如,“您希望如何组织文件?”)
- 在执行前确认操作(特别是破坏性/不可逆的操作)
- 获取敏感操作的批准(财务、消息发送、删除等)
- 任何需要用户输入才能继续的情况
参数
{
"questions": [
{
"question": "您要问用户的问题",
"header": "简短标签(最多12个字符)",
"options": [
{ "label": "选项1", "description": "此选项的作用" },
{ "label": "选项2", "description": "此选项的作用" }
],
"multiSelect": false
}
]
}
question(必需):要显示的问题文本header(可选):简短类别标签,显示为模态框标题(最多12个字符)options(可选):可选择选项的数组(建议2-4个)multiSelect(可选):允许选择多个选项(默认:false)
自定义文本输入: 要允许用户输入自己的回答,请包含一个标签为“其他”(不区分大小写)的选项。选择后,用户界面将显示文本输入字段。
{ "label": "其他", "description": "输入您自己的回答" }
重要: 当选择“其他”时,响应将是用户回答:[他们的文本]而不是用户选择了:其他。您必须等待并处理此文本响应 - 不要像他们选择了预定义选项那样继续。
示例
询问组织偏好
AskUserQuestion({
"questions": [{
"question": "您希望如何整理您的下载文件夹?",
"header": "整理",
"options": [
{ "label": "按文件类型", "description": "分组为文档、图片、视频等" },
{ "label": "按日期", "description": "按月份/年份分组" },
{ "label": "按项目", "description": "您将帮我命名项目文件夹" }
]
}]
})
确认破坏性操作
AskUserQuestion({
"questions": [{
"question": "删除这15个重复文件?",
"header": "确认",
"options": [
{ "label": "全部删除", "description": "删除所有15个重复文件" },
{ "label": "先查看", "description": "在删除前显示列表" },
{ "label": "取消", "description": "不删除任何内容" }
]
}]
})
简单的是/否确认
AskUserQuestion({
"questions": [{
"question": "我应该继续发送这封电子邮件吗?",
"header": "发送邮件",
"options": [
{ "label": "发送", "description": "立即发送邮件" },
{ "label": "取消", "description": "不发送" }
]
}]
})
响应格式
该工具返回用户的选择:
用户选择了:按文件类型- 单选用户选择了:选项A,选项B- 多选(如果multiSelect: true)用户回答:[自定义文本]- 如果用户输入了自定义回答用户拒绝回答问题。- 如果用户关闭了模态框
错误与正确示例
错误(用户看不到这个):
我将帮助整理您的文件。您希望如何整理它们?
- 按类型
- 按日期
- 按项目
正确(用户将看到模态框):
AskUserQuestion({
"questions": [{
"question": "您希望如何整理您的文件?",
"options": [
{ "label": "按类型" },
{ "label": "按日期" },
{ "label": "按项目" }
]
}]
})