Skip to main content
Glama
qontinui
by qontinui

qontinui-mcp

Qontinui Runner 用の軽量MCPサーバー - AI駆動の視覚的自動化を可能にします。

インストール

pip install qontinui-mcp

Related MCP server: RPA MCP Server

クイックスタート

  1. Qontinui Runnerを起動する (デスクトップアプリケーション)

  2. AIクライアントを設定する (Claude Desktop, Claude Code, Cursorなど)

MCP設定に追加します:

{
  "mcpServers": {
    "qontinui": {
      "command": "qontinui-mcp",
      "args": []
    }
  }
}
  1. AI経由でワークフローを実行する

AIは以下のことが可能になります:

  • ワークフロー設定ファイルの読み込み

  • 視覚的自動化ワークフローの実行

  • 実行状況の監視

  • 使用するモニターの制御

設定

環境変数:

変数

説明

デフォルト

QONTINUI_RUNNER_HOST

Runnerホストアドレス

自動検出 (WSL対応)

QONTINUI_RUNNER_PORT

Runner HTTPポート

9876

QONTINUI_RESULTS_DIR

自動化結果用ディレクトリ

.automation-results

QONTINUI_DEV_LOGS_DIR

開発ログ用ディレクトリ

.dev-logs

機能

エリア 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からのコンテキストを集約し、構造化されたデバッグ、分析、検証ワークフローを提供します。

プロンプト

説明

引数

debug_test_failure

構造化されたデバッグアプローチでテスト失敗を分析

test_id (必須), include_screenshots

analyze_screenshot

UI検証のためのスクリーンショットの視覚的分析

screenshot_id (必須), focus_area

fix_playwright_failure

失敗したPlaywrightテストを修正するための構造化ワークフロー

spec_name (必須), error_message

verify_workflow_state

現在のGUI状態が期待されるワークフロー状態と一致するか検証

state_name (必須), workflow_name

create_verification_test

UI動作の検証テストを生成

behavior_description (必須), test_type

analyze_automation_run

自動化実行結果をレビューし、問題を特定

run_id, focus_on_failures

debug_image_recognition

テンプレートマッチングと画像認識の問題をデバッグ

template_name, last_n_attempts

summarize_task_progress

実行進捗を含むタスク状況の要約

task_run_id

analyze_verification_failure

検証基準が失敗した理由を分析

task_id (必須), criterion_id

create_verification_plan

機能の検証計画を生成

feature_description (必須), strategy

エリア C: ツールキャッシング

MCPツールリストのリクエストを最適化するためのバージョンベースのツールキャッシング。

エンドポイント: /tool-version

レスポンス:

{
  "version": "abc123...",
  "tool_count": 35,
  "test_count": 12
}

MCPサーバーはツールをキャッシュし、以下の場合にキャッシュを無効化します:

  • Runnerのツールバージョンが変更された場合 (設定の読み込み、テストの追加/削除)

  • キャッシュが5分以上経過した場合 (フォールバック)

エリア E: 権限システム

OpenCodeの権限システムに着想を得た、ツール呼び出しに対するきめ細かな権限制御。

権限レベル:

レベル

説明

ツール例

READ_ONLY

データの読み取りのみを行う安全な操作

get_executor_status, list_monitors, read_runner_logs

EXECUTE

ワークフローやテストを実行する操作

run_workflow, execute_test, execute_python

MODIFY

データを変更する操作

create_test, update_test, load_config

DANGEROUS

実行を中断させる可能性のある操作

stop_execution, restart_runner

設定:

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リソース

RunnerデータにアクセスするためのURIスキームによる読み取り専用データアクセス。

URIスキーム: qontinui://{type}/{id}

リソースタイプ:

URIパターン

説明

MIMEタイプ

qontinui://config/current

現在読み込まれているワークフロー設定

application/json

qontinui://logs/{type}

JSONLログファイル (general, actions, image-recognition, playwright)

application/jsonl

qontinui://screenshots/{id}

スクリーンショットのメタデータとファイルパス

image/png

qontinui://tests/{id}

検証テスト定義

application/json

qontinui://dom/{id}

DOMキャプチャHTMLコンテンツ

text/html

qontinui://task-runs/{id}

