> For the complete documentation index, see [llms.txt](https://help.aximo.autify.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.aximo.autify.com/features-ja/cli/mcp-server.md).

# MCPサーバー

Aximo CLI の `aximo mcp` は stdio 経由の MCP（Model Context Protocol）サーバーを起動し、記録済みのセッションやテストケースを Claude Code、Claude Desktop、Cursor などの MCP 対応クライアントに公開します。

## 前提条件

1. CLI をインストールします。

   ```bash
   npm i -g @autifyhq/aximo-cli
   ```
2. API キーを設定します。API キーをまだ持っていない場合は、[APIキーの管理](/features-ja/settings/api-key-management.md) を参照して作成します。

   ```bash
   aximo configure
   ```

   または環境変数 `AXIMO_API_KEY` を設定します。認証情報は `aximo mcp` プロセス自身が読み取るため、クライアント側の設定ファイルにキーを書く必要はありません。
3. `aximo` コマンドが `PATH` 上にあることを確認します。クライアントがシェルの `PATH` を引き継がずに起動する場合は、`command` に絶対パスを指定します（`which aximo` で確認できます）。

## クライアント別の設定手順

利用するクライアントに応じて、次の手順で MCP サーバーを設定します。設定内容はクライアントごとにキー名や設定ファイルの場所が異なるだけで、ほぼ共通です。

### Claude Code

ターミナルで次のコマンドを実行します（設定ファイルの編集は不要です）。

```bash
claude mcp add aximo -- aximo mcp
```

`--scope project` を付けるとリポジトリにコミットする共有 `.mcp.json` に書き込み、`--scope user` を付けるとすべてのプロジェクトで使えるようになります（既定はカレントプロジェクトのみのローカルスコープ）。`claude mcp list` で登録を確認できます。

### Claude Desktop

`claude_desktop_config.json` を編集し（**設定** > **開発者** > **設定を編集**）、アプリを再起動します。

* macOS: `~/Library/Application Support/Claude/claude_desktop_config.json`
* Windows: `%APPDATA%\Claude\claude_desktop_config.json`

```json
{
  "mcpServers": {
    "aximo": { "command": "aximo", "args": ["mcp"] }
  }
}
```

### Cursor

`~/.cursor/mcp.json`（全プロジェクト共通）または `.cursor/mcp.json`（プロジェクト単位）に、Claude Desktop と同じ `mcpServers` 形式で追加します。**設定** > **MCP** でサーバーを有効にします。

### Windsurf

`~/.codeium/windsurf/mcp_config.json` に、同じ `mcpServers` 形式で追加します。または Cascade のプラグアイコンから **Configure MCP** を使います。

### VS Code（Copilot エージェントモード）

`.vscode/mcp.json`（ワークスペース単位）、または **MCP: Open User Configuration** コマンドで設定します。トップレベルのキーが `mcpServers` ではなく `servers` になる点に注意してください。

```json
{
  "servers": {
    "aximo": { "type": "stdio", "command": "aximo", "args": ["mcp"] }
  }
}
```

### その他のクライアント

stdio に対応する MCP クライアントであれば、`command: aximo`、`args: ["mcp"]` を指定することで利用できます。Codex CLI では `~/.codex/config.toml` の `[mcp_servers.aximo]` に `command = "aximo"` と `args = ["mcp"]` を設定します。

## 利用可能なツール

`aximo mcp` は 16 個のツールを公開します。読み取り専用が 10 個、テストケースやプランを作成・変更する書き込み系が 6 個です。

### 読み取り専用

| ツール                             | 内容                                                                                                                                                                                                                |
| ------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `aximo_list_projects`           | API キーが参照できるワークスペース（プロジェクト）を一覧表示します。                                                                                                                                                                              |
| `aximo_list_sessions`           | 記録済みセッションを一覧表示します。`projectId`、`caseId`、`status` で絞り込めます。                                                                                                                                                          |
| `aximo_get_session`             | 1 件のセッションのステータス、サマリー、件数、コストを取得します。                                                                                                                                                                                |
| `aximo_get_session_messages`    | セッションのツール呼び出しとアシスタントの発言をカーソルページネーションで取得します。                                                                                                                                                                       |
| `aximo_get_session_screenshots` | セッションのスクリーンショット（署名付き URL）をカーソルページネーションで取得します。                                                                                                                                                                     |
| `aximo_get_session_timeline`    | 推奨。ツール呼び出しとスクリーンショットを対応させた、時系列順のステップ一覧を取得します。                                                                                                                                                                     |
| `aximo_get_session_capture`     | CDP キャプチャのメタデータ（操作・遷移・ネットワーク・コンソール・例外・スナップショットのイベント一覧、ブラウザコンテキスト、ストレージ状態）を取得します。`snapshots[]` は既定でメタデータのみで、DOM/AX を含めるには `includeSnapshots: 'full'` を指定します。組織で CDP キャプチャが無効、またはセッション実行時にキャプチャがオフだった場合は 404 を返します。 |
| `aximo_get_session_snapshot`    | `aximo_get_session_capture` の `snapshots[]` に含まれる ID を指定し、DOM + アクセシビリティツリーのスナップショットを 1 件取得します。                                                                                                                   |
| `aximo_list_cases`              | ワークスペースに保存されているテストケースを一覧表示します。                                                                                                                                                                                    |
| `aximo_get_case`                | 保存済みテストケースのシナリオ全文とメタデータを取得します。                                                                                                                                                                                    |

### 書き込み

| ツール                           | 内容                                                                                     |
| ----------------------------- | -------------------------------------------------------------------------------------- |
| `aximo_create_case`           | ワークスペースにテストケースを作成します（API 実行が有効な状態で作成されるため、すぐにトリガーできます）。新しい `caseId` を返します。             |
| `aximo_delete_case`           | テストケースを完全に削除します。所属するプランからは除外されますが、過去の実行セッションは紐づけが外れた状態で残ります。                           |
| `aximo_save_session_as_case`  | 完了したセッションを再利用可能なテストケースとして保存し、両者を紐づけます。セッションが終了状態で、まだケースに紐づいていない必要があります。`caseId` を返します。 |
| `aximo_create_plan`           | 空のテストプランを作成します。新しい `planId` を返します。                                                     |
| `aximo_add_case_to_plan`      | プランにケースを追加します（プランと同じワークスペースのケースのみ）。                                                    |
| `aximo_remove_case_from_plan` | プランからケースを削除します（べき等）。                                                                   |

## Playwright エクスポート用プロンプト

セッションから Playwright の spec をエージェントに生成させたい場合、次のようなプロンプトを使います。

> Using the `aximo` MCP server, fetch `aximo_get_session_timeline` for session `<id>` and write a Playwright test that reproduces the same flow. Selector priority: `getByRole(role, {name})` → `getByLabel(label)` → `getByTestId(value)` → `getByText(text)` → CSS only as a last resort. Start with `page.goto` from the first navigation. Emit `page.route(...)` mocks only for first-party XHRs visible in the timeline.

timeline は、ツール名・入力値・スクリーンショットを伴う順序付きの操作をエージェントに渡します。より精度の高いセレクターが必要な場合は、CDP キャプチャがそのセッションで有効だったときに限り `aximo_get_session_capture`（個々の DOM/AX スナップショットには `aximo_get_session_snapshot`）も取得します。これには組織の CDP キャプチャ フィーチャーフラグが有効で、かつセッションがキャプチャ有効の状態で記録されている必要があり、満たさない場合は 404 を返します。

## 診断

* プロトコル以外の出力はすべて stderr に送られます。stdout は JSON-RPC 専用です。MCP クライアントのログに想定外の文字列が混ざる場合は、たいてい何かが stdout に書き込んでいます。
* API キーが未設定の場合、stderr に `aximo mcp: No API key configured. Run aximo configure ...` を出力し、終了コード 1 で終了します。

## スモークテスト（MCP クライアント不要）

```bash
env AXIMO_API_KEY=$AXIMO_API_KEY bash -c '
  printf "%s\n%s\n%s\n" \
    "{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"initialize\",\"params\":{\"protocolVersion\":\"2025-06-18\",\"capabilities\":{},\"clientInfo\":{\"name\":\"smoke\",\"version\":\"0\"}}}" \
    "{\"jsonrpc\":\"2.0\",\"method\":\"notifications/initialized\"}" \
    "{\"jsonrpc\":\"2.0\",\"id\":2,\"method\":\"tools/list\"}" \
  | aximo mcp
'
```

16 個すべてのツールを一覧した JSON-RPC レスポンスが返れば成功です。

## 参考情報

* [APIキーの管理](/features-ja/settings/api-key-management.md)
