Token导航 LogoToken导航TokenDH.com
Qontinui MCP Server logo
AI代理stdio官方级别未说明来源级核验

Qontinui MCP Server

MCP Server

Qontinui MCP是一个轻量级MCP服务器,为Qontinui Runner提供AI驱动的视觉自动化功能,支持工作流执行、事件流监控和权限控制。

工具数

34

提示词数

0

GitHub Stars

0

资源数

0
Python权限控制AI代理

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

qontinui

提供方

qontinui

最后核验

2026/5/17 20:22

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

pip install qontinui-mcp

详细介绍

昆蒂努伊mcp

轻量级MCP服务器 Qontinui跑者 -实现人工智能驱动的视觉自动化。

安装

pip install qontinui-mcp

快速开始

  1. 启动Qontinui Runner (桌面应用程序)
  1. 配置您的AI客户端 (克劳德桌面、克劳德代码、光标等)

添加到MCP配置中:

{
  "mcpServers": {
    "qontinui": {
      "command": "qontinui-mcp",
      "args": []
    }
  }
}
  1. 通过AI运行工作流

AI现在可以:

  • 加载工作流配置文件
  • 运行可视化自动化工作流
  • 监控执行状态
  • 控制要使用的监视器

配置

环境变量:

变量描述默认值
QONTINUI_RUNNER_HOST运行程序主机地址自动检测到(WSL感知)
QONTINUI_RUNNER_PORT运行器HTTP端口9876
QONTINUI_RESULTS_DIR自动化结果目录.automation-results
QONTINUI_DEV_LOGS_DIR开发日志目录.dev-logs

特性

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提示

常见自动化任务的参数化提示模板。提示来自运行器的聚合上下文,以提供结构化的调试、分析和验证工作流。

提示描述参数
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服务器缓存工具,并在以下情况下使缓存无效:

  • 运行者的工具版本更改(加载配置,添加/删除测试)
  • 缓存时间超过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资源

通过URI方案进行只读数据访问,以访问跑步者数据。

URI方案: qontinui://{type}/{id}

资源类型:

URI模式描述MIME类型
qontinui://config/current当前加载的工作流配置application/json
qontinui://logs/{type}JSONL日志文件(通用、动作、图像识别、剧作家)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_statusREAD_ONLY获取跑步者状态
list_monitorsREAD_ONLY列出可用监视器
load_configMODIFY加载工作流配置文件
ensure_config_loadedMODIFY加载配置(如果尚未加载)
get_loaded_configREAD_ONLY获取加载的配置信息
run_workflowEXECUTE按名称运行工作流
stop_execution危险停止当前执行

任务管理工具

工具权限描述
get_task_runsREAD_ONLY获取所有任务运行
get_task_runREAD_ONLY获取特定任务运行详细信息
get_task_run_eventsREAD_ONLY获取任务运行的事件
get_task_run_screenshotsREAD_ONLY获取任务运行的屏幕截图
get_task_run_playwright_resultsREAD_ONLY获取任务运行的剧作家结果
migrate_task_run_logsEXECUTE将JSONL日志迁移到SQLite

自动化运行工具

工具权限描述
get_automation_runsREAD_ONLY获取最近的自动化运行
get_automation_runREAD_ONLY获取特定的自动化运行详细信息

测试管理工具

工具权限描述
list_testsREAD_ONLY列出所有验证测试
get_testREAD_ONLY按ID获取测试
execute_testEXECUTE执行验证测试
list_test_resultsREAD_ONLY列出测试结果
get_test_historyREAD_ONLY获取测试历史摘要
create_testMODIFY创建新的验证测试
update_testMODIFY更新现有测试
delete_testMODIFY删除验证测试

测试类型:

  • playwright_cdp -使用Playwright的浏览器DOM断言
  • qontinui_vision -使用图像识别进行视觉验证
  • python_script -自定义Python验证逻辑
  • repository_test -运行pytest、Jest或其他测试框架

日志工具

工具权限描述
list_screenshotsREAD_ONLY列出可用屏幕截图
read_runner_logsREAD_ONLY读取运行程序JSONL日志文件

日志类型:

  • general -一般执行者事件
  • actions -工作流动作/树事件
  • image-recognition -带有匹配细节的图像识别结果
  • playwright -剧作家测试执行结果

DOM捕获工具

工具权限描述
list_dom_capturesREAD_ONLY列出DOM捕获
get_dom_captureREAD_ONLY获取DOM捕获元数据
get_dom_capture_htmlREAD_ONLY获取DOM捕获HTML内容

AWAS(人工智能网络行动标准)工具

用于与支持AWAS标准的网站进行交互的工具。

工具权限描述
awas_discoverEXECUTE发现网站的AWAS清单
awas_check_supportREAD_ONLY检查网站是否支持AWAS
awas_list_actionsREAD_ONLY列出可用的AWAS操作
awas_executeEXECUTE执行AWAS操作

高级工具

工具权限描述
execute_pythonEXECUTE执行内联Python代码
spawn_sub_agentEXECUTE生成具有特定任务的子代理

示例用法

基本工作流执行

# 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协议公开跑步者功能
  2. 为工具调用提供权限控制
  3. 缓存工具定义以提高性能
  4. 聚合结构化提示的上下文
  5. 通过SSE流式传输事件以进行实时监控

许可证

根据GNU Affero通用公共许可证v3.0或更高版本(AGPL-3.0或更高)授权。看 许可证 完整条款。

目录标签

目录标签

Python权限控制AI代理视觉自动化本地部署工作流执行AI驱动事件监控

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

session

部署方式(deploymentType,部署类型)

local-only

工具数量(toolCount,工具数)

34

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiosessionlocal-only

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP