Qontinui MCP Server
qontinui-mcp
Легковесный MCP-сервер для Qontinui Runner — обеспечивает визуальную автоматизацию на базе ИИ.
Установка
pip install qontinui-mcpRelated MCP server: UI Bridge MCP
Быстрый старт
Запустите Qontinui Runner (десктопное приложение)
Настройте ваш ИИ-клиент (Claude Desktop, Claude Code, Cursor и т.д.)
Добавьте в конфигурацию MCP:
{
"mcpServers": {
"qontinui": {
"command": "qontinui-mcp",
"args": []
}
}
}Запускайте рабочие процессы через ИИ
Теперь ИИ может:
Загружать файлы конфигурации рабочих процессов
Запускать визуальные сценарии автоматизации
Отслеживать статус выполнения
Управлять выбором монитора
Конфигурация
Переменные окружения:
Переменная | Описание | По умолчанию |
| Адрес хоста Runner | Автоопределение (с поддержкой WSL) |
| HTTP-порт Runner |
|
| Директория для результатов автоматизации |
|
| Директория для логов разработки |
|
Функциональность
Область A: Потоковая передача событий SSE
Потоковая передача событий в реальном времени через Server-Sent Events (SSE) для мониторинга выполнения рабочих процессов.
Эндпоинт: /sse/events
Использование клиентом:
from qontinui_mcp.client import QontinuiClient
client = QontinuiClient()
def handle_event(event: dict):
print(f"Event: {event['event_type']} - {event}")
await client.subscribe_events(callback=handle_event, timeout=60)Типы событий:
qontinui/execution_started- Начало рабочего процессаqontinui/execution_progress- Завершение шагаqontinui/execution_completed- Завершение рабочего процессаqontinui/test_started- Начало тестаqontinui/test_completed- Завершение тестаqontinui/image_recognition- Совпадение найдено/не найденоqontinui/error- Возникла ошибкаqontinui/warning- Некритическая проблема
Область B: Промпты MCP
Параметризованные шаблоны промптов для типичных задач автоматизации. Промпты агрегируют контекст от Runner для предоставления структурированных рабочих процессов отладки, анализа и верификации.
Промпт | Описание | Аргументы |
| Анализ сбоя теста со структурированным подходом к отладке |
|
| Визуальный анализ скриншота для верификации UI |
|
| Структурированный рабочий процесс для исправления сбоя теста Playwright |
|
| Проверка соответствия текущего состояния GUI ожидаемому состоянию процесса |
|
| Генерация теста верификации для поведения UI |
|
| Обзор результатов запуска автоматизации и выявление проблем |
|
| Отладка проблем сопоставления шаблонов и распознавания изображений |
|
| Сводка статуса задачи с прогрессом выполнения |
|
| Анализ причин сбоя критерия верификации |
|
| Генерация плана верификации для функции |
|
Область C: Кэширование инструментов
Кэширование инструментов на основе версий для оптимизации запросов списка инструментов MCP.
Эндпоинт: /tool-version
Ответ:
{
"version": "abc123...",
"tool_count": 35,
"test_count": 12
}MCP-сервер кэширует инструменты и аннулирует кэш, когда:
Изменяется версия инструментов Runner (загружена конфигурация, добавлены/удалены тесты)
Кэш старше 5 минут (резервный вариант)
Область E: Система разрешений
Детализированный контроль разрешений для вызовов инструментов, вдохновленный системой разрешений OpenCode.
Уровни разрешений:
Уровень | Описание | Пример инструментов |
| Безопасные операции, только чтение данных |
|
| Операции запуска рабочих процессов или тестов |
|
| Операции изменения данных |
|
| Операции, которые могут нарушить выполнение |
|
Конфигурация:
from qontinui_mcp.permissions import get_permission_service, PermissionLevel
service = get_permission_service()
# Auto-approve only read operations (default)
service.configure(auto_approve_levels={PermissionLevel.READ_ONLY})
# Auto-approve all operations (trusted context)
service.auto_approve_all()
# Custom permission handler
service.on_request = lambda req: input(f"Allow {req.tool_name}? (y/n)") == "y"Область F: Ресурсы MCP
Доступ к данным только для чтения через схему URI для доступа к данным Runner.
Схема URI: qontinui://{type}/{id}
Типы ресурсов:
Шаблон URI | Описание | MIME-тип |
| Текущая загруженная конфигурация рабочего процесса |
|
| Лог-файлы JSONL (общие, действия, распознавание изображений, playwright) |
|
| Метаданные скриншотов и пути к файлам |
|
| Определения тестов верификации |
|
| HTML-контент захвата DOM |
|
| Детали запуска задачи |
|
Область G: Выполнение Python в строке
Выполнение произвольного кода Python с опциональной изоляцией зависимостей через uvx.
Инструмент: execute_python
Параметры:
code(обязательно): Код Python для выполненияdependencies: Список пакетов pip для установкиtimeout_seconds: Тайм-аут выполнения (по умолчанию: 30)working_directory: Рабочая директория для выполнения
Пример:
# Simple calculation
result = await client.execute_python(
code="return {'sum': 1 + 2, 'product': 3 * 4}"
)
# result.data["return_value"] == {"sum": 3, "product": 12}
# With dependencies
result = await client.execute_python(
code="""
import requests
resp = requests.get('https://api.example.com/data')
return resp.json()
""",
dependencies=["requests"],
)Область H: Создание агентов
Иерархическая декомпозиция задач путем создания под-агентов с узкоспециализированными задачами.
Инструмент: spawn_sub_agent
Параметры:
task(обязательно): Описание задачи для под-агентаtools: Список имен инструментов, к которым ограничен доступ под-агентаmax_iterations: Максимальное количество итераций (по умолчанию: 10)context: Дополнительный контекст для предоставления
Пример:
result = await client.spawn_sub_agent(
task="Verify that the login form works correctly",
tools=["run_workflow", "capture_screenshot", "execute_test"],
max_iterations=5,
context="The login page is at /login with username and password fields."
)Доступные инструменты
Основные инструменты
Инструмент | Разрешение | Описание |
| READ_ONLY | Получить статус Runner |
| READ_ONLY | Список доступных мониторов |
| MODIFY | Загрузить файл конфигурации рабочего процесса |
| MODIFY | Загрузить конфигурацию, если она еще не загружена |
| READ_ONLY | Получить информацию о загруженной конфигурации |
| EXECUTE | Запустить рабочий процесс по имени |
| DANGEROUS | Остановить текущее выполнение |
Инструменты управления задачами
Инструмент | Разрешение | Описание |
| READ_ONLY | Получить все запуски задач |
| READ_ONLY | Получить детали конкретного запуска задачи |
| READ_ONLY | Получить события для запуска задачи |
| READ_ONLY | Получить скриншоты для запуска задачи |
| READ_ONLY | Получить результаты Playwright для запуска задачи |
| EXECUTE | Мигрировать логи JSONL в SQLite |
Инструменты запуска автоматизации
Инструмент | Разрешение | Описание |
| READ_ONLY | Получить недавние запуски автоматизации |
| READ_ONLY | Получить детали конкретного запуска автоматизации |
Инструменты управления тестами
Инструмент | Разрешение | Описание |
| READ_ONLY | Список всех тестов верификации |
| READ_ONLY | Получить тест по ID |
| EXECUTE | Выполнить тест верификации |
| READ_ONLY | Список результатов тестов |
| READ_ONLY | Получить сводку истории тестов |
| MODIFY | Создать новый тест верификации |
| MODIFY | Обновить существующий тест |
| MODIFY | Удалить тест верификации |
Типы тестов:
playwright_cdp- Утверждения DOM браузера с использованием Playwrightqontinui_vision- Визуальная верификация с использованием распознавания изображенийpython_script- Пользовательская логика верификации на Pythonrepository_test- Запуск pytest, Jest или других тестовых фреймворков
Инструменты логирования
Инструмент | Разрешение | Описание |
| READ_ONLY | Список доступных скриншотов |
| READ_ONLY | Чтение лог-файлов JSONL Runner |
Типы логов:
general- Общие события исполнителяactions- События действий/дерева рабочего процессаimage-recognition- Результаты распознавания изображений с деталями совпаденийplaywright- Результаты выполнения тестов Playwright
Инструменты захвата DOM
Инструмент | Разрешение | Описание |
| READ_ONLY | Список захватов DOM |
| READ_ONLY | Получить метаданные захвата DOM |
| READ_ONLY | Получить HTML-контент захвата DOM |
Инструменты AWAS (AI Web Action Standard)
Инструменты для взаимодействия с веб-сайтами, поддерживающими стандарт AWAS.
Инструмент | Разрешение | Описание |
| EXECUTE | Обнаружить манифест AWAS для веб-сайта |
| READ_ONLY | Проверить, поддерживает ли веб-сайт AWAS |
| READ_ONLY | Список доступных действий AWAS |
| EXECUTE | Выполнить действие AWAS |
Продвинутые инструменты
Инструмент | Разрешение | Описание |
| EXECUTE | Выполнить встроенный код Python |
| EXECUTE | Создать под-агента с конкретной задачей |
Пример использования
Базовое выполнение рабочего процесса
# In an AI conversation:
"Load the config at /path/to/workflow.json and run the 'login_test' workflow on the left monitor"Верификация на основе тестов
# Create a verification test
"Create a Playwright test that verifies the login button is visible and enabled"
# Execute the test
"Run the login_button_visible test and show me the results"
# Debug failures
"Use the debug_test_failure prompt for test abc123 with screenshots"Анализ автоматизации
# Analyze a failed automation run
"Analyze the most recent automation run and identify why it failed"
# Debug image recognition
"Debug the template matching for the 'submit_button' template"Разработка
# Clone
git clone https://github.com/qontinui/qontinui-mcp
cd qontinui-mcp
# Install dependencies
poetry install
# Run server locally
poetry run qontinui-mcp
# Run type checking
poetry run mypy src/
# Run linting
poetry run ruff check src/Архитектура
qontinui-mcp (MCP Server)
|
v
QontinuiClient (HTTP Client)
|
v
qontinui-runner (Desktop App, port 9876)
|
v
Python Subprocess (Qontinui Execution)MCP-сервер — это тонкая обертка, которая:
Предоставляет возможности Runner через протокол MCP
Обеспечивает контроль разрешений для вызовов инструментов
Кэширует определения инструментов для производительности
Агрегирует контекст для структурированных промптов
Передает события через SSE для мониторинга в реальном времени
Лицензия
Лицензировано в соответствии с GNU Affero General Public License v3.0 или более поздней версии (AGPL-3.0-or-later). См. LICENSE для получения полных условий.
This server cannot be deployed
Maintenance
Related MCP Connectors
Build and run visual creative-production workflows from your AI agent.
Discover Playwright workflows, start runs, and inspect results in Playrunner Cloud.
Connect, monitor, and control AI agents — tasks, approvals, schedules, and governance.
Design, save, and run outcome-aligned AI workflows and verifiers, with reliable image output.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceEnables AI assistants to create and manage visual automation configurations, workflows, and UI states through the Qontinui API. It supports project management, workflow execution, and configuration handling for automated web interactions.AGPL 3.0
- AlicenseNot gradedqualityBmaintenanceEnables AI to inspect and interact with UI elements, supporting control mode for the runner's own UI and SDK mode for external applications.MIT

qontinui-lib-mcpofficial
AlicenseNot gradedqualityCmaintenanceEnables AI-powered visual automation workflows by providing tools for searching nodes, creating and validating workflows, and executing automation scripts via natural language.AGPL 3.0- AlicenseNot gradedqualityAmaintenanceEnables MCP-compatible AI platforms to see the screen and operate any desktop software through real mouse clicks, text input, key presses, and scripted scenario execution.MIT