Qontinui MCP Server
qontinui-mcp
Легковесный MCP-сервер для Qontinui Runner — обеспечивает визуальную автоматизацию на базе ИИ.
Установка
pip install qontinui-mcpRelated MCP server: RPA MCP Server
Быстрый старт
Запустите 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 installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Build and run visual creative-production workflows from your AI agent.
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.
Give your AI agents the tools to build, manage, and run automation workflows.
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
- FlicenseNot gradedqualityNot gradedmaintenanceProvides comprehensive desktop automation capabilities including AI-powered vision, OCR, and mouse/keyboard control via a Spring Boot REST API. It enables users to execute multi-step workflows, manage files, and automate browser interactions.
- AlicenseNot gradedqualityCmaintenanceEnables AI to inspect and interact with UI elements, supporting control mode for the runner's own UI and SDK mode for external applications.AGPL 3.0

qontinui-lib-mcpofficial
AlicenseNot gradedqualityBmaintenanceEnables 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
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/qontinui/qontinui-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server