mcpField
E
espresso-mcp

espresso-mcp

ローカル
github.com/vs4vijay開発ツール025 週間前に更新

espresso-mcp について

espresso-mcpは、Android端末やエミュレーターの操作をMCPサーバー経由で提供する、Androidアプリのテストに取り組む開発者向けのプロジェクトです。エミュレーター管理、アプリ操作、UI操作のツールを備えています。

主な機能

  1. 01AVDと稼働中エミュレーターの一覧表示
  2. 02エミュレーターの起動と停止
  3. 03アプリのインストールと管理
  4. 04UI階層と現在のActivityの確認
  5. 05タップ、スワイプ、テキスト入力の再現
  6. 06スクリーンショットと画面録画

活用シーン

  1. 01アプリテスト用のAndroidエミュレーターを準備
  2. 02端末へのAPKのインストールと起動
  3. 03テスト中に画面のUI階層を確認
  4. 04ジェスチャーとテキスト入力を自動化

MCP 対応

espresso-mcpは、Androidエミュレーターと接続端末の操作をツールとして公開し、設定および挨拶のリソースも提供するMCPサーバーです。stdioまたはSSEモードで実行できます。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"espresso": {
"command": "uvx",
"args": [
"espresso-mcp"
]
}
}
}
起動コマンドuvx espresso-mcp

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
pypiespresso-mcp

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

espresso-mcp

Espresso Android Test Framework 向けの MCP サーバーです。テスト機能の強化と開発ワークフローの最適化を目的に作られています。

README の画像

インストール

  • Python 3.x
  • uv:pip install uv
# Run in stdio mode
uvx espresso-mcp

# Run in sse mode
uvx espresso-mcp --sse

使用方法

  • Github Copilot の場合:以下の JSON 設定を .vscode/mcp.json ファイルに追加します。
{
  "servers": {
    "espresso-mcp": {
      "command": "uvx",
      "args": ["espresso-mcp"],
      "env": {}
    }
  }
}
  • Claude の場合:以下の JSON 設定を claude_desktop_config.json ファイルに追加します。
{
  "mcpServers": {
    "terminal": {
      "command": "uvx",
      "args": ["espresso-mcp", "--timeout-ms", "30000"]
    }
  }
}
  • OpenAI SDK を使用する場合
from openai import OpenAI

client = OpenAI()

resp = client.responses.create(
    model="gpt-4.1",
    tools=[
        {
            "type": "mcp",
            "server_label": "espresso-mcp",
            "server_url": "http://localhost:8000/sse",
            "require_approval": "never",
        },
    ],
    input="Open Teams App",
)

print(resp.output_text)

利用可能なツール

espresso-mcp プロジェクトでは、以下のツールを利用できます。

  • list_avds:利用可能なすべての Android Virtual Devices(AVD)を一覧表示します。
  • list_emulators:実行中のすべての Android エミュレーターを一覧表示します。
  • start_emulator:名前を指定して Android エミュレーターを起動します。
  • kill_emulator:指定した Android エミュレーターを終了します。
  • dump_ui_hierarchy:接続された Android デバイスの UI 階層を取得します。
  • open_uri:接続された Android デバイスで URI を開きます。
  • list_apps:接続された Android デバイスにインストールされているアプリを一覧表示します。
  • install_app:接続された Android デバイスに APK をインストールします。
  • start_app:接続された Android デバイスで指定したアプリを起動します。
  • stop_app:接続された Android デバイスで指定したアプリを停止します。
  • uninstall_app:接続された Android デバイスからアプリをアンインストールします。
  • clear_app_data:接続された Android デバイス上の指定したアプリのデータを消去します。
  • take_screenshot:接続された Android デバイスのスクリーンショットを撮影します。
  • record_screen:指定した時間、接続された Android デバイスの画面を録画します。
  • press_button:接続された Android デバイスでボタンの押下をシミュレートします。
  • type_text:接続された Android デバイスにテキストを入力します。
  • clear_and_type_text:接続された Android デバイス上のテキストをすべて消去し、新しいテキストを入力します。
  • replace_text:接続された Android デバイス上の現在のテキストを消去して新しいテキストを入力し、置き換えます。
  • tap:接続された Android デバイス上の指定した座標でタップをシミュレートします。
  • swipe:接続された Android デバイス上で指定した方向へのスワイプ操作を実行します。
  • dump_current_activity:接続された Android デバイスの現在のアクティビティ名を取得します。

リソース

以下のリソースを利用できます。

  • config://app:静的な設定データを取得します。
  • greeting://{name}:名前に合わせた挨拶を取得します。

ローカルセットアップ

  • Python 3.x
  • uv:pip install uv
# Install dependencies
uv sync
# OR
uv sync --frozen --all-extras --dev

# Run Server
uv run espresso-mcp

# Run in Dev Mode
uv run mcp dev src/espresso_mcp/server.py

デバッグ

  • MCP Inspector を使用します。
# Install MCP Inspector
yarn global add @modelcontextprotocol/inspector

# Test MCP Server
yarn run @modelcontextprotocol/inspector python server.py

リントとテスト

# Lint
uv run ruff check

# Tests
uv run pytest

公開

# Build the package
uv build
uv build --wheel
uv build --no-sources

# Upload to PyPI
uv publish

開発メモ

uv tool install espresso-mcp

# OR

uvx espresso-mcp


uv init espresso-mcp

uv add "mcp[cli]"

uv run mcp dev server.py


uv tool run espresso-mcp


uv run pre-commit install

pre-commit run --all-files

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。