返回市场
交互式服务器

交互式服务器

作者:ivan-mezentsev2 星标更新:2025-10-03

项目介绍

MCP Interactive

npm 版本 npm 下载量 许可证: MIT GitHub 问题

一个具有 Electron 用户交互界面的互动型 MCP(模型上下文协议)服务器。

主要功能

此 MCP 服务器增强了大型语言模型的协调性,提供了更大的控制力和可预测性,并通过减少单个任务内的用户交互显著减少了计费请求。

如需详细了解变更历史,请参阅 变更日志

演示

演示

兼容性

  • 已测试并确认兼容:
    • Trae IDE
    • Claude for Mac
    • augment code
    • Cursor IDE
    • 配有 Copilot 的 VSCode

可用工具

ask_user - 通过弹出命令提示符向用户提问,并等待其互动响应。

输入模式:

{
  "type": "object",
  "properties": {
    "projectName": {
      "type": "string",
      "description": "标识发起请求的上下文/项目"
    },
    "message": {
      "type": "string",
      "description": "给用户的特定问题。支持 Markdown 格式。"
    },
    "predefinedOptions": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "供用户选择的预定义选项(可选)"
    }
  },
  "required": [
    "projectName",
    "message"
  ]
}

安装

使用 npx

{
  "mcpServers": {
    "interactive": {
      "command": "npx",
      "args": [
        "mcp-interactive",
        "-t",
        "300"
      ]
    }
  }
}

本地安装

安装依赖:

npm install

配置 MCP 服务器:

{
  "mcpServers": {
    "interactive": {
      "command": "node",
      "args": [
        "/path/to/project/mcp-interactive/index.js",
        "-t",
        "300"
      ]
    }
  }
}

对于 Visual Studio CodeCursor IDE 的系统提示建议

## 决策制定
- **模糊的任务**:始终使用 `mcp_interactive_ask_user` 工具进行澄清
- **需要决策**:始终使用 `mcp_interactive_ask_user` 工具进行澄清

## 代码开发
- **最终确认**:必须使用 `mcp_interactive_ask_user` 工具询问用户是否已完成规范中的所有要求,并附上工作报告

## 最终检查点
- 在任何最终答案之前(在执行动作/编辑/检查之后),必须调用 `mcp_interactive_ask_user` 并附上已完成工作的报告以及选项 ["是的,一切正常"]
- 如果回答不是 "是的,一切正常" — 继续工作直到解决评论并每次重复 `mcp_interactive_ask_user`
- 没有任何例外(包括小的编辑)

Visual Studio Code 聊天中的“人机循环”模式示例

你能查看文档并解释项目是如何工作的吗? #interactive

对于 Trae IDE 的系统提示建议

本节概述了推荐的系统提示或规则,以确保大型语言模型的最佳交互和任务执行。

## 决策制定
- **模糊的任务**:始终使用 MCP 的 `ask_user` 工具进行澄清
- **需要决策**:始终使用 MCP 的 `ask_user` 工具进行澄清

## 代码开发
- **最终确认**:必须使用 MCP 的 `ask_user` 工具询问用户是否已完成规范中的所有要求,并附上工作报告

## 最终检查点
- 在任何最终答案之前(在执行动作/编辑/检查之后),必须调用 MCP 的 `ask_user` 并附上已完成工作的报告以及选项 ["是的,一切正常"]
- 如果回答不是 "是的,一切正常" — 继续工作直到解决评论并每次重复 `ask_user`
- 没有任何例外(包括小的编辑)

命令行选项

  • --timeout-t(秒):指定等待用户响应对话框的时间。如果在此期间未收到回复,则会发送回复 "用户未回复:超时发生。"

故障排除

常见问题

Electron 无法启动:

  • 确保已安装当前版本的 Node.js
  • 尝试重新安装依赖项:运行 npm install

答案超时问题(进度条):

  • 使用 -t 参数增加超时值
  • 默认超时时间为 60 秒,根据需要调整

贡献

欢迎贡献!请随时提交拉取请求。对于重大更改,请先打开一个问题来讨论您想要更改的内容。

请确保更新适当的测试并遵循现有的代码风格。

支持

如果您遇到任何问题或有任何疑问,请在 GitHub 上 打开一个问题

依赖项

该项目包含 marked.js (marked.min.js) 的本地副本,用于 Markdown 解析功能。Marked 在 MIT 许可证下发布,并由 Marked.js 团队及其贡献者维护。

许可证

MIT

第三方许可证

  • marked.js:MIT 许可证 - 版权 (c) 2018+,MarkedJS 贡献者