ats-mcp

ats-mcp

Test automation across web, mobile, desktop, API, and SAP GUI via ActionTestScript. 30 tools covering the Playwright MCP surface plus native multi-platform reach.

Category
访问服务器

README

ats-mcp

An MCP server that lets an LLM drive ActionTestScript test sessions — web, mobile, desktop, and API — through ats-core's REPL.

Use it with Claude Code, Claude Desktop, Cursor, or any MCP-capable client to have the assistant actually interact with a system under test: launch channels, click elements, capture screenshots, inspect the DOM or the mobile view hierarchy, run ATS scripts — all as tool calls.

Two distributions are available, both wired to the same set of tools:

Install Best for
npm npx -y ats-mcp Node-friendly devs, the broader MCP community
JAR Download ats-mcp-X.Y.Z.jar from Releases Users who already have Java but no Node

How it works

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

On first use, the launcher provisions everything ATS needs under ~/.actiontestscript/:

  • libs — downloaded from https://actiontestscript.org/releases/ats-libs/<version>.zip if ~/.actiontestscript/libs/ is missing.
  • system driver (for desktop-app automation) — latest version pulled from https://actiontestscript.org/releases/ats-drivers/<os>/system/, upgraded automatically when a newer one is published.
  • browser drivers — fetched on-demand by ats-core itself on the first start_channel per browser/version.

No manual install step — npx -y ats-mcp or java -jar ats-mcp.jar is enough to go from zero to web/desktop/api automation.

Prerequisites

  • Java 17+ (always required — ats-core is JVM)
  • Node 18+ (only if you use the npm distribution)

Configure your MCP client

Claude Code

Add a .mcp.json at the project root:

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

Or, with the JAR:

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

Claude Desktop

Same shape, in claude_desktop_config.json.

Environment variables

Name Purpose Default
ATS_VERSION Version of ats-automated-testing to bootstrap. 3.6.6
ATS_HOME Where ATS libs and drivers live. ~/.actiontestscript
JAVA_BIN Path to the java executable. java on PATH

Tools exposed

30 tools, grouped by purpose:

Session / channels

Tool What it does
start_channel Open a web / mobile / desktop / api / SAP channel
stop_channel Close a channel
switch_channel Make a channel active

Navigation (web)

Tool What it does
goto_url Navigate to a URL
navigate_back Browser history back
navigate_forward Browser history forward
refresh Reload the current page

Interaction

Tool What it does
click Mouse-click on an element
hover Mouse-over an element
send_keys Type text into an element
press_key Press a special key (ENTER, TAB, arrows, F-keys…)
scroll Scroll an element by a signed pixel offset
drag / drop Two-step drag-and-drop on source → target
select_option Select a <select> option by text/value/index
file_upload Upload a local file to a file-input
handle_dialog Accept/dismiss/default a JS alert/confirm/prompt

Inspection

Tool What it does
screenshot Capture a PNG of the current state
capture_tree Dump the DOM / view hierarchy
find_elements Enumerate elements matching a CSS selector (web) or SAP tag
evaluate_js Run JavaScript in the page and return its value
console_logs JS console messages captured on the active web channel
network_list HTTP requests captured (with index for network_detail)
network_detail Full request/response for one exchange
network_cookies Cookies on the active web channel

Window / tabs

Tool What it does
window_resize Resize (and optionally move) the window
window_switch Switch tabs by index / name / URL substring
window_new_tab Open a new tab, optionally at a URL
window_close Close the current tab/window

Escape hatch

Tool What it does
run_ats_block Execute a sequence of raw ATS action lines

Positioning vs Playwright MCP

ats-mcp covers the same interaction surface as @playwright/mcp for the web, plus three things Playwright doesn't do:

  • Multi-platform — web, mobile (Android/iOS physical, simulators, emulators, Genymotion Cloud), desktop apps (via the ATS system driver), REST/SOAP APIs, and SAP GUI.
  • Implicit wait built-in — element lookups retry with backoff, so the LLM doesn't need to stitch wait_for calls around every action.
  • Raw escape hatchrun_ats_block exposes the full ATS action vocabulary when a purpose-built tool isn't enough.

Repo layout

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

Both implementations target the same protocol surface and share the same tool definitions.

License

Apache-2.0 — same as ats-core.

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选