MASのMCPサーバー

Android MCPサーバー:Claude Code、Cursor、CodexとあらゆるMCPクライアントに対応

AIクライアントにAndroid上の目と手を与える25のツール。見られるスクリーンショット、OCRとテンプレートマッチング、タップ、スワイプ、文字入力、マクロの実行、そして一文からマクロを作るエージェント。WindowsやMac上のBlueStacks、LDPlayer、MuMu、MEmuなどadb対応エミュレータ、PCにつないだスマホ、常時稼働のクラウドAndroid端末を、ひとつのリモートエンドポイントから操作できます。

MASのキーから発行したトークンでホスト版サーバーを、続いて無料のローカルコネクタをstdioサーバーとして追加します。

claude mcp add --transport http mas https://api.automationmacro.com/mcp --header "Authorization: Bearer $MAS_MCP_TOKEN"
claude mcp add mas-local -- python -m masagent mcp

概要

MASのAndroid MCPサーバーができること

MCPはAIクライアントが外部ツールを呼び出すためのプロトコルです。このサーバーはAndroid端末をそのツールにします。クライアントがスクリーンショットを求めれば見られる画像が返り、画面に何が書いてあるか尋ねれば信頼度と座標枠付きのOCR行が返り、テンプレートを送れば位置が返ります。タップ、スワイプ、文字入力、キー操作、アプリの起動と終了。ここまではどのAndroid MCPサーバーも行う部分で、エミュレータでもUSB接続のスマホでもクラウド端末でも同じように動きます。

MASのサーバーは、デバイスサーバーにはできない部分も担います。ライブラリのマクロを読んで実行し、MAS Agentにアプリの探索と完成したPythonマクロの生成を依頼し、エージェントがそのアプリについて学んだマップを公開します。さらに完全なSDKリファレンスをMCPリソースとして提供するので、クライアントは社内スタイルでマクロのコードを書けます。つまりデバイス層ではAndroid自動化のためのMCPサーバーであり、その上の層(マクロ、エージェント、マップ)ではモバイル自動化のMCPサーバーです。Android Studioのプラグインではなく、コーディングアシスタントでもありません。端末を動かします。

ホスト版サーバー

25のツールすべてを、あなたのクラウド端末で

リモートHTTPエンドポイントひとつ。クラウド端末をリースし、操作し、マクロをサーバー側で実行し、エージェントで新しいマクロを作成し、アプリマップを読む。インストールするものはなく、PCの電源を切っても構いません。

ローカルコネクタ、無料

13のデバイスツールと視覚ツールを、あなたのマシンで

自分で動かすstdioサーバーです。adbが見えるものなら何でも操作できます。WindowsやmacOS上のBlueStacks、LDPlayer、MuMu、MEmu、USBデバッグを有効にしたスマホ。画面、入力、OCR、テンプレートマッチング。アカウントは不要です。

エミュレータ

Androidエミュレータを操作:WindowsやMac上のBlueStacks、LDPlayer、MuMu、MEmu

ローカルコネクタは、すでに机の上にあるエミュレータのためのAndroidエミュレータMCPサーバーです。python -m masagent mcpで起動し、引数かMAS_DEVICE変数でデバイスを指定するか、adbが最初に列挙するデバイスを使わせます。必要なのはPATH上のadbだけで、外部と通信することもありません。多くの人が探しているMCP Androidエミュレータの構成はこれです。コマンドひとつ、adb、以上。MASアプリの接続ページが手順を案内します。

  • BlueStacks
  • LDPlayer
  • MuMu
  • MEmu
  • Windows
  • macOS

ゲームはアクセシビリティツリー方式のサーバーが破綻するケースです。読むべきツリーがありません。コネクタはピクセルから動くので、モデルは設定画面と同じようにゲーム画面も操作できます。

クラウド端末

クラウドAndroid端末、インストール不要

ホスト版サーバーは、MASがあなたのために動かす常時稼働の端末に届きます。lease_deviceが制御セッションを開き、すべてのデバイスツールが必要とするリースidを返します。auto_startを指定すると、停止中の端末を先に起動します。リースは呼び出しのたびに更新され、10分間アイドルで失効するので、忘れられたクライアントが端末を永久に占有することはありません。run_macroは端末上でサーバー側で実行し、author_macroはその上でMAS Agentを働かせます。どちらもPCの電源を切ったままで。

デバイスツールに呼び出しごとの課金はありません。アカウントが所有するクラウド端末(1台あたり月額$80、月間クレジット付与付き)で動きます。クラウド端末を見る

お手持ちのスマホ

机の上のスマホのためのAndroid ADB MCPサーバー