タスク実行詳細

application/json

エリア 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."
)

利用可能なツール

コアツール

ツール

権限

説明

get_executor_status

READ_ONLY

Runnerのステータスを取得

list_monitors

READ_ONLY

利用可能なモニターを一覧表示

load_config

MODIFY

ワークフロー設定ファイルを読み込む

ensure_config_loaded

MODIFY

読み込まれていない場合に設定を読み込む

get_loaded_config

READ_ONLY

読み込まれた設定情報を取得

run_workflow

EXECUTE

名前でワークフローを実行

stop_execution

DANGEROUS

現在の実行を停止

タスク管理ツール

ツール

権限

説明

get_task_runs

READ_ONLY

すべてのタスク実行を取得

get_task_run

READ_ONLY

特定のタスク実行詳細を取得

get_task_run_events

READ_ONLY

タスク実行のイベントを取得

get_task_run_screenshots

READ_ONLY

タスク実行のスクリーンショットを取得

get_task_run_playwright_results

READ_ONLY

タスク実行のPlaywright結果を取得

migrate_task_run_logs

EXECUTE

JSONLログをSQLiteに移行

自動化実行ツール

ツール

権限

説明

get_automation_runs

READ_ONLY

最近の自動化実行を取得

get_automation_run

READ_ONLY

特定の自動化実行詳細を取得

テスト管理ツール

ツール

権限

説明

list_tests

READ_ONLY

すべての検証テストを一覧表示

get_test

READ_ONLY

IDでテストを取得

execute_test

EXECUTE

検証テストを実行

list_test_results

READ_ONLY

テスト結果を一覧表示

get_test_history

READ_ONLY

テスト履歴の要約を取得

create_test

MODIFY

新しい検証テストを作成

update_test

MODIFY

既存のテストを更新

delete_test

MODIFY

検証テストを削除

テストタイプ:

  • playwright_cdp - Playwrightを使用したブラウザDOMアサーション

  • qontinui_vision - 画像認識を使用した視覚的検証

  • python_script - カスタムPython検証ロジック

  • repository_test - pytest、Jest、その他のテストフレームワークの実行

ログツール

ツール

権限

説明

list_screenshots

READ_ONLY

利用可能なスクリーンショットを一覧表示

read_runner_logs

READ_ONLY

RunnerのJSONLログファイルを読み込む

ログタイプ:

  • general - 一般的なエグゼキュータイベント

  • actions - ワークフローアクション/ツリーイベント

  • image-recognition - 一致詳細を含む画像認識結果

  • playwright - Playwrightテスト実行結果

DOMキャプチャツール

ツール

権限

説明

list_dom_captures

READ_ONLY

DOMキャプチャを一覧表示

get_dom_capture

READ_ONLY

DOMキャプチャメタデータを取得

get_dom_capture_html

READ_ONLY

DOMキャプチャHTMLコンテンツを取得

AWAS (AI Web Action Standard) ツール

AWAS標準をサポートするWebサイトと対話するためのツール。

ツール

権限

説明

awas_discover

EXECUTE

WebサイトのAWASマニフェストを検出

awas_check_support

READ_ONLY

WebサイトがAWASをサポートしているか確認

awas_list_actions

READ_ONLY

利用可能なAWASアクションを一覧表示

awas_execute

EXECUTE

AWASアクションを実行

高度なツール

ツール

権限

説明

execute_python

EXECUTE

インラインPythonコードを実行

spawn_sub_agent

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サーバーは、以下の機能を提供する薄いラッパーです:

  1. MCPプロトコルを介したRunner機能の公開

  2. ツール呼び出しに対する権限制御の提供

  3. パフォーマンスのためのツール定義のキャッシュ

  4. 構造化プロンプトのためのコンテキスト集約

  5. リアルタイム監視のためのSSE経由のイベントストリーミング

ライセンス

GNU Affero General Public License v3.0以降 (AGPL-3.0-or-later) の下でライセンスされています。完全な条項については LICENSE を参照してください。

Maintenance

ActivityMaintained
ResponsivenessNo issues

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

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables 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
  • F
    license
    Not graded
    quality
    Not graded
    maintenance
    Provides 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.
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables 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

Latest Blog Posts

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