mcpField
E
espresso-mcp

espresso-mcp

本地服务
github.com/vs4vijay开发工具025 周前更新

关于 espresso-mcp

espresso-mcp 通过 MCP 服务提供 Android 设备和模拟器控制功能,面向开展 Android 应用测试的开发者。工具涵盖模拟器管理、应用操作和界面交互。

主要功能

  1. 01列出可用 AVD 和运行中的模拟器
  2. 02启动和停止模拟器
  3. 03安装和管理应用
  4. 04检查界面层级及当前 Activity
  5. 05模拟点击、滑动和文本输入
  6. 06截取屏幕及录制屏幕

适用场景

  1. 01为应用测试准备 Android 模拟器
  2. 02在设备上安装并启动 APK
  3. 03测试时检查界面层级
  4. 04自动执行手势和文本输入

MCP 相关

espresso-mcp 是一个 MCP 服务,将 Android 模拟器和已连接设备的控制能力作为工具开放,并提供配置和问候语资源。它支持 stdio 或 SSE 模式运行。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"espresso": {
"command": "uvx",
"args": [
"espresso-mcp"
]
}
}
}
启动命令uvx espresso-mcp

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
pypiespresso-mcp

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

espresso-mcp

用于 Espresso Android 测试框架的 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 虚拟设备(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 设备当前 Activity 的名称。

资源

提供以下资源:

  • 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

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。