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.
Интерактивная служба MCP
Это служба MCP, реализованная с использованием библиотеки FastMCP, предназначенная для взаимодействия с инструментами ИИ, такими как Cursor, Windsurf и т. д. Когда инструментам ИИ требуется пользовательский ввод или выбор параметров при вызове больших языковых моделей, они могут вызвать эту службу MCP.
Основная цель
Основная цель этого плагина — обеспечить высокочастотную связь и подтверждение между инструментами ИИ (такими как Cursor и Windsurf) и пользователями. Он значительно повышает эффективность и результативность взаимодействия ИИ за счет:
- Сокращение ненужных затрат ресурсов : позволяя пользователям подтверждать или перенаправлять подход ИИ до того, как он выберет потенциально неверный путь решения, плагин сводит к минимуму ненужные вызовы API и вычислительные ресурсы.
- Максимальное использование ресурсов : каждый вызов API к Cursor или Windsurf становится более продуктивным, поскольку ИИ может проверить свое понимание и подход с пользователем, прежде чем продолжить.
- Предотвращение фрагментации внимания : Подтверждая подходы на ранних этапах, плагин помогает сохранять фокус на правильном пути решения, не отвлекая внимание на неправильные подходы.
- Обеспечение интерактивного принятия решений : пользователи могут активно участвовать в процессе принятия решений, предоставляя немедленную обратную связь и указания ИИ.
- Оптимизация сложных задач : для многоэтапных задач плагин обеспечивает соответствие между ожиданиями пользователя и действиями ИИ в каждой критической точке принятия решения.
Функции
- Выбор варианта : отображение списка вариантов, из которых пользователи могут выбрать, введя числа или предоставив собственные ответы.
- Информационное дополнение : когда моделям ИИ требуется более полная информация, они могут попросить пользователей напрямую ввести дополнительную информацию.
- Несколько пользовательских интерфейсов : поддержка интерфейсов CLI, Web и PyQt
Типы пользовательского интерфейса
Этот проект поддерживает три различных типа пользовательского интерфейса, каждый из которых имеет свои особенности:
CLI (интерфейс командной строки)
- Описание : открывает новое окно командной строки для взаимодействия с пользователем.
- Преимущества :
- Минимальные зависимости (дополнительные пакеты не требуются)
- Может обрабатывать несколько диалоговых окон одновременно
- Хорошо работает в средах без графических интерфейсов.
- Легкий и быстрый запуск
- Недостатки :
- Базовая визуальная презентация
- Может быть не столь интуитивно понятным для нетехнических пользователей.
- Лучше всего подходит для : серверных сред, систем с ограниченными ресурсами или когда требуется несколько одновременных диалогов.
Интерфейс PyQt
- Описание : Предоставляет современный графический пользовательский интерфейс с использованием PyQt.
- Преимущества :
- Чистые, профессионально выглядящие диалоги
- Знакомый опыт использования настольных приложений
- Простота использования для всех типов пользователей
- Недостатки :
- Одновременно может отображаться только один диалог.
- Требуются зависимости PyQt (большая установка)
- Подходит для : использования на рабочем столе, где важна визуальная привлекательность и требуется только один диалог за раз
Веб-интерфейс
- Описание : Открывает диалоговые окна в веб-браузере.
- Преимущества :
- Может обрабатывать несколько диалоговых окон одновременно
- Доступно из любой точки мира через веб-браузер
- Современный, настраиваемый интерфейс
- Недостатки :
- Требуется установленный веб-браузер.
- Немного более сложная настройка
- Лучше всего подходит для : сценариев удаленного доступа, сред, где предпочтителен веб-интерфейс, или когда требуется несколько одновременных диалогов.
Руководство по использованию
1. Начало работы (два варианта)
Вариант A: использование предварительно скомпилированного исполняемого файла (рекомендуется для Windows)
- Загрузите последнюю версию предварительно скомпилированного исполняемого файла со страницы релизов GitHub .
- Установка не требуется — просто скачайте и запустите исполняемый файл.
- Вы можете проверить работоспособность с помощью следующих команд:
- Для настройки перейдите к шагу 3 ниже.
Вариант Б: Установка из исходного кода
В этом проекте зависимости разделяются на основе различных типов пользовательского интерфейса:
requirements-base.txt
: Базовые зависимости, общие для всех типов пользовательского интерфейсаrequirements-pyqt.txt
: зависимости пользовательского интерфейса PyQt5requirements-web.txt
: Зависимости веб-интерфейса (Flask)
Для установки зависимостей вы можете использовать либо традиционный pip, либо более быстрый менеджер пакетов uv.
Использование pip (традиционный метод)
Выберите соответствующий файл зависимостей в зависимости от типа пользовательского интерфейса, который вы хотите использовать:
Примечание: каждый конкретный файл зависимостей пользовательского интерфейса уже включает ссылку на базовые зависимости (через -r requirements-base.txt
), поэтому вам нужно установить только один файл.
Использование УФ (рекомендуется, быстрее)
Если у вас уже установлен uv , вы можете использовать следующие команды для создания виртуальной среды и установки зависимостей:
Вы также можете использовать файл pyproject.toml проекта для установки всех зависимостей напрямую:
2. Запустите программу
Запуск различных методов реагирования пользовательского интерфейса:
Другие варианты запуска сервиса:
3. Настройте Cursor, Windsurf или Claude
Использование протокола stdio (рекомендуется)
Протокол stdio — наиболее стабильный и рекомендуемый метод подключения, обеспечивающий прямую связь со скриптами Python через стандартный ввод/вывод, имеющий следующие преимущества:
- Более высокая стабильность и надежность
- Можно открывать несколько диалоговых окон одновременно
- Простота и понятность, нет необходимости решать проблемы с сетевым подключением
- Более тесная интеграция с системой, более быстрое реагирование
Примеры конфигурации:
Использование с Python (исходный код)
Использование с исполняемым файлом
Использование протокола SSE (альтернатива)
Если вам необходимо подключиться к удаленному серверу по сети, вы можете использовать протокол SSE:
Локальный стартап:
Конфигурация курсора:
Конфигурация виндсерфинга:
4. Настройте правила взаимодействия ИИ
Чтобы максимизировать эффективность взаимодействия ИИ в Cursor и Windsurf, настройте следующие правила, которым ИИ будет следовать при использовании MCP:
- Когда ИИ неясно, что именно нужно сделать или ему нужна дополнительная информация, он должен вызвать MCP ai-interaction, чтобы запросить разъяснения у пользователя.
- Когда у ИИ есть несколько возможных подходов к решению, он должен вызвать MCP ai-interaction, чтобы позволить пользователю выбрать предпочтительный подход.
- После завершения задачи ИИ должен вызвать MCP ai-interaction, чтобы подтвердить, есть ли другие задачи, которые необходимо выполнить.
- ИИ должен разбивать задачи на несколько этапов и перед началом нового этапа вызывать MCP ai-interaction, чтобы спросить пользователя, нужно ли включить какие-либо дополнительные мысли или соображения.
- ИИ должен активно использовать MCP для подтверждения критически важных решений, а не строить предположения.
Эти правила обеспечивают высококачественную интерактивную помощь ИИ, одновременно максимизируя ценность каждого вызова API.
Другие функции
Просмотреть доступные инструменты
Тестовые инструменты
Интерактивный тестовый клиент
Проект включает в себя интерактивный тестовый клиент, который позволяет тестировать службу MCP с различными типами и методами пользовательского интерфейса:
Параметры:
--host
: Хост сервера (по умолчанию: localhost)--port
: Порт сервера (по умолчанию: 7888)--ui
: тип используемого пользовательского интерфейса (cli, pyqt, web)
Клиент предоставляет:
- Тестирование соединения с сервисом MCP
- Выбор типа пользовательского интерфейса для тестирования
- Тестирование методов select_option и request_additional_info
- Множество предустановок параметров для каждого метода
- Полная визуализация запросов и ответов
Это особенно полезно для:
- Устранение проблем взаимодействия с пользовательским интерфейсом
- Тестирование поведения различных типов пользовательского интерфейса
- Демонстрация сервиса пользователям
- Проверка работоспособности сервера
Тестовый клиент STDIO
Специально для тестирования транспортного протокола stdio мы предоставляем инструмент командной строки:
Более подробную информацию см. в Руководстве по тестированию STDIO .
Тестирование пользовательского интерфейса
Описание инструмента
Выбор варианта (select_option)
Этот инструмент используется для предоставления пользователям набора вариантов и предоставления им возможности выбора путем ввода чисел или предоставления индивидуальных ответов.
Параметры:
options
: список параметров, может быть списком строк или словарейprompt
: Сообщение-подсказка, отображаемое пользователю
Возврат: Словарь, содержащий результат выбора, в формате:
Информационное дополнение (request_additional_info)
Этот инструмент используется для запроса дополнительной информации у пользователей.
Параметры:
prompt
: Запрос на запрос информацииcurrent_info
: Текущая информация, отображаемая пользователям в качестве справочной информации.
Возврат: Дополнительная информация, введенная пользователем (строка)
Интеграция с инструментами ИИ
Чтобы интегрировать эту службу MCP с инструментами ИИ, выполните следующие действия:
- Запустите службу MCP, используя исполняемый файл или исходный код Python:
- Используя исполняемый файл:
mcp-interactive.exe run
- Используя исходный код Python:
python main.py run
- Используя исполняемый файл:
- Настройте конечную точку MCP в инструменте AI, выбрав протокол stdio или SSE по мере необходимости.
- Вызовите соответствующий инструмент MCP, когда модели ИИ требуется ввод данных пользователем или выбор параметров.
Клод Интеграция
Для интеграции с Claude в официальные продукты Anthropic или сторонние приложения:
- Настройте stdio-подключение в настройках инструмента ИИ:
- Настройте Клода для использования службы взаимодействия при необходимости, используя такие инструкции:
- «Когда вам нужен пользовательский ввод или подтверждение, используйте службу взаимодействия MCP»
- «Для вариантов с несколькими вариантами выбора вызовите инструмент select_option»
- «Для сбора дополнительной информации о пользователе вызовите инструмент request_additional_info»
- Теперь Клод сможет предлагать варианты и запрашивать дополнительную информацию непосредственно через службу MCP.
Примеры
Пример выбора варианта
Пример информационного дополнения
Заметки о разработке
- Если вам не нужно разрабатывать или тестировать несколько типов пользовательского интерфейса, рекомендуется устанавливать только одну зависимость пользовательского интерфейса.
- Если вам необходимо добавить новые зависимости, добавьте их в соответствующий файл зависимостей.
Текущий статус разработки
Обратите внимание на следующий статус реализации:
- Windows : версии CLI и PyQt UI полностью функциональны. В веб-интерфейсе все еще есть некоторые проблемы, которые необходимо решить.
- Linux/Mac : эти платформы еще не были тщательно протестированы. Ваш опыт может отличаться.
Мы активно работаем над улучшением совместимости на всех платформах и типах пользовательского интерфейса.
Строительство и дистрибуция
Создание исполняемых файлов
Этот проект включает скрипт для создания автономного исполняемого файла для Windows:
Это создаст mcp-interactive.exe
в каталоге dist
, который можно запустить без установки Python.
Кросс-платформенное строительство
Для сборки исполняемых файлов для разных платформ:
Окна
macOS
линукс
Примечание: сборку необходимо выполнять на целевой платформе (вы не можете собирать исполняемые файлы macOS из Windows и т. д.)
Распространение через GitHub
Чтобы сделать ваши собранные исполняемые файлы доступными для загрузки:
- Создайте релиз GitHub для вашего проекта
- Загрузите созданные исполняемые файлы в качестве ресурсов релиза.
- Предоставьте четкую документацию о том, какой исполняемый файл использовать для каждой платформы.
Примеры шагов:
- Перейдите в ваш репозиторий GitHub.
- Нажмите «Релизы» на правой боковой панели.
- Нажмите «Создать новый релиз».
- Установите тег версии (например, v1.0.0)
- Добавьте название и описание вашего релиза
- Перетащите или загрузите исполняемые файлы для разных платформ.
- Нажмите «Опубликовать релиз».
Затем пользователи могут загрузить соответствующую версию для своей операционной системы со страницы релизов GitHub.
Лицензия
Данный проект выпущен под лицензией 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.
Интерфейс, обеспечивающий высокочастотную связь между инструментами ИИ (такими как Cursor и Windsurf) и пользователями, позволяющий выбирать опции и собирать информацию через интерфейсы CLI, Web или 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