ats-mcp
ats-mcp
LLM が ActionTestScript のテストセッション(Web、モバイル、デスクトップ、API)を ats-core の REPL を通じて実行できるようにする MCP サーバーです。
Claude Code、Claude Desktop、Cursor、または MCP 対応クライアントで使用することで、アシスタントがテスト対象のシステムと実際にやり取りできるようになります。チャネルの起動、要素のクリック、スクリーンショットのキャプチャ、DOM やモバイルビュー階層の検査、ATS スクリプトの実行などをすべてツール呼び出しとして行えます。
2 種類の配布形式が用意されており、どちらも同じツールセットに接続されています。
インストール | おすすめの用途 | |
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初回使用時、ランチャーは ATS が必要とするすべてを ~/.actiontestscript/ 配下にプロビジョニングします:
libs —
~/.actiontestscript/libs/が存在しない場合、https://actiontestscript.org/releases/ats-libs/<version>.zipからダウンロードされます。system driver (デスクトップアプリ自動化用) —
https://actiontestscript.org/releases/ats-drivers/<os>/system/から最新バージョンが取得され、新しいバージョンが公開されると自動的にアップグレードされます。browser drivers — ブラウザ/バージョンごとの最初の
start_channel時に、ats-core 自体がオンデマンドで取得します。
手動インストール手順は不要です。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 の alert/confirm/prompt を許可/拒否/デフォルト処理する |
検査
ツール | 説明 |
| 現在の状態の PNG をキャプチャする |
| DOM / ビュー階層をダンプする |
| CSS セレクター (Web) または SAP タグに一致する要素を列挙する |
| ページ内で JavaScript を実行し、その値を返す |
| アクティブな Web チャネルでキャプチャされた JS コンソールメッセージ |
| キャプチャされた HTTP リクエスト ( |
| 1 つの通信の完全なリクエスト/レスポンス |
| アクティブな Web チャネル上の Cookie |
ウィンドウ / タブ
ツール | 説明 |
| ウィンドウのサイズを変更(および移動)する |
| インデックス / 名前 / URL の部分一致でタブを切り替える |
| 新しいタブを開く(オプションで URL を指定) |
| 現在のタブ/ウィンドウを閉じる |
エスケープハッチ
ツール | 説明 |
| 生の ATS アクション行のシーケンスを実行する |
Playwright MCP との比較
ats-mcp は、Web に関しては @playwright/mcp と同じインタラクション範囲をカバーし、さらに Playwright にはない以下の 3 つの機能を提供します:
マルチプラットフォーム — 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