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 (package)

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-mcp 或 java -jar ats-mcp.jar 即可直接开始 Web/桌面/API 自动化。

Related MCP server: InSite

前置要求

  • Java 17+(必须 — ats-core 基于 JVM)。请从 Adoptium Temurin 或您的包管理器安装。

  • Node 18+(仅在使用 npm 分发版时需要)。请从 nodejs.org 或您的包管理器安装。

无需 Maven — 两个分发版均已预构建。仅在需要从源码构建 JAR 时才需要 Maven(参见 java/)。

配置您的 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

关闭当前标签页/窗口

逃生舱 (Escape hatch)

工具

功能

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 相同。

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers