MCP Interactive

Permite la comunicación entre un LLM y un usuario a través de una interfaz interactiva de Electron.

Documentación

MCP Interactive

npm version npm downloads License: MIT GitHub issues

Un servidor MCP (Protocolo de Contexto de Modelo) interactivo con una interfaz Electron para la interacción con el usuario.

Características principales

Este servidor MCP mejora la coordinación de los LLM, ofreciendo mayor control y previsibilidad, y reduce significativamente las solicitudes facturables al minimizar las interacciones del usuario dentro de una sola tarea.

Para un historial detallado de cambios, consulte el Registro de cambios.

Demostración

Demo

Compatibilidad

  • Probado y confirmado:
    • Trae IDE
    • Claude para Mac
    • augment code
    • Cursor IDE
    • VSCode con Copilot

Herramientas disponibles

ask_user - Solicita al usuario una pregunta mediante un mensaje emergente de comando y espera su respuesta interactiva.

Esquema de entrada:

{
  "type": "object",
  "properties": {
    "projectName": {
      "type": "string",
      "description": "Identifies the context/project making the request"
    },
    "message": {
      "type": "string",
      "description": "The specific question for the user. Supports Markdown formatting."
    },
    "predefinedOptions": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Predefined options for the user to choose from (optional)"
    }
  },
  "required": [
    "projectName",
    "message"
  ]
}

Instalación

Usando npx

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

Instalación local

Instalar dependencias:

npm install

Configurar el servidor MCP:

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

Recomendaciones de mensajes del sistema para Visual Studio Code, Cursor IDE

## Decision Making
- **Ambiguous tasks**: ALWAYS clarify using `mcp_interactive_ask_user` tool
- **Requires decisions**: ALWAYS clarify using `mcp_interactive_ask_user` tool

## Code Development
- **Final confirmation**: MUST ask user if all requirements from specification are completed using `mcp_interactive_ask_user` tool with work report

## Final gate
- Before ANY final answer (after actions/edits/checks), it is **MANDATORY** to call `mcp_interactive_ask_user` with a report on the work done and the option ["Yes, everything is OK"].
- If the answer is not "Yes, everything is OK" — continue working until the comments are resolved and repeat every time `mcp_interactive_ask_user`.
- There are no exceptions (including minor edits).

Ejemplo del modo "Humano en el circuito" en el chat de Visual Studio Code

Can you check the docs and explain how the project works? #interactive

Recomendaciones de mensajes del sistema para Trae IDE

Esta sección describe las pautas recomendadas para los mensajes del sistema o reglas para los LLM, con el fin de garantizar una interacción y ejecución de tareas óptimas.

## Decision Making
- **Ambiguous tasks**: ALWAYS clarify using `ask_user` tool via MCP
- **Requires decisions**: ALWAYS clarify using `ask_user` tool via MCP

## Code Development
- **Final confirmation**: MUST ask user if all requirements from specification are completed using `ask_user` tool via MCP with work report

## Final gate
- Before ANY final answer (after actions/edits/checks), it is **MANDATORY** to call `ask_user` with a report on the work done and the option ["Yes, everything is OK"].
- If the answer is not "Yes, everything is OK" — continue working until the comments are resolved and repeat every time `ask_user`.
- There are no exceptions (including minor edits).

Opciones de línea de comandos

  • --timeout o -t (segundos): Especifica el tiempo de espera para el diálogo de respuesta del usuario. Si no se recibe respuesta dentro de este período, se enviará la respuesta "El usuario no respondió: se produjo un tiempo de espera agotado".

Solución de problemas

Problemas comunes

Electron no se inicia:

  • Asegúrese de que esté instalada la versión actual de Node.js
  • Intente reinstalar las dependencias ejecutando: npm install

Problemas de tiempo de espera para la respuesta (barra de progreso):

  • Aumente el valor de tiempo de espera usando el parámetro -t
  • El tiempo de espera predeterminado es de 60 segundos; ajústelo según sea necesario

Contribuciones

¡Las contribuciones son bienvenidas! No dude en enviar una Solicitud de extracción (Pull Request). Para cambios importantes, abra primero un problema (issue) para discutir lo que le gustaría cambiar.

Asegúrese de actualizar las pruebas según corresponda y siga el estilo de código existente.

Soporte

Si encuentra algún problema o tiene preguntas, abra un problema en GitHub.

Dependencias

Este proyecto incluye una copia local de marked.js (marked.min.js) para la funcionalidad de análisis de Markdown. Marked está bajo la Licencia MIT y es mantenido por el equipo de Marked.js y sus colaboradores.

Licencia

MIT

Licencias de terceros

  • marked.js: Licencia MIT - Copyright (c) 2018+, colaboradores de MarkedJS