USBデバッグを有効にしてスマホをつなぐと、ローカルコネクタがエミュレータと並べて列挙します。画面、入力、視覚のすべてのツールがその上で動きます。モデルはエミュレータを操作するのと同じやり方で、いつものクライアントから、スマホに何もインストールせずに、MCP経由でAndroidスマホを操作できます。

視覚

モデルが見られるスクリーンショット、OCR、テンプレートマッチング

  • screenshotは画面を画像コンテンツとして返すので、モデルはツリーから推測する代わりに直接見ます。ローカルコネクタは長辺1280 pxに縮小し、倍率を報告します。
  • read_textは画面全体または一領域にOCRをかけ、各行を信頼度と座標枠付きで返すので、「Claimという単語をタップ」は願望ではなく座標になります。
  • find_imageは送られたテンプレートをOpenCVで照合し、しきい値はあなたが制御でき、スコアとタップすべき中心を返します。

ツール

25のツールすべて

すべてのツールを名前とパラメータ付きで。「ローカルとホスト版」のツールは両方で使え、それ以外はクラウド端末が必要です。

Device control

Pick a device and drive it: the same taps, swipes and keys a person would use.

  • list_devices ローカルとホスト版
    List the devices your client can reach, with their state. On the hosted server that is your cloud devices; on the local connector, whatever adb can see.
  • lease_device (device_id, auto_start) ホスト版
    Open a control session on one of your cloud devices and get the lease_id every device tool needs. Can boot a stopped device first. Leases expire after ten idle minutes and renew on every call.
  • release_device (lease_id) ホスト版
    End the control session. The device keeps running.
  • tap (x, y) ローカルとホスト版
    Tap the screen at device coordinates.
  • swipe (x1, y1, x2, y2, duration_ms) ローカルとホスト版
    Swipe between two points for scrolling and drags, with a chosen duration.
  • type_text (text) ローカルとホスト版
    Type text into the focused input field.
  • press_key (key) ローカルとホスト版
    Press BACK, HOME, ENTER, TAB, DEL or any KEYCODE_ name.
  • open_app (package) ローカルとホスト版
    Launch an app by package name.
  • close_app (package) ローカルとホスト版
    Force-stop an app by package name.
  • current_app ローカルとホスト版
    Report the package in the foreground.
  • screen_size ローカルとホスト版
    Return the screen size in pixels, the coordinate space for tap and swipe.
  • wait (ms) ローカルとホスト版
    Pause for animations and loading screens, up to ten seconds per call.

Vision

Let the model see the screen and locate things on it without guessing coordinates.

  • screenshot (lease_id) ローカルとホスト版
    Capture the screen and return it as an image the model can look at.
  • read_text (region) ローカルとホスト版
    OCR the whole screen or one region into text lines, each with a confidence and a bounding box.
  • find_image (template_base64, threshold) ローカルとホスト版
    Locate a template image on screen with OpenCV matching and return the match score and tap coordinates.

Macros and runs

Your macro library, readable and runnable from the client. Runs execute server-side on a cloud device.

  • list_macros (page, page_size) ホスト版
    List your saved macros with name, id and type, paged.
  • get_macro_code (macro_id, file) ホスト版
    Read a macro's source: the entry script by default, plus the file listing, or any file you name.
  • run_macro (macro_id, device_id, args) ホスト版
    Start a saved macro on a cloud device, server-side, with optional argument overrides. Returns a run_id.
  • get_run (run_id) ホスト版
    The state of a run, from launching through running to finished or failed, with its message.
  • stop_run (run_id) ホスト版
    Stop a running macro.

Agent authoring

Hand a goal to MAS Agent and get a finished macro back, from any client.

  • author_macro (prompt, device_id, model) ホスト版
    Ask MAS Agent to build a new macro on a cloud device from a plain-language goal. Runs for several minutes and spends AI credits. Returns a session_id.
  • get_agent_session (session_id, after_seq) ホスト版
    Progress of an authoring session: state, summary, the macro id once it exists, and the transcript events after your cursor, including any question the agent asked.
  • answer_agent_session (session_id, qid, answers) ホスト版
    Answer the agent's pending question so it can continue.
  • stop_agent_session (session_id) ホスト版
    Stop a session early. Work done so far is saved.

App maps

What the agent has learned about an app, readable by your client.

  • get_map (package, profile) ホスト版
    The learned menu map of an app: its screens and the proven routes between them.

リソース

クライアントが会話から離れずにマクロのコードを書けるよう、サーバーが公開する文書。

  • mas://docs/sdk-reference The full mas SDK reference, so an external agent can write macro code in house style.
  • mas://docs/house-library The house library of helpers the agent and the studio use.

セットアップ

1分で追加

ホスト版サーバーはOAuthクライアントクレデンシャルを使います。アプリのAPIキーでキーを作成し、スコープを選び、1時間有効なアクセストークンと交換します。そのトークンをbearerヘッダーとして送ります。ローカルコネクタにキーは不要です。

