Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
CDP_URLNoURL of the Chrome DevTools Protocol endpoint. Defaults to http://127.0.0.1:9222 if not set.
MIMO_API_KEYNoOptional API key to enable visual degradation recognition tools.

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": true
}
logging
{}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
extensions
{
  "io.modelcontextprotocol/ui": {}
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
export_sessionA

结束录制会话,一键打包生成高质量的测试资产 (JSON) 及极致精美的 Shadcn 风格 Excel 用例。

analyze_current_pageA

分析当前 Chrome 页面。递归提取包括主文档和嵌套 iframe 内的所有可见交互元素并生成定位器。

start_recordingC

初始化一个新的自动化测试用例录制会话。

execute_and_recordB

利用 UI 组件适配器智能执行输入/点击等动作,并实时将最优高韧性语义定位步骤记录到用例中。

probe_dynamic_layersA

探查当前页面或指定 iframe 中交互后出现的可见弹窗、消息气泡、下拉/日期/级联悬浮层,并返回内部文本、属性、HTML 和可交互元素。detail=brief(默认, 剪枝输出)|full(完整 html/文本)。

click_interactA

统一点击工具:by=css/xpath 传 selector(支持 iframe_selector 链式穿透),by=role 传 role+name(get_by_role 语义定位,适合 Portal 弹层),by=coordinate 传 x/y(coordinate_space=top 为顶层视口坐标,可点 VTable 内部)。click_type=single/double;detail=brief/full 控制观察输出体积。visualize 三态(None=跟随配置,默认关)。返回 visual_effects + observation(dynamic_layers/new_layers 浮层弹窗消息 + summary 摘要 + focus 域隔离 + navigation 的 URL/iframe 跳转对比)。

fill_inputA

文本框输入工具:by=css/xpath + selector(支持 iframe_selector 穿透);value 为空=清空。input_method=type(逐字键盘,触发键盘事件)/fill(原生填充);clear_first 默认清空;press_enter 可回车;detail=brief/full。visualize 三态(None=跟随配置,默认关)。返回 visual_effects + observation(浮层/消息 + summary + focus + 跳转)。

capture_screenshotA

截取当前页面截图:用 CDP 采集(不会卡在字体加载上),保存到 evidence_assets/ 并返回内联 PNG 图片(支持图片的客户端可直接查看)。filename 可指定输出文件名(默认时间戳,自动补 .png);full_page=True 截整页(含滚动区外内容),False(默认) 只截当前视口。返回文本摘要(文件路径/尺寸/字节数)+ 图片内容。用于视觉证据、页面状态留档、UI 断言前的实况确认。

mimo_describe_imageA

仅当当前主模型为纯文本模型(如 DeepSeek-R1、DeepSeek-V3、GLM 纯文本版等)无法识别图片时使用的降级视觉识别工具。将本地图片路径、公网 URL 或对话框粘贴的图片发送给小米 MiMo-V2.5 模型解析并返回文本描述。若当前主模型本身具备原生多模态视觉能力(如 GPT-4o、Claude 3.5/3.7 Sonnet、Claude Opus 5、Gemini、Qwen2.5-VL、GLM-4V 等),绝对禁止调用本工具,必须由主模型直接看图。

switch_target_pageA

显式切换/重绑 MCP 操作目标标签页(按 URL 子串匹配)并锁定。默认机制:首次调用自动锁定一个标签页,后续操作固定作用于该页,不受新开/切换标签页影响;测试页被误关或需操作另一系统页面时用本工具重绑。返回新目标页 URL/标题。

execute_action_chainA

批量动作链:一次调用顺序执行 click/fill/select_option/press 多个动作,最后统一观察一次并返回 observation(浮层/消息/跳转)。actions 每项 {action, by, selector, iframe_selector, value, click_type, input_method, clear_first, press_enter, key, description};stop_on_error=True 遇错即停(默认),False 收集 failed 继续。用于减少 Agent 往返。降级容错:每项可选 fallbacks: [{完整动作参数}] 配置备用定位,主定位失败时按序尝试;执行器还会自动附加兜底变体(antd 常驻 dropdown 的 li[title=...] 选项自动补/去 >> nth=N 变体、role↔css 互退),全部失败才中断,错误信息含已尝试的定位方案数。生成脚本时为易歧义动作(下拉选项点击、弹层按钮)配置 fallbacks 可显著提高整链成功率。

wait_for_conditionA

等待页面条件成立(轮询),超时返回最后一次状态快照、不抛错。condition:element_visible(selector 可见,默认)/element_hidden(selector 不可见或不存在)/element_has_text(selector 可见文本包含 expected_text,exact=True 精确相等)/text_present(目标 iframe 或全部 frame 页面文本出现 expected_text)/url_contains(URL 包含 expected_text)。典型用法:提交表单后 wait_for_condition(condition='text_present', expected_text='新增成功', timeout_ms=10000) 等成功消息出现,再断言收尾。

vtable_refresh_instanceA

强制连接浏览器,在目标 iframe 中寻址并刷新最新 vtable 实例至 window._vtable。通常作为其他 VTable 操作的前置条件。

vtable_analyze_headersA

【场景图驱动】分析 vtable 列头与单元格内的交互图标组件:header_icons 为表头行真实渲染的交互图标(排序/筛选/下拉/冻结等,含顶层视口坐标可直接点击);cell_icons 为已渲染 body 单元格内的交互图标组件(行内按钮/链接/checkbox/开关等,columns 配置中不存在、只能从场景图获取);capabilities 汇总 sortable/filterable/interactiveCell。用于规划列头点击与行内交互。

vtable_scan_columnsB

【推荐】扫描 VTable 全部列(含多级表头):返回每列标题、body 行为分类(checkbox/button/文本等),以及【表头图标的顶层视口坐标 viewportX/viewportY】(经场景图 scenegraph 精确计算)。坐标可直接传给 click_interact(by="coordinate", coordinate_space="top") 点击,无需叠加偏移。用于规划列头点击(排序/筛选/下拉图标)与列交互。

vtable_get_row_countA

读取当前 VTable 表格有多少行纯数据。直接通过读取内部记录集合长度,不受屏幕滚动截断影响。

vtable_get_all_recordsA

一次性无损读取表格中所有的完整后台行记录对象 (JSON)。可用于整表断言和宏观数据检查,无需操作 DOM。

vtable_get_cell_textA

读取某个具体单元格的值。row_index 为纯数据行号 (0为第一行),col_field 支持字段名或列标题。visual=True(默认) 读取场景图渲染层文本,与界面显示完全一致——重要:VTable 排序/筛选发生在渲染层,数据源 records 不重排,排序状态下必须用渲染层才能读到界面真实顺序;visual=False 读取数据源 records 原始值(忽略排序/筛选)。渲染视口外的行需先滚动。

vtable_get_column_valuesA

按中文列标题读取该列所有单元格的值。titles 为列标题数组(如 ["商品名称","商品编码"]);raw=false 读取场景图渲染后的视觉文本(与界面显示一致),raw=true 读取原始字段值(如数字码/状态码)。返回每列值列表及缺失列。

vtable_get_cell_render_infoA

读取某个单元格的场景图渲染详情:视觉文本、文字颜色、单元格背景色、边框色、字体大小及文本/背景节点(detail="full" 时含全部节点)。col_field 支持列索引或字段名/列标题,row_index 为纯数据行号(0 为第一行)。用于断言单元格的展示样式(标签色、高亮等)。

vtable_get_cell_centerA

读取单元格中心的【顶层视口坐标】viewportX/viewportY(经场景图 globalAABBBounds 精确计算,含 iframe 与容器偏移),可直接作为 click_interact(by="coordinate", coordinate_space="top") 的点击坐标。col_field 支持列索引或字段名/列标题,row_index 为纯数据行号(0 为第一行)。

vtable_scroll_toA

滚动 VTable 到目标位置(等价于拖动横/纵向滚动条滑块,直接调用实例 API scrollToCol/scrollToRow/scrollToCell/setScrollLeft/setScrollTop,比真实鼠标拖拽滚动条更稳定)。四种用法按优先级:1) col_field+row_index 滚动到指定单元格;2) 仅 col_field 横向滚动到该列;3) 仅 row_index 纵向滚动到该行;4) scroll_left/scroll_top 直接设置滚动偏移。col_field 支持列索引(int)或字段名/列标题(str)。verify=True(默认) 滚动后自动校验目标是否已进入可视区,返回最新 scrollLeft/scrollTop 及单元格可见性。滚动到目标后应配合 vtable_get_cell_center 获取最新坐标再点击。

