Qontinui MCP Server
qontinui-mcp
Qontinui Runner를 위한 경량 MCP 서버 - AI 기반 시각적 자동화를 지원합니다.
설치
pip install qontinui-mcpRelated MCP server: RPA MCP Server
빠른 시작
Qontinui Runner 시작 (데스크톱 애플리케이션)
AI 클라이언트 구성 (Claude Desktop, Claude Code, Cursor 등)
MCP 구성에 추가:
{
"mcpServers": {
"qontinui": {
"command": "qontinui-mcp",
"args": []
}
}
}AI를 통한 워크플로우 실행
이제 AI가 다음을 수행할 수 있습니다:
워크플로우 구성 파일 로드
시각적 자동화 워크플로우 실행
실행 상태 모니터링
사용할 모니터 제어
구성
환경 변수:
변수 | 설명 | 기본값 |
| 러너 호스트 주소 | 자동 감지 (WSL 인식) |
| 러너 HTTP 포트 |
|
| 자동화 결과 디렉토리 |
|
| 개발 로그 디렉토리 |
|
기능
영역 A: SSE 이벤트 스트리밍
워크플로우 실행 모니터링을 위한 서버 전송 이벤트(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 프롬프트
일반적인 자동화 작업을 위한 매개변수화된 프롬프트 템플릿. 프롬프트는 러너로부터 컨텍스트를 집계하여 구조화된 디버깅, 분석 및 검증 워크플로우를 제공합니다.
프롬프트 | 설명 | 인수 |
| 구조화된 디버깅 접근 방식으로 테스트 실패 분석 |
|
| UI 검증을 위한 스크린샷 시각적 분석 |
|
| 실패한 Playwright 테스트를 수정하기 위한 구조화된 워크플로우 |
|
| 현재 GUI 상태가 예상 워크플로우 상태와 일치하는지 확인 |
|
| UI 동작에 대한 검증 테스트 생성 |
|
| 자동화 실행 결과 검토 및 문제 식별 |
|
| 템플릿 매칭 및 이미지 인식 문제 디버깅 |
|
| 실행 진행 상황을 포함한 작업 상태 요약 |
|
| 검증 기준이 실패한 이유 분석 |
|
| 기능에 대한 검증 계획 생성 |
|
영역 C: 도구 캐싱
MCP 도구 목록 요청을 최적화하기 위한 버전 기반 도구 캐싱.
엔드포인트: /tool-version
응답:
{
"version": "abc123...",
"tool_count": 35,
"test_count": 12
}MCP 서버는 다음과 같은 경우 도구를 캐시하고 캐시를 무효화합니다:
러너의 도구 버전이 변경됨 (구성 로드, 테스트 추가/제거)
캐시가 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 스킴을 통한 읽기 전용 데이터 액세스.
URI 스킴: qontinui://{type}/{id}
리소스 유형:
URI 패턴 | 설명 | MIME 유형 |
| 현재 로드된 워크플로우 구성 |
|
| JSONL 로그 파일 (일반, 작업, 이미지 인식, Playwright) |
|
| 스크린샷 메타데이터 및 파일 경로 |
|
| 검증 테스트 정의 |
|
| DOM 캡처 HTML 콘텐츠 |
|
| 작업 실행 세부 정보 |
|
영역 G: 인라인 Python 실행
uvx를 통한 선택적 종속성 격리로 임의의 Python 코드 실행.
도구: 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 | 러너 상태 가져오기 |
| 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- Playwright를 사용한 브라우저 DOM 어설션qontinui_vision- 이미지 인식을 사용한 시각적 검증python_script- 사용자 지정 Python 검증 로직repository_test- pytest, Jest 또는 기타 테스트 프레임워크 실행
로그 도구
도구 | 권한 | 설명 |
| READ_ONLY | 사용 가능한 스크린샷 목록 |
| READ_ONLY | 러너 JSONL 로그 파일 읽기 |
로그 유형:
general- 일반 실행기 이벤트actions- 워크플로우 작업/트리 이벤트image-recognition- 일치 세부 정보가 포함된 이미지 인식 결과playwright- Playwright 테스트 실행 결과
DOM 캡처 도구
도구 | 권한 | 설명 |
| READ_ONLY | DOM 캡처 목록 |
| READ_ONLY | DOM 캡처 메타데이터 가져오기 |
| READ_ONLY | DOM 캡처 HTML 콘텐츠 가져오기 |
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 서버는 다음을 수행하는 얇은 래퍼입니다:
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