article
README
🚀 espresso-mcp
espresso-mcp 是专为 Espresso Android 测试框架打造的 MCP 服务器,旨在提升测试能力并优化开发工作流程。
🚀 快速开始
安装依赖
- Python 3.x
- uv:
pip install uv
运行模式
stdio 模式
# Run in stdio mode
uvx espresso-mcp
sse 模式
# Run in sse mode
uvx espresso-mcp --sse
📦 安装指南
本地环境搭建
- 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
💻 使用示例
在 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"]
}
}
}
📚 详细文档
可用工具
espresso-mcp 项目中提供了以下工具:
- list_avds:列出所有可用的 Android 虚拟设备 (AVDs)。
- 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 设备上输入文本。
- tap:模拟在已连接的 Android 设备上的特定坐标处点击。
- swipe:在已连接的 Android 设备上按特定方向执行滑动手势。
可用资源
以下资源可供使用:
- config://app:检索静态配置数据。
- greeting://{name}:获取个性化问候语。
🔧 技术细节
调试
- 使用 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
微信扫一扫