Skip to main content
Glama

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

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.

Related MCP server: browser-mcp-server

Prerequisites

  • Java 17+ (always required — ats-core is JVM). Install from Adoptium Temurin or your package manager.

  • Node 18+ (only if you use the npm distribution). Install from nodejs.org or your package manager.

No Maven required — both distributions ship pre-built. Maven is only needed to build the JAR from source (see java/).

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.

F
license - not found
-
quality - not tested
D
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

View all related MCP servers

Related MCP Connectors

  • 34 production API tools over one hosted MCP endpoint.

  • Hosted MCP with 91 agent tools: X, domains, SEO, Maps, Trends, Search, YouTube, TikTok, and more.

  • Screenshot, diff, audit and sitemap-capture any web page — 5 MCP tools for AI agents.

View all MCP Connectors

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