Skip to main content
Glama

ats-mcp

一个 MCP 服务器,允许 LLM 通过 ats-core 的 REPL 驱动 ActionTestScript 测试会话(涵盖 Web、移动端、桌面端和 API)。

将其与 Claude Code、Claude Desktop、Cursor 或任何支持 MCP 的客户端配合使用,可以让助手真正与被测系统进行交互:启动通道、点击元素、截屏、检查 DOM 或移动端视图层级、运行 ATS 脚本——所有这些都可以作为工具调用来完成。

提供两种分发版本,两者都连接到同一套工具

安装

适用场景

npm

npx -y ats-mcp

Node 开发者,更广泛的 MCP 社区

JAR

Releases 下载 ats-mcp-X.Y.Z.jar

已有 Java 环境但没有 Node 的用户

工作原理

MCP client (Claude Code / Desktop / …)
         │
         ▼
   ats-mcp launcher  (Node OR Java — see /node and /java in this repo)
         │
   spawns / loads
         │
         ▼
  AtsReplServer (ats-core)
         │
  ┌──────┼──────┬───────┐
  ▼      ▼      ▼       ▼
 web   mobile  desktop api

首次使用时,启动器会在 ~/.actiontestscript/ 下配置 ATS 所需的一切:

  • libs — 如果 ~/.actiontestscript/libs/ 缺失,则从 https://actiontestscript.org/releases/ats-libs/<version>.zip 下载。

  • system driver(用于桌面应用自动化) — 从 https://actiontestscript.org/releases/ats-drivers/<os>/system/ 获取最新版本,并在发布新版本时自动升级。

  • browser drivers — 由 ats-core 本身在每个浏览器/版本首次调用 start_channel 时按需获取。

无需手动安装步骤 — npx -y ats-mcpjava -jar ats-mcp.jar 足以从零开始进行 Web/桌面/API 自动化。

先决条件

  • Java 17+(必须,因为 ats-core 是基于 JVM 的)

  • Node 18+(仅在使用 npm 分发版时需要)

配置您的 MCP 客户端

Claude Code

在项目根目录添加 .mcp.json

{
  "mcpServers": {
    "ats": {
      "command": "npx",
      "args": ["-y", "ats-mcp@latest"]
    }
  }
}

或者,使用 JAR:

{
  "mcpServers": {
    "ats": {
      "command": "java",
      "args": ["-jar", "/path/to/ats-mcp-0.4.0.jar"]
    }
  }
}

Claude Desktop

配置方式相同,在 claude_desktop_config.json 中设置。

环境变量

名称

用途

默认值

ATS_VERSION

用于引导的 ats-automated-testing 版本。

3.6.6

ATS_HOME

ATS 库和驱动程序的存放位置。

~/.actiontestscript

JAVA_BIN

java 可执行文件的路径。

PATH 中的 java

暴露的工具

30 个工具,按用途分组:

会话 / 通道

工具

功能

start_channel

打开 Web / 移动端 / 桌面端 / API / SAP 通道

stop_channel

关闭通道

switch_channel

激活通道

导航 (Web)

工具

功能

goto_url

导航到 URL

navigate_back

浏览器历史记录后退

navigate_forward

浏览器历史记录前进

refresh

重新加载当前页面

交互

工具

功能

click

鼠标点击元素

hover

鼠标悬停在元素上

send_keys

在元素中输入文本

press_key

按下特殊键(ENTER、TAB、箭头、F 键等)

scroll

按指定的像素偏移量滚动元素

drag / drop

源 → 目标的双步拖放操作

select_option

通过文本/值/索引选择 <select> 选项

file_upload

将本地文件上传到文件输入框

handle_dialog

接受/关闭/默认处理 JS 警告/确认/提示框

检查

工具

功能

screenshot

捕获当前状态的 PNG 图片

capture_tree

转储 DOM / 视图层级

find_elements

枚举匹配 CSS 选择器(Web)或 SAP 标签的元素

evaluate_js

在页面中运行 JavaScript 并返回其值

console_logs

在活动 Web 通道上捕获的 JS 控制台消息

network_list

捕获的 HTTP 请求(包含用于 network_detail 的索引)

network_detail

一次交换的完整请求/响应详情

network_cookies

活动 Web 通道上的 Cookie

窗口 / 标签页

工具

功能

window_resize

调整窗口大小(并可选择移动窗口)

window_switch

通过索引 / 名称 / URL 子字符串切换标签页

window_new_tab

打开新标签页,可选择指定 URL

window_close

关闭当前标签页/窗口

逃生舱

工具

功能

run_ats_block

执行一系列原始 ATS 操作行

与 Playwright MCP 的定位对比

ats-mcp 涵盖了与 @playwright/mcp 相同的 Web 交互界面,此外还具备 Playwright 不具备的三项功能:

  • 多平台 — Web、移动端(Android/iOS 物理设备、模拟器、仿真器、Genymotion Cloud)、桌面应用(通过 ATS 系统驱动)、REST/SOAP API 和 SAP GUI。

  • 内置隐式等待 — 元素查找会自动重试并退避,因此 LLM 不需要为每个操作手动添加 wait_for 调用。

  • 原始逃生舱 — 当专用工具不足以满足需求时,run_ats_block 提供了完整的 ATS 操作词汇表。

仓库布局

ats-mcp/
├── node/      — TypeScript implementation (published to npm)
├── java/      — Maven implementation (released as a fat JAR)
├── README.md
└── .gitlab-ci.yml

两种实现都针对相同的协议接口,并共享相同的工具定义。

许可证

Apache-2.0 — 与 ats-core 相同。

-
security - not tested
F
license - not found
-
quality - not tested

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/actiontestscript/ats-mcp'

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