ats-mcp
ats-mcp
一个 MCP 服务器,允许 LLM 通过 ats-core 的 REPL 驱动 ActionTestScript 测试会话(涵盖 Web、移动端、桌面端和 API)。
将其与 Claude Code、Claude Desktop、Cursor 或任何支持 MCP 的客户端配合使用,可以让助手真正与被测系统进行交互:启动通道、点击元素、截屏、检查 DOM 或移动端视图层级、运行 ATS 脚本——所有这些都可以作为工具调用来完成。
提供两种分发版本,两者都连接到同一套工具:
安装 | 适用场景 | |
npm |
| Node 开发者,更广泛的 MCP 社区 |
JAR | 从 Releases 下载 | 已有 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 自动化。
先决条件
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 库和驱动程序的存放位置。 |
|
|
| PATH 中的 |
暴露的工具
30 个工具,按用途分组:
会话 / 通道
工具 | 功能 |
| 打开 Web / 移动端 / 桌面端 / API / SAP 通道 |
| 关闭通道 |
| 激活通道 |
导航 (Web)
工具 | 功能 |
| 导航到 URL |
| 浏览器历史记录后退 |
| 浏览器历史记录前进 |
| 重新加载当前页面 |
交互
工具 | 功能 |
| 鼠标点击元素 |
| 鼠标悬停在元素上 |
| 在元素中输入文本 |
| 按下特殊键(ENTER、TAB、箭头、F 键等) |
| 按指定的像素偏移量滚动元素 |
| 源 → 目标的双步拖放操作 |
| 通过文本/值/索引选择 |
| 将本地文件上传到文件输入框 |
| 接受/关闭/默认处理 JS 警告/确认/提示框 |
检查
工具 | 功能 |
| 捕获当前状态的 PNG 图片 |
| 转储 DOM / 视图层级 |
| 枚举匹配 CSS 选择器(Web)或 SAP 标签的元素 |
| 在页面中运行 JavaScript 并返回其值 |
| 在活动 Web 通道上捕获的 JS 控制台消息 |
| 捕获的 HTTP 请求(包含用于 |
| 一次交换的完整请求/响应详情 |
| 活动 Web 通道上的 Cookie |
窗口 / 标签页
工具 | 功能 |
| 调整窗口大小(并可选择移动窗口) |
| 通过索引 / 名称 / URL 子字符串切换标签页 |
| 打开新标签页,可选择指定 URL |
| 关闭当前标签页/窗口 |
逃生舱
工具 | 功能 |
| 执行一系列原始 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 相同。
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