curl -s -X POST https://api.automationmacro.com/api/mcp/oauth/token -d grant_type=client_credentials -d client_secret=$MAS_API_KEY

Claude Code

上のトークンでホスト版サーバーを、またはstdioコマンドとしてローカルコネクタを:

claude mcp add --transport http mas https://api.automationmacro.com/mcp --header "Authorization: Bearer $MAS_MCP_TOKEN"
claude mcp add mas-local -- python -m masagent mcp

Cursor

.cursor/mcp.jsonに、ヘッダー付きのリモートHTTPエントリを:

{
  "mcpServers": {
    "mas": {
      "url": "https://api.automationmacro.com/mcp",
      "headers": { "Authorization": "Bearer <your token>" }
    }
  }
}

Codex CLI

~/.codex/config.tomlに、トークンは環境変数で:

[mcp_servers.mas]
url = "https://api.automationmacro.com/mcp"
bearer_token_env_var = "MAS_MCP_TOKEN"

Hermes、OpenCode、Gemini CLIなど

ヘッダー付きのリモートHTTPサーバーを受け付けるか、stdioコマンドを起動できるあらゆるクライアント。Claude Desktopとclaude.aiのコネクタは対話的なサインインを想定しているため、ヘッダーを付けるローカルブリッジを使ってください。

{
  "mcpServers": {
    "mas": { "type": "http", "url": "https://api.automationmacro.com/mcp", "headers": { "Authorization": "Bearer <your token>" } },
    "mas-local": { "command": "python", "args": ["-m", "masagent", "mcp"] }
  }
}

確認:クライアントにデバイスの一覧を、次にスクリーンショットを頼んでください。エンドポイントはhttps://api.automationmacro.com/mcp、プロトコルは2025-06-18、ディスカバリ文書は/.well-knownの下にあります。

ツールとしてのエージェント

author_macro:AIの探索から完成したPythonマクロへ

ほとんどのAndroid MCPサーバーはデバイスで止まります。これはエージェントを渡します。author_macroは普通の言葉の目標とクラウド端末を受け取り、MAS Agentのセッションを開始します。エージェントはアプリを探索し、必要なテンプレート画像と文字領域を実際の画面から取得し、決定論的なPythonマクロを生成してリプレイで検証します。get_agent_sessionはカーソル付きの記録と、エージェントが尋ねた質問を返し、answer_agent_sessionがそれに答えます。完成したマクロはセッション内のidとともにライブラリに入り、run_macroですぐ使え、以後の実行はすべてAIクレジット0です。MAS Agentを見る

QA

Androidアプリのテストと QAワークフロー

クライアントをエミュレータやクラウド端末上のテストビルドに向け、taptype_textpress_keyでフローを操作し、read_textfind_imageで各画面を検証します。author_macroで一度フローをたどれば、スケジュールできる繰り返し可能なチェックになります。ユーザーと同じように画面を通じてアプリをテストします。ユニットテストのフレームワークではありません。

セキュリティ

リモートサーバー、HTTPトランスポート、スコープ付きキー、外部と通信しないコネクタ

ホスト版サーバーは、ひとつのエンドポイント上のHTTPS経由のステートレスなJSON-RPCです。キーはアプリで作成され、一度だけ表示され、有効期限を設定でき、クリックひとつで失効できます。キーから発行されるトークンは1時間有効です。各キーはあなたが付与したスコープだけを持ちます:

  • devices:control lease a cloud device, see its screen, tap, type and manage apps
  • macros:run list and read macros, start, check and stop runs
  • macros:author start, follow, answer and stop an agent authoring session
  • maps:read read the learned map of an app

ローカルコネクタは自身ではネットワーク通信を行いません。あなたのマシン上のadbとクライアントとだけやり取りします。

Android MCPサーバーのFAQ

Android MCPサーバーとは何ですか?

MCP(Model Context Protocol)は、Claude Code、Cursor、CodexなどのAIクライアントが外部ツールを呼び出す仕組みです。Android MCPサーバーはAndroid端末をツールとして公開します。スクリーンショットを撮る、画面の文字を読む、タップ、スワイプ、文字入力、アプリを開く。MASのサーバーは25のツールを公開し、デバイスサーバーだけではできないことを加えます。保存済みマクロの実行、MAS Agentへのマクロ作成の依頼、アプリについて学んだマップの読み取りです。

Claude CodeをAndroidエミュレータにつなぐにはどうすればいいですか?

自分のエミュレータなら、無料のローカルコネクタ(python -m masagent mcp)を起動し、Claude Codeにstdioサーバーとして追加してください。adbが見えるデバイスなら何でも操作できます。クラウド端末なら、アプリでキーを作成してトークンと交換し、claude mcp add --transport httpとbearerヘッダーでホスト版サーバーを追加します。どちらのスニペットもこのページにあります。

