Impore MCP
MCP将实现人类智能
一种模型上下文协议(MCP)服务器,它提供了一种测验风格的工具,通过GUI对话框请求人类输入。该工具允许人工智能助手通过交互式视觉界面“恳求”人类用户进行澄清、决策或知识提取。
灵感源自于 交互式反馈MCP 图案。
特性
- 测验风格界面:在单个可滚动对话框中显示多个问题
- 多种问题类型:
- 多选(带有自动“其他…”选项的单选按钮,包括文本输入) - 自由形式文本输入
- 进程隔离:GUI在单独的子进程中运行,以避免阻塞MCP服务器
- 结构化响应:获取映射到问题ID的有组织的答案
- FastMCP集成:基于FastMCP构建,便于MCP服务器实施
- 交叉平台的:适用于Windows、macOS和Linux
建筑
该工具使用解耦架构:
server.py:MCP服务器,处理工具请求并启动GUI子流程implore_ui.py:显示测验对话框并通过临时文件传达结果的单独GUI过程- 通过临时JSON文件进行通信可确保主服务器进程保持响应
安装
- 克隆或下载此存储库:
git clone
cd implore-mcp- 使用uv安装依赖项:
uv sync或直接安装:
uv pip install fastmcp>=2.0.0 psutil>=7.0.0 pyside6>=6.8.2.1用法
运行服务器
启动MCP服务器:
uv run server.py或者直接使用Python:
python server.py在MCP客户端中配置
添加到您的MCP客户端配置中(例如,Claude Desktop、Cline):
使用紫外线:
{
"mcpServers": {
"implore": {
"command": "uv",
"args": ["run", "C:/path/to/implore-mcp/server.py"]
}
}
}直接使用Python:
{
"mcpServers": {
"implore": {
"command": "python",
"args": ["C:/path/to/implore-mcp/server.py"]
}
}
}使用工具
配置后,AI助手可以使用 implore 向您请求输入的工具:
示例1:单自由形式问题
Tool: implore
Arguments: {
"questions": [
{
"text": "What is your preferred color scheme?",
"type": "free_form"
}
]
}
Result: {
"success": true,
"answers": {
"q1": "Dark mode"
}
}示例2:多项选择题
Tool: implore
Arguments: {
"questions": [
{
"id": "framework",
"text": "Which web framework should we use?",
"type": "multiple_choice",
"options": ["React", "Vue", "Angular", "Svelte"]
}
],
"title": "Framework Selection"
}
Result: {
"success": true,
"answers": {
"framework": "React"
}
}示例3:混合问题类型
Tool: implore
Arguments: {
"questions": [
{
"id": "deployment",
"text": "Where should we deploy the application?",
"type": "multiple_choice",
"options": ["AWS", "Azure", "Google Cloud", "On-Premise"]
},
{
"id": "timeline",
"text": "What is your preferred timeline?",
"type": "free_form"
},
{
"id": "budget",
"text": "What is your budget range?",
"type": "multiple_choice",
"options": ["Under $100", "$100-$500", "$500-$1000", "Over $1000"]
},
{
"id": "additional",
"text": "Any additional requirements or concerns?",
"type": "free_form"
}
],
"title": "Project Planning Questions"
}
Result: {
"success": true,
"answers": {
"deployment": "AWS",
"timeline": "2-3 months",
"budget": "$500-$1000",
"additional": "Need to support mobile devices"
}
}工具参考
implore
显示测验风格的GUI对话框以请求用户输入。该对话框在单独的过程中运行,可以处理不同类型的多个问题。
参数:
questions(列表,必填):测验风格界面的问题对象数组title(str,可选):对话框窗口的标题。默认值:“请求人工输入”
问题对象结构:
列表中的每个问题都应该有:
text(str,必填):要显示的问题文本type(str,必填):“多选”或“自由形式”- 对于“multiple_choice”,在提供的选项之后总是包含一个带有自由文本输入的自动“其他…”选项。
options(list,可选):选项字符串列表(多选时必需)id(str,可选):唯一标识符(如果没有提供,则自动生成为“q1”、“q2”等)
退货:
结构化响应词典:
- 成功:
{"success": True, "answers": {question_id: answer, ...}} - 已取消:
{"success": False, "cancelled": True} - 错误:
{"success": False, "error": "error message"}
笔记:
- 未回答的多项选择题将有
null价值 - 未回答的自由形式问题将具有空字符串值
- 对于大多数问题,更喜欢使用全面的多项选择选项来指导回答,为简单的复制粘贴值或易于回答的开放式问题保留自由形式。多项选择中的自动“其他…”选项为额外输入提供了灵活性。
用例
这 implore 该工具非常适合:
- 需求澄清:要求用户澄清模糊的要求
- 设计决策:获取用户对架构或设计选择的偏好
- 配置选择:允许用户从预定义的配置选项中进行选择
- 知识提取:通过有针对性的问题从用户那里提取隐性知识
- 进度检查点:在进行重大更改之前确认决定
- 功能优先级:要求用户对功能或任务进行优先级排序
- 错误解决:当存在多种解决方案时,询问用户采取哪种方法
依赖项
- fastmcp (>=2.0.0):用于构建MCP服务器的FastMCP框架
- psutil (>=7.0.0):系统和工艺公用设施
- pyside6 (>=6.8.2.1):Python Qt-GUI框架
许可证
\[在此处添加您的许可证\]
贡献
\[在此处添加贡献指南\]
鸣谢
灵感源自 交互式反馈MCP 图案。
