interactive-mcp
Permite flujos de trabajo interactivos con LLM al agregar indicaciones locales de usuario y capacidades de chat directamente en el bucle de MCP.
Documentación
interactive-mcp
Un servidor MCP implementado en Node.js/TypeScript, que facilita la comunicación interactiva entre LLMs y usuarios. Nota: Este servidor está diseñado para ejecutarse localmente junto con el cliente MCP (por ejemplo, Claude Desktop, VS Code), ya que necesita acceso directo al sistema operativo del usuario para mostrar notificaciones y avisos de línea de comandos.
(Nota: Este proyecto se encuentra en sus primeras etapas.)
¿Quieres una visión general rápida? Consulta la publicación introductoria del blog: Detén a tu asistente de IA de adivinar — Presentamos interactive-mcp
Herramientas
Este servidor expone las siguientes herramientas a través del Protocolo de Contexto de Modelo (MCP):
request_user_input: Hace una pregunta al usuario y devuelve su respuesta. Puede mostrar opciones predefinidas.message_complete_notification: Envía una notificación simple del sistema operativo.start_intensive_chat: Inicia una sesión de chat persistente en la línea de comandos.ask_intensive_chat: Hace una pregunta dentro de una sesión de chat intensiva activa.stop_intensive_chat: Cierra una sesión de chat intensiva activa.
Demostración
Aquí hay demostraciones de las funciones interactivas:
| Pregunta normal | Notificación de finalización |
|---|---|
![]() | ![]() |
| Inicio de chat intensivo | Fin de chat intensivo |
|---|---|
![]() | ![]() |
Escenarios de uso
Este servidor es ideal para escenarios donde un LLM necesita interactuar directamente con el usuario en su máquina local, como:
- Procesos interactivos de configuración o ajuste.
- Recopilación de comentarios durante la generación o modificación de código.
- Aclaración de instrucciones o confirmación de acciones en programación en pareja.
- Cualquier flujo de trabajo que requiera entrada o confirmación del usuario durante la operación del LLM.
Configuración del cliente
Esta sección explica cómo configurar los clientes MCP para usar el servidor interactive-mcp.
De forma predeterminada, los avisos al usuario expirarán después de 30 segundos. Puedes personalizar las opciones del servidor, como el tiempo de espera o las herramientas deshabilitadas, agregando banderas de línea de comandos directamente al arreglo args al configurar tu cliente.
Asegúrate de tener disponible el comando npx.
Uso con Claude Desktop / Cursor
Agrega la siguiente configuración mínima a tu claude_desktop_config.json (Claude Desktop) o mcp.json (Cursor):
{
"mcpServers": {
"interactive": {
"command": "npx",
"args": ["-y", "interactive-mcp"]
}
}
}
Con una versión específica
{
"mcpServers": {
"interactive": {
"command": "npx",
"args": ["-y", "interactive-mcp@1.9.0"]
}
}
}
Ejemplo con tiempo de espera personalizado (30 s):
{
"mcpServers": {
"interactive": {
"command": "npx",
"args": ["-y", "interactive-mcp", "-t", "30"]
}
}
}
Uso con VS Code
Agrega la siguiente configuración mínima a tu archivo de Configuración de Usuario (JSON) o .vscode/mcp.json:
{
"mcp": {
"servers": {
"interactive-mcp": {
"command": "npx",
"args": ["-y", "interactive-mcp"]
}
}
}
}
Recomendaciones para macOS
Para una experiencia más fluida en macOS usando el Terminal.app predeterminado, considera esta configuración de perfil:
- (Pestaña de Shell): En "Cuando el shell sale" (Terminal > Configuración > Perfiles > [Tu perfil] > Shell), selecciona "Cerrar si el shell salió limpiamente" o "Cerrar la ventana". Esto ayuda a gestionar las ventanas cuando el servidor MCP se inicia y se detiene.
Configuración de desarrollo
Esta sección está dirigida principalmente a desarrolladores que desean modificar o contribuir al servidor. Si solo quieres usar el servidor con un cliente MCP, consulta la sección "Configuración del cliente" anterior.
Requisitos previos
- Node.js: Consulta
package.jsonpara conocer la compatibilidad de versiones. - pnpm: Se utiliza para la gestión de paquetes. Instálalo mediante
npm install -g pnpmdespués de instalar Node.js.
Instalación (Desarrolladores)
-
Clona el repositorio:
git clone https://github.com/ttommyth/interactive-mcp.git cd interactive-mcp -
Instala las dependencias:
pnpm install
Ejecución de la aplicación (Desarrolladores)
pnpm start
Opciones de línea de comandos
El servidor interactive-mcp acepta las siguientes opciones de línea de comandos. Estas deben configurarse típicamente en la configuración JSON de tu cliente MCP agregándolas directamente al arreglo args (consulta los ejemplos de "Configuración del cliente").
| Opción | Alias | Descripción |
|---|---|---|
--timeout | -t | Establece el tiempo de espera predeterminado (en segundos) para los avisos de entrada del usuario. El valor predeterminado es 30 segundos. |
--disable-tools | -d | Deshabilita herramientas o grupos específicos (lista separada por comas). Evita que el servidor los anuncie o registre. Opciones: request_user_input, message_complete_notification, intensive_chat. |
Ejemplo: Configurar múltiples opciones en el arreglo args de la configuración del cliente:
// Example combining options in client config's "args":
"args": [
"-y", "interactive-mcp",
"-t", "30", // Set timeout to 30 seconds
"--disable-tools", "message_complete_notification,intensive_chat" // Disable notifications and intensive chat
]
Comandos de desarrollo
- Compilar:
pnpm build - Lint:
pnpm lint - Formato:
pnpm format
Principios rectores para la interacción
Al interactuar con este servidor MCP (por ejemplo, como cliente LLM), sigue los siguientes principios para garantizar claridad y reducir cambios inesperados:
- Priorizar la interacción: Utiliza las herramientas MCP proporcionadas (
request_user_input,start_intensive_chat, etc.) con frecuencia para interactuar con el usuario. - Buscar aclaraciones: Si los requisitos, instrucciones o el contexto no están claros, siempre haz preguntas de aclaración antes de continuar. No hagas suposiciones.
- Confirmar acciones: Antes de realizar acciones significativas (como modificar archivos, ejecutar comandos complejos o tomar decisiones arquitectónicas), confirma el plan con el usuario.
- Proporcionar opciones: Siempre que sea posible, presenta al usuario opciones predefinidas a través de las herramientas MCP para facilitar decisiones rápidas.
Puedes proporcionar estas instrucciones a un cliente LLM de la siguiente manera:
# Interaction
- Please use the interactive MCP tools
- Please provide options to interactive MCP if possible
# Reduce Unexpected Changes
- Do not make assumption.
- Ask more questions before executing, until you think the requirement is clear enough.
Contribuciones
¡Las contribuciones son bienvenidas! Por favor, sigue las prácticas de desarrollo estándar. (Se pueden agregar más detalles más adelante).
Licencia
MIT (Consulta el archivo LICENSE para obtener más detalles, si corresponde, o especifica la licencia directamente).



