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 现在可以:
加载工作流配置文件
运行视觉自动化工作流
监控执行状态
控制使用哪个显示器
配置
环境变量:
变量 | 描述 | 默认值 |
| Runner 主机地址 | 自动检测 (支持 WSL) |
| Runner 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 提示词
针对常见自动化任务的参数化提示词模板。提示词聚合来自 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) |
|
| 截图元数据和文件路径 |
|
| 验证测试定义 |
|
| 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 | 获取 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- 使用 Playwright 进行浏览器 DOM 断言qontinui_vision- 使用图像识别进行视觉验证python_script- 自定义 Python 验证逻辑repository_test- 运行 pytest、Jest 或其他测试框架
日志工具
工具 | 权限 | 描述 |
| READ_ONLY | 列出可用截图 |
| READ_ONLY | 读取 Runner 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 协议公开 Runner 功能
为工具调用提供权限控制
缓存工具定义以提高性能
为结构化提示词聚合上下文
通过 SSE 流式传输事件以进行实时监控
许可证
根据 GNU Affero 通用公共许可证 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