vtable_select_rowsA

勾选/取消勾选 VTable 表格中的行。VTable 是 canvas 渲染,DOM 中无复选框,本工具在内部一次性完成实例刷新、checkbox 列定位、目标行坐标计算(iframe 相对顶层偏移 + canvas 相对 iframe 偏移合成)并发送真实鼠标点击,返回勾选前后变化。row_indexes 为 0 起始的纯数据行索引列表;action 可选 check(确保勾选,默认,幂等)/uncheck(确保取消)/toggle(逐行切换)。点击后自动观察并返回 observation:dynamic_layers/new_layers(浮层与消息弹窗)、navigation.url_changed(tab 页跳转)、navigation.frames_changed(iframe 跳转)。

vtable_drag_columnA

【真实鼠标拖拽】把 vtable 的 source 列拖到 target 列的前方(before)/后方(after)。完全复刻人工操作:先点击源列头中部使整列选中(VTable 拖拽启动前提),再按下鼠标分步拖拽到落点列松开。不使用任何实例 API 改列位置,仅用实例内部 API 读坐标与顺序做定位和验证;落点列由 VTable 原生语义自动计算(向右拖→目标列后方,向左拖→目标列前方)。source/target 支持列索引或字段名/列标题。返回拖拽前后列顺序、验证结果及 dragHeaderMode 等诊断信息;VTable 未开启列头拖拽(dragHeaderMode)或列级 dragHeader=false 时给出明确报错。

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

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/hooplus1ce/qa-automation-mcp-plugin'

If you have feedback or need assistance with the MCP directory API, please join our Discord server