Used as the web framework for the MCP service's web interface, enabling HTTP-based interactions between AI tools and users through a browser.
The primary language for the MCP service, providing the foundation for all UI types (CLI, Web, PyQt) and tool implementations.
Mentioned as an example implementation option in the select_option tool, allowing AI tools to present PyTorch as an implementation choice to users.
Servicio interactivo MCP
Este es un servicio MCP implementado utilizando la biblioteca FastMCP, diseñado para la interacción con herramientas de IA como Cursor, Windsurf, etc. Cuando las herramientas de IA necesitan entrada del usuario o selección de opciones mientras llaman a modelos de lenguaje grandes, pueden invocar este servicio MCP.
Propósito principal
El objetivo principal de este complemento es facilitar la comunicación y confirmación de alta frecuencia entre herramientas de IA (como Cursor y Windsurf) y los usuarios. Mejora significativamente la eficiencia y la eficacia de las interacciones de IA mediante:
- Reducción de recursos desperdiciados : al permitir que los usuarios confirmen o redirijan el enfoque de la IA antes de que se comprometa con una ruta de solución potencialmente incorrecta, el complemento minimiza las llamadas API y los recursos computacionales desperdiciados.
- Maximizar la utilización de recursos : cada llamada API a Cursor o Windsurf se vuelve más productiva ya que la IA puede verificar su comprensión y enfoque con el usuario antes de continuar.
- Prevención de la fragmentación de la atención : al confirmar los enfoques de manera temprana, el complemento ayuda a mantener el foco en la ruta de solución correcta en lugar de desviar la atención hacia enfoques incorrectos.
- Permitir la toma de decisiones interactiva : los usuarios pueden participar activamente en el proceso de toma de decisiones, proporcionando retroalimentación y orientación inmediatas a la IA.
- Optimización de tareas complejas : para tareas de varios pasos, el complemento garantiza la alineación entre las expectativas del usuario y la ejecución de la IA en cada punto de decisión crítico.
Características
- Selección de opciones : muestra una lista de opciones para que los usuarios seleccionen ingresando números o proporcionando respuestas personalizadas
- Información complementaria : cuando los modelos de IA necesitan información más completa, pueden solicitar a los usuarios que ingresen directamente información complementaria.
- Múltiples interfaces de usuario : compatibilidad con interfaces CLI, web y PyQt
Tipos de interfaz de usuario
Este proyecto admite tres tipos de interfaces de usuario diferentes, cada uno con sus propias características:
CLI (Interfaz de línea de comandos)
- Descripción : Abre una nueva ventana del símbolo del sistema para la interacción del usuario.
- Ventajas :
- Dependencias mínimas (no se requieren paquetes adicionales)
- Puede manejar múltiples ventanas de diálogo simultáneamente
- Funciona bien en entornos sin interfaces gráficas.
- Ligero y rápido de iniciar.
- Desventajas :
- Presentación visual básica
- Puede que no sea tan intuitivo para usuarios no técnicos.
- Ideal para : entornos de servidor, sistemas con recursos limitados o cuando se necesitan múltiples diálogos simultáneos
Interfaz de PyQt
- Descripción : Proporciona una interfaz gráfica de usuario moderna utilizando PyQt
- Ventajas :
- Diálogos limpios y de aspecto profesional
- Experiencia familiar de aplicación de escritorio
- Fácil de usar para todo tipo de usuarios.
- Desventajas :
- Sólo se puede mostrar un diálogo a la vez
- Requiere dependencias de PyQt (instalación más grande)
- Ideal para : uso en computadoras de escritorio donde el atractivo visual es importante y solo se necesita un diálogo a la vez
Interfaz web
- Descripción : Abre cuadros de diálogo en un navegador web.
- Ventajas :
- Puede manejar múltiples ventanas de diálogo simultáneamente
- Accesible desde cualquier lugar a través del navegador web
- Interfaz moderna y personalizable
- Desventajas :
- Requiere que esté instalado el navegador web
- Configuración un poco más compleja
- Ideal para : escenarios de acceso remoto, entornos donde se prefiere una interfaz web o cuando se necesitan múltiples diálogos simultáneos.
Guía de uso
1. Primeros pasos (dos opciones)
Opción A: Usar un ejecutable precompilado (recomendado para Windows)
- Descargue el último ejecutable precompilado desde la página de versiones de GitHub .
- No requiere instalación: simplemente descargue y ejecute el archivo ejecutable.
- Puede probar la funcionalidad utilizando estos comandos:
- Vaya al paso 3 a continuación para realizar la configuración.
Opción B: Instalar desde el código fuente
Este proyecto separa las dependencias en función de diferentes tipos de UI:
requirements-base.txt
: Dependencias base, compartidas por todos los tipos de UIrequirements-pyqt.txt
: Dependencias de la interfaz de usuario de PyQt5requirements-web.txt
: Dependencias de la interfaz de usuario web (Flask)
Puede optar por utilizar el tradicional pip o el administrador de paquetes uv más rápido para instalar dependencias.
Usando pip (Método tradicional)
Elija el archivo de dependencia apropiado según el tipo de interfaz de usuario que desee utilizar:
Nota: Cada archivo de dependencia de UI específico ya incluye una referencia a las dependencias base (a través de -r requirements-base.txt
), por lo que solo necesita instalar un único archivo.
Uso de uv (recomendado, más rápido)
Si ya tiene instalado uv , puede utilizar los siguientes comandos para crear un entorno virtual e instalar dependencias:
También puedes usar el archivo pyproject.toml del proyecto para instalar todas las dependencias directamente:
2. Iniciar el programa
Inicie diferentes métodos de respuesta de UI:
Otras opciones de inicio del servicio:
3. Configurar Cursor, Windsurf o Claude
Uso del protocolo stdio (recomendado)
El protocolo stdio es el método de conexión más estable y recomendado, comunicándose directamente con los scripts de Python a través de entrada/salida estándar, con las siguientes ventajas:
- Mayor estabilidad y fiabilidad
- Puede abrir varios cuadros de diálogo simultáneamente
- Simple y directo, sin necesidad de lidiar con problemas de conexión de red.
- Mayor integración con el sistema, respuesta más rápida
Ejemplos de configuración:
Uso con Python (código fuente)
Uso con ejecutable
Uso del protocolo SSE (alternativa)
Si necesita conectarse a un servidor remoto a través de la red, puede utilizar el protocolo SSE:
Empresa emergente local:
Configuración del cursor:
Configuración de windsurf:
4. Configurar reglas de interacción de IA
Para maximizar la eficacia de las interacciones de IA en Cursor y Windsurf, configure las siguientes reglas para que la IA las siga al usar MCP:
- Cuando la IA no tiene clara una tarea o necesita información adicional, debe llamar a MCP ai-interaction para solicitar una aclaración al usuario.
- Cuando la IA tiene múltiples enfoques posibles para una solución, debe llamar a MCP ai-interaction para permitir que el usuario seleccione el enfoque preferido.
- Después de completar una tarea, la IA debe llamar a MCP ai-interaction para confirmar si hay otras tareas que deben ejecutarse.
- La IA debe dividir las tareas en múltiples etapas y, antes de comenzar una nueva etapa, llamar a MCP ai-interaction para preguntar al usuario si es necesario incorporar pensamientos o consideraciones adicionales.
- La IA debería utilizar MCP de forma proactiva para confirmar decisiones críticas en lugar de hacer suposiciones.
Estas reglas garantizan asistencia de IA interactiva y de alta calidad al tiempo que maximizan el valor de cada llamada API.
Otras funciones
Ver herramientas disponibles
Herramientas de prueba
Cliente de prueba interactivo
El proyecto incluye un cliente de prueba interactivo que le permite probar el servicio MCP con diferentes tipos y métodos de UI:
Opciones:
--host
: Host del servidor (predeterminado: localhost)--port
: Puerto del servidor (predeterminado: 7888)--ui
: Tipo de interfaz de usuario a utilizar (cli, pyqt, web)
El cliente proporciona:
- Prueba de conexión con el servicio MCP
- Selección del tipo de UI para realizar pruebas
- Prueba de los métodos select_option y request_additional_info
- Múltiples parámetros preestablecidos para cada método
- Visualización completa de solicitudes y respuestas
Esto es particularmente útil para:
- Depuración de problemas de interacción de la interfaz de usuario
- Probar el comportamiento de diferentes tipos de IU
- Demostrando el servicio a los usuarios
- Verificación de la funcionalidad del servidor
Cliente de prueba STDIO
Para probar específicamente el protocolo de transporte stdio, proporcionamos una herramienta de línea de comandos:
Para obtener más detalles, consulte la Guía de pruebas STDIO .
Pruebas de IU
Descripción de la herramienta
Selección de opciones (select_option)
Esta herramienta se utiliza para presentar un conjunto de opciones a los usuarios y permitirles seleccionar ingresando números o proporcionando respuestas personalizadas.
Parámetros:
options
: Lista de opciones, puede ser una lista de cadenas o diccionariosprompt
: Mensaje de aviso que se muestra al usuario
Devolver: Un diccionario que contiene el resultado de la selección, en el formato:
Suplemento informativo (solicitud de información adicional)
Esta herramienta se utiliza para solicitar información complementaria a los usuarios.
Parámetros:
prompt
: Aviso para solicitar informacióncurrent_info
: Información actual, mostrada a los usuarios como referencia
Devolver: La información complementaria ingresada por el usuario (cadena)
Integración con herramientas de IA
Para integrar este servicio MCP con herramientas de IA, siga estos pasos:
- Inicie el servicio MCP utilizando el ejecutable o el código fuente de Python:
- Usando el ejecutable:
mcp-interactive.exe run
- Usando la fuente Python:
python main.py run
- Usando el ejecutable:
- Configure el punto final MCP en la herramienta de IA, eligiendo el protocolo stdio o SSE según sea necesario
- Llame a la herramienta MCP adecuada cuando el modelo de IA necesite entrada del usuario o selección de opciones
Integración de Claude
Para integrarse con Claude en los productos oficiales de Anthropic o aplicaciones de terceros:
- Configure la conexión stdio en la configuración de su herramienta de IA:
- Configure a Claude para utilizar el servicio de interacción cuando sea necesario, con instrucciones como:
- Cuando necesite la entrada o confirmación del usuario, utilice el servicio de interacción MCP.
- "Para opciones de opción múltiple, llame a la herramienta select_option"
- Para recopilar información adicional del usuario, llame a la herramienta request_additional_info.
- Claude ahora podrá presentar opciones y solicitar información adicional directamente a través del servicio MCP.
Ejemplos
Ejemplo de selección de opciones
Ejemplo de suplemento informativo
Notas de desarrollo
- A menos que necesite desarrollar o probar varios tipos de IU, se recomienda instalar solo una dependencia de IU
- Si necesita agregar nuevas dependencias, agréguelas al archivo de dependencia apropiado.
Estado actual del desarrollo
Tenga en cuenta el siguiente estado de la implementación:
- Windows : Las versiones de CLI y PyQt UI funcionan perfectamente. La interfaz web aún presenta algunos problemas que deben solucionarse.
- Linux/Mac : Estas plataformas aún no se han probado exhaustivamente. Su experiencia puede variar.
Estamos trabajando activamente para mejorar la compatibilidad en todas las plataformas y tipos de UI.
Construcción y Distribución
Creación de archivos ejecutables
Este proyecto incluye un script para crear un archivo ejecutable independiente para Windows:
Esto creará mcp-interactive.exe
en el directorio dist
que puede ejecutar sin la instalación de Python.
Edificio multiplataforma
Para crear ejecutables para diferentes plataformas:
Ventanas
macOS
Linux
Nota: Debe compilar en la plataforma de destino (no puede compilar ejecutables de macOS desde Windows, etc.)
Distribuyendo a través de GitHub
Para que los ejecutables creados estén disponibles para su descarga:
- Crea una versión de GitHub para tu proyecto
- Cargue los ejecutables compilados como activos de lanzamiento
- Proporcionar documentación clara sobre qué ejecutable utilizar para cada plataforma
Pasos de ejemplo:
- Navega a tu repositorio de GitHub
- Haga clic en "Lanzamientos" en la barra lateral derecha.
- Haga clic en "Crear un nuevo lanzamiento"
- Establecer una etiqueta de versión (por ejemplo, v1.0.0)
- Añade un título y una descripción para tu lanzamiento
- Arrastre y suelte o cargue sus archivos ejecutables para diferentes plataformas
- Haga clic en "Publicar comunicado"
Luego, los usuarios pueden descargar la versión adecuada para su sistema operativo desde la página de lanzamientos de GitHub.
Licencia
Este proyecto se publica bajo la licencia MIT.
This server cannot be installed
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Una interfaz que permite la comunicación de alta frecuencia entre herramientas de IA (como Cursor y Windsurf) y los usuarios, lo que permite la selección de opciones y la recopilación de información a través de interfaces CLI, Web o PyQt.
Related MCP Servers
- -securityFlicense-qualityThis server acts as a Message Communication Protocol (MCP) service for integrating Apifox and Cursor, enabling OpenAPI interface implementation through AI-driven interaction.Last updated -7TypeScript
- -securityFlicense-qualityA Model Context Protocol server that enables AI assistants to explore and interact with Cursor IDE's SQLite databases, providing access to project data, chat history, and composer information.Last updated -10Python
Apifox MCP Serverofficial
-securityFlicense-qualityA server that connects AI coding assistants like Cursor and Cline to Apifox API definitions, allowing developers to implement API interfaces through natural language commands.Last updated -8321- -securityFlicense-qualityThis server enables AI assistants (CLINE, Cursor, Windsurf, Claude Desktop) to share a common knowledge base through Retrieval Augmented Generation (RAG), providing consistent information access across multiple tools.Last updated -1TypeScript