Qontinui MCP Server
qontinui-mcp
Servidor MCP ligero para Qontinui Runner: habilita la automatización visual impulsada por IA.
Instalación
pip install qontinui-mcpRelated MCP server: RPA MCP Server
Inicio rápido
Inicie el Qontinui Runner (aplicación de escritorio)
Configure su cliente de IA (Claude Desktop, Claude Code, Cursor, etc.)
Añada a su configuración de MCP:
{
"mcpServers": {
"qontinui": {
"command": "qontinui-mcp",
"args": []
}
}
}Ejecute flujos de trabajo mediante IA
La IA ahora puede:
Cargar archivos de configuración de flujo de trabajo
Ejecutar flujos de trabajo de automatización visual
Monitorear el estado de ejecución
Controlar qué monitor utilizar
Configuración
Variables de entorno:
Variable | Descripción | Predeterminado |
| Dirección del host del Runner | Detección automática (compatible con WSL) |
| Puerto HTTP del Runner |
|
| Directorio para resultados de automatización |
|
| Directorio para registros de desarrollo |
|
Características
Área A: Transmisión de eventos SSE
Transmisión de eventos en tiempo real mediante Server-Sent Events (SSE) para monitorear la ejecución del flujo de trabajo.
Endpoint: /sse/events
Uso del cliente:
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)Tipos de eventos:
qontinui/execution_started- Comienza el flujo de trabajoqontinui/execution_progress- Finalización de pasoqontinui/execution_completed- Finaliza el flujo de trabajoqontinui/test_started- Comienza la pruebaqontinui/test_completed- Finaliza la pruebaqontinui/image_recognition- Coincidencia encontrada/fallidaqontinui/error- Ocurre un errorqontinui/warning- Problema no fatal
Área B: Prompts de MCP
Plantillas de prompts parametrizadas para tareas comunes de automatización. Los prompts agregan contexto del runner para proporcionar flujos de trabajo estructurados de depuración, análisis y verificación.
Prompt | Descripción | Argumentos |
| Analizar un fallo de prueba con un enfoque de depuración estructurado |
|
| Análisis visual de una captura de pantalla para verificación de IU |
|
| Flujo de trabajo estructurado para corregir una prueba de Playwright fallida |
|
| Verificar que el estado actual de la GUI coincida con el estado esperado del flujo de trabajo |
|
| Generar una prueba de verificación para un comportamiento de la IU |
|
| Revisar los resultados de la ejecución de automatización e identificar problemas |
|
| Depurar problemas de coincidencia de plantillas y reconocimiento de imágenes |
|
| Resumen del estado de la tarea con progreso de ejecución |
|
| Analizar por qué falló un criterio de verificación |
|
| Generar un plan de verificación para una característica |
|
Área C: Caché de herramientas
Caché de herramientas basada en versiones para optimizar las solicitudes de lista de herramientas de MCP.
Endpoint: /tool-version
Respuesta:
{
"version": "abc123...",
"tool_count": 35,
"test_count": 12
}El servidor MCP almacena en caché las herramientas e invalida la caché cuando:
La versión de la herramienta del runner cambia (configuración cargada, pruebas añadidas/eliminadas)
La caché tiene más de 5 minutos (fallback)
Área E: Sistema de permisos
Control de permisos detallado para llamadas a herramientas inspirado en el sistema de permisos de OpenCode.
Niveles de permiso:
Nivel | Descripción | Herramientas de ejemplo |
| Operaciones seguras que solo leen datos |
|
| Operaciones que ejecutan flujos de trabajo o pruebas |
|
| Operaciones que cambian datos |
|
| Operaciones que pueden interrumpir la ejecución |
|
Configuración:
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"Área F: Recursos MCP
Acceso a datos de solo lectura mediante esquema URI para acceder a datos del runner.
Esquema URI: qontinui://{type}/{id}
Tipos de recursos:
Patrón URI | Descripción | Tipo MIME |
| Configuración de flujo de trabajo cargada actualmente |
|
| Archivos de registro JSONL (general, acciones, reconocimiento de imágenes, playwright) |
|
| Metadatos de captura de pantalla y rutas de archivo |
|
| Definiciones de pruebas de verificación |
|
| Contenido HTML de captura DOM |
|
| Detalles de ejecución de tareas |
|
Área G: Ejecución de Python en línea
Ejecute código Python arbitrario con aislamiento de dependencias opcional mediante uvx.
Herramienta: execute_python
Parámetros:
code(requerido): Código Python a ejecutardependencies: Lista de paquetes pip a instalartimeout_seconds: Tiempo de espera de ejecución (predeterminado: 30)working_directory: Directorio de trabajo para la ejecución
Ejemplo:
# 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"],
)Área H: Generación de agentes
Descomposición jerárquica de tareas mediante la generación de subagentes con tareas enfocadas.
Herramienta: spawn_sub_agent
Parámetros:
task(requerido): Descripción de la tarea para el subagentetools: Lista de nombres de herramientas a las que restringir el subagentemax_iterations: Máximo de turnos/iteraciones (predeterminado: 10)context: Contexto adicional a proporcionar
Ejemplo:
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."
)Herramientas disponibles
Herramientas principales
Herramienta | Permiso | Descripción |
| READ_ONLY | Obtener estado del runner |
| READ_ONLY | Listar monitores disponibles |
| MODIFY | Cargar un archivo de configuración de flujo de trabajo |
| MODIFY | Cargar configuración si aún no está cargada |
| READ_ONLY | Obtener información de la configuración cargada |
| EXECUTE | Ejecutar un flujo de trabajo por nombre |
| DANGEROUS | Detener la ejecución actual |
Herramientas de gestión de tareas
Herramienta | Permiso | Descripción |
| READ_ONLY | Obtener todas las ejecuciones de tareas |
| READ_ONLY | Obtener detalles específicos de ejecución de tarea |
| READ_ONLY | Obtener eventos para una ejecución de tarea |
| READ_ONLY | Obtener capturas de pantalla para una ejecución de tarea |
| READ_ONLY | Obtener resultados de Playwright para una ejecución de tarea |
| EXECUTE | Migrar registros JSONL a SQLite |
Herramientas de ejecución de automatización
Herramienta | Permiso | Descripción |
| READ_ONLY | Obtener ejecuciones de automatización recientes |
| READ_ONLY | Obtener detalles específicos de ejecución de automatización |
Herramientas de gestión de pruebas
Herramienta | Permiso | Descripción |
| READ_ONLY | Listar todas las pruebas de verificación |
| READ_ONLY | Obtener prueba por ID |
| EXECUTE | Ejecutar una prueba de verificación |
| READ_ONLY | Listar resultados de pruebas |
| READ_ONLY | Obtener resumen del historial de pruebas |
| MODIFY | Crear una nueva prueba de verificación |
| MODIFY | Actualizar una prueba existente |
| MODIFY | Eliminar una prueba de verificación |
Tipos de prueba:
playwright_cdp- Aserciones de DOM del navegador usando Playwrightqontinui_vision- Verificación visual usando reconocimiento de imágenespython_script- Lógica de verificación personalizada en Pythonrepository_test- Ejecutar pytest, Jest u otros marcos de prueba
Herramientas de registro
Herramienta | Permiso | Descripción |
| READ_ONLY | Listar capturas de pantalla disponibles |
| READ_ONLY | Leer archivos de registro JSONL del runner |
Tipos de registro:
general- Eventos generales del ejecutoractions- Eventos de acción/árbol de flujo de trabajoimage-recognition- Resultados de reconocimiento de imágenes con detalles de coincidenciaplaywright- Resultados de ejecución de pruebas de Playwright
Herramientas de captura DOM
Herramienta | Permiso | Descripción |
| READ_ONLY | Listar capturas DOM |
| READ_ONLY | Obtener metadatos de captura DOM |
| READ_ONLY | Obtener contenido HTML de captura DOM |
Herramientas AWAS (AI Web Action Standard)
Herramientas para interactuar con sitios web que admiten el estándar AWAS.
Herramienta | Permiso | Descripción |
| EXECUTE | Descubrir manifiesto AWAS para un sitio web |
| READ_ONLY | Comprobar si un sitio web admite AWAS |
| READ_ONLY | Listar acciones AWAS disponibles |
| EXECUTE | Ejecutar una acción AWAS |
Herramientas avanzadas
Herramienta | Permiso | Descripción |
| EXECUTE | Ejecutar código Python en línea |
| EXECUTE | Generar un subagente con una tarea específica |
Ejemplo de uso
Ejecución básica de flujo de trabajo
# In an AI conversation:
"Load the config at /path/to/workflow.json and run the 'login_test' workflow on the left monitor"Verificación basada en pruebas
# 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"Análisis de automatización
# 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"Desarrollo
# 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/Arquitectura
qontinui-mcp (MCP Server)
|
v
QontinuiClient (HTTP Client)
|
v
qontinui-runner (Desktop App, port 9876)
|
v
Python Subprocess (Qontinui Execution)El servidor MCP es un envoltorio ligero que:
Expone las capacidades del runner mediante el protocolo MCP
Proporciona control de permisos para llamadas a herramientas
Almacena en caché las definiciones de herramientas para mejorar el rendimiento
Agrega contexto para prompts estructurados
Transmite eventos mediante SSE para monitoreo en tiempo real
Licencia
Licenciado bajo la Licencia Pública General Affero de GNU v3.0 o posterior (AGPL-3.0-or-later). Consulte LICENSE para conocer los términos completos.
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