BlueStacks、LDPlayer、MuMu、MEmuで使えますか?

はい。ローカルコネクタはadb devicesが列挙するものなら何でも扱い、WindowsやmacOS上のBlueStacks、LDPlayer、MuMu、MEmuやその他のadb対応エミュレータをカバーします。特定のエミュレータブランドに縛られる部分はありません。

CursorやCodexはMCP経由でAndroidエミュレータを操作できますか?

はい。Cursorはホスト版サーバーをmcp.jsonのAuthorizationヘッダー付きリモートHTTPエントリとして、ローカルコネクタをstdioコマンドとして受け付けます。Codex CLIはcodex mcp addと環境変数のbearerトークンでホスト版サーバーを受け付けます。どちらにも同じツールが現れます。

他のMCPクライアントは使えますか?

bearerヘッダー付きのリモートHTTP MCPサーバーを呼べるか、stdioサーバーを起動できるクライアントなら何でも使えます。Claude Code、Cursor、Codex、Hermes、OpenCode、Gemini CLIなど。Claude Desktopとclaude.aiのカスタムコネクタは対話的なサインインフローを想定しているため、MASではヘッダーを付けるローカルブリッジ経由で接続します。

ADBやAndroid Studioのインストールが必要ですか?

ローカルコネクタは内部でadbを使うので、adbがPATH上にある必要があります。Android Studioは不要です。ホスト版サーバーは何もインストールする必要がありません。クラウド端末はサーバー側で操作され、クライアントはツールを呼ぶだけです。

モデルは本当に画面を見られますか?

はい。screenshotは画面をモデルが直接見る画像として返します。read_textはOCRをかけて各行を信頼度と座標枠付きで返し、find_imageは送られたテンプレートを照合してスコアとタップ座標を返します。アクセシビリティツリーは不要で、だからゲームでも動きます。

PCにつないだ物理的なAndroidスマホを操作できますか?

はい、ローカルコネクタ経由で可能です。USBデバッグを有効にしてスマホをつなぐと、エミュレータと同じようにlist_devicesに現れます。画面、入力、視覚のツールは同じように動きます。

リモートMCPサーバーですか、それともローカルで動きますか?

どちらもです。ホスト版サーバーはひとつのリモートHTTPエンドポイントhttps://api.automationmacro.com/mcpで、クラウド端末向けの25ツールすべてを備えます。ローカルコネクタは自分のマシンで動かす無料のstdioサーバーで、エミュレータとUSB接続のスマホ向けに13のデバイスツールと視覚ツールを備えます。マクロの実行、エージェントによる作成、アプリマップはホスト版のみです。

認証はどのように動きますか?

OAuthクライアントクレデンシャルです。アプリでキーを作成してスコープを選び、クライアントはhttps://api.automationmacro.com/api/mcp/oauth/tokenでキーを1時間有効なアクセストークンと交換し、bearerトークンとして送ります。キーには有効期限を設定でき、いつでも失効できます。ディスカバリ文書は/.well-knownの下に公開されています。

author_macroは何を返しますか?どれくらい時間がかかりますか?

クラウド端末上でMAS Agentのセッションを開始し、すぐにセッションidを返します。エージェントは数分間アプリを探索します。get_agent_sessionがカーソル付きで記録をストリーミングし、エージェントの質問を表示するので、answer_agent_sessionで答えます。完了するとマクロidがセッションに入り、マクロはライブラリに保存され、run_macroですぐ使えます。作成はAIクレジットを消費し、完成したマクロの実行は0です。MAS Agentを見る

無料ですか?クラウド端末の費用は?

ローカルコネクタは無料です。ホスト版サーバーはMASアカウントの一部で、デバイスツールは所有するクラウド端末(1台あたり月額$80、月間クレジット付与付き)で動き、デバイスツールに呼び出しごとの課金はありません。完成したマクロの実行はクレジット0で、エージェントによる作成は作業に応じてクレジットを消費します。料金を見る

PCを点けずにクラウド端末で24時間動かせますか?

はい。lease_deviceがクラウド端末上で制御セッションを開き、停止中の端末を起動でき、run_macroはサーバー側で実行します。PCを点けたままにする必要はなく、リースは呼び出しのたびに更新され、10分間アイドルで失効します。クラウド端末を見る

AndroidアプリのテストやQAに使えますか?

はい。クライアントをテストビルドに向け、tap、type、press_keyでフローを操作し、read_textfind_imageで各画面を検証し、author_macroで一度たどったフローを繰り返し可能なチェックにします。ユーザーと同じように画面を通じてアプリを自動化します。ユニットテストのフレームワークではありません。