
Quash — Mobile App Automation
io.github.Abhinav-Sai-Quash由 GitHub 账号 Abhinav-Sai-Quash 发布v1.1.0更新于 Oct 24, 2026
Drive Android & iOS mobile-app automation from your AI agent on locally connected devices.
概览
让 AI 助手通过 Quash 引擎在本地连接的 Android 和 iOS 设备上运行自然语言测试任务并生成测试用例。
- 可以做什么
- Quash MCP 将 AI 助手连接到 Quash(mahoraga)自动化引擎,从而在连接到本机的设备上驱动真实的移动应用自动化。工具包括 connect(检测设备并做健康检查)、execute(运行自然语言测试任务并流式返回进度)、generate_test_cases(根据提示、本地文件或 git 仓库生成测试用例),以及 setup_portal、setup_simulator、setup_device 用于设备准备。它还能管理应用与构建、安装 APK,并浏览运行记录、报告、测试用例和测试套件。
- 适用场景
- 当你希望 AI 助手在连接到电脑的真实 Android 设备、模拟器、iOS 模拟器或实体 iPhone 上测试或操作移动应用时使用。适合需要自然语言执行测试、生成测试用例并查看运行报告的 QA 与开发流程,无需手写自动化脚本。
- 运行要求
- 由 Quash 安装程序安装为本地 stdio 进程,支持 macOS 13+(Apple Silicon)或 Windows 10/11(x64);iOS 工具仅限 macOS。Android 需要 PATH 中有 adb,并连接开启 USB 调试的设备;iOS 需要 Xcode;还需要 Quash 账号。环境变量:QUASH_SIDECAR_CMD(必需)、QUASH_TEST_GEN_AGENT_CMD,以及 QUASH_API_TOKEN(使用 Google 登录时可省略)。
安装
在 SourceWeft 中
- 打开 控制台中的 Quash — Mobile App Automation,将其添加到工作区。
- 为需要使用其工具的对话启用该服务。
Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。
其他 MCP 客户端
参照 仓库 中的启动说明。
README
Quash MCP
The Quash MCP server lets an AI agent (Claude Code, Claude Desktop, Cursor, …) drive real mobile-app automation on a connected device: run natural-language test tasks, generate test cases from prompts/docs/repos, manage apps & builds, and pull back streamed runs and reports — all powered by the Quash (mahoraga) automation engine.
This guide covers installing it on macOS or Windows, wiring it into your agent, generating an API token, preparing a device, and using every tool.
Platform support
iOS automation needs Xcode / WebDriverAgent /
devicectl/iproxy, which exist only on macOS — so the iOS tools (setup_simulator,setup_device) appear in the macOS build only. Windows is Android-only. Linux x86_64 can be built from source but isn't published as a release binary.
1. Prerequisites
- macOS 13+ (Apple Silicon) or Windows 10/11 (x64).
adbon yourPATH(Android platform-tools) for Android automation. On Windows the installer also detects%LOCALAPPDATA%\Android\Sdk.- A device: an Android device/emulator (USB debugging on), or — on macOS — an iOS simulator or a physical iPhone (Developer Mode on, trusted, USB).
- A Quash account to authenticate (step 3 for a token, or browser sign-in in step 5).
- For iOS on macOS: Xcode installed (for the WebDriverAgent build).
The installer also downloads the automation engine, a bundled test-generation component, and the on-device Android Portal APK.
2. Install
One command installs everything and auto-registers the server in every supported agent config it finds (Claude Code, Claude Desktop, Cursor). Pick your platform:
macOS
Windows (PowerShell)
This installs the latest release into ~/.quash (macOS) / %USERPROFILE%\.quash
(Windows) and connects to Quash production automatically — no backend URL to
configure.
Cursor users: after running the installer above (needed for the engine), you can one-click add the MCP server to Cursor:
(The installer already auto-registers Cursor, so this is only needed if you skipped that or removed the entry.)
Options (env vars)
macOS gotcha: environment variables must go on the piped
sh, not oncurl— a prefix oncurlis ignored. On Windows, set$env:…before theirm.
macOS — wire your token in / pin a version:
Windows — same, via $env::
Re-running the installer is safe: it refreshes config and, with QUASH_FORCE=1,
reinstalls the binaries. Reconnecting the agent does not update the server —
only re-running the installer does.
3. Generate an API token from the Quash app
The token lets the MCP authenticate without a browser. (Prefer not to manage a token? Skip to step 5 and use Google sign-in instead.)
- Open the Quash desktop app and sign in.
- Go to Settings → Integrations.
- Click Generate token (or regenerate to replace an existing one).
- Copy the token — it starts with
qsh_. It's shown once; store it safely.
Generating a new token invalidates the previous one, so update it everywhere
you use it. The token is scoped to the organization you're signed into and is
stored only in your agent's MCP config env block — never passed through the chat.
4. Add it to your agent
The installer auto-registers the quash server, so usually there's nothing to do.
To verify or add it manually, the entry looks like this — use the paths for your
platform:
macOS
Windows
Config file locations: Claude Code → ~/.claude.json (macOS) /
%USERPROFILE%\.claude.json (Windows); Claude Desktop →
~/Library/Application Support/Claude/claude_desktop_config.json /
%APPDATA%\Claude\claude_desktop_config.json; Cursor → ~/.cursor/mcp.json /
%USERPROFILE%\.cursor\mcp.json.
After editing config, restart the agent (or /mcp → reconnect in Claude Code).
JetBrains IDEs (IntelliJ IDEA, PyCharm)
JetBrains AI Assistant supports MCP over stdio. After running the installer (step 2):
-
Open Settings → Tools → AI Assistant → Model Context Protocol (MCP).
-
Easiest: click Import from Claude — since the installer already registered Quash in Claude Desktop, the
quashserver is pulled in automatically. -
Or add manually: click Add, then paste this JSON (JetBrains does not expand environment variables, so use absolute paths — replace
<you>with your username):macOS
Windows
-
Click OK → Apply to start the server.
Android Studio: its agent (Gemini Agent Mode) currently supports MCP over HTTP/Streamable only, not stdio, so the config above does not apply there yet.
5. Authenticate
- If you set
QUASH_API_TOKEN, the server signs in automatically on startup. - Otherwise, ask the agent to authenticate:
- Google (browser): "Use Quash, run
authwith modegoogle." - Token: "Use Quash, run
authwith my tokenqsh_…."
- Google (browser): "Use Quash, run
Check status anytime with the about / configure tools.
6. Prepare the device
- Connect — "Use Quash,
connect." It detects the device (or lists them if several), warms the engine, and runs a setup health check. - Finish setup for that device type:
- Android — if
connectreports "Portal not ready", runsetup_portal: it installs the on-device Quash Portal app and enables its accessibility service (idempotent). If the device blocks it, it returnsmanual_requiredwith the steps for Settings → Accessibility. - iOS simulator (macOS) — run
setup_simulator: builds + launches WebDriverAgent for the booted simulator (no signing needed). - iOS physical iPhone (macOS) — run
setup_device: resolves your Apple Developer signing team (set it withconfigure signing_team=<TEAMID>, or it's auto-detected from your keychain), builds + signs WebDriverAgent, starts the USB tunnel, and launches it. Requires Xcode, Developer Mode on, and the iPhone trusted over USB.
- Android — if
7. Using the tools
Ask the agent in plain language; it calls these tools:
Typical first session:
8. Updating
Re-run the installer for your platform (macOS curl … | sh, Windows irm … | iex),
then restart the agent. Confirm with the about tool — it reports the running
version and whether a newer release exists.
9. Troubleshooting
- "Portal not ready" (Android) → run
setup_portal. If it returnsmanual_required, enable Mahoraga Portal under Settings → Accessibility. - adb / device not found → install Android platform-tools, ensure
adbis onPATH(Windows: setANDROID_HOME), and that the device shows underadb devices. - iOS
setup_devicesigning fails (macOS) → set your team withconfigure signing_team=<TEAMID>, ensure your Apple ID is signed into Xcode → Settings → Accounts (with an Apple Development certificate in the keychain), and the iPhone is in Developer Mode + trusted. - Session expired / not authenticated → re-run
auth, or refreshQUASH_API_TOKEN(generating a new token invalidates the old one). - A run isn't visible in the app → the run's org must match the app's org;
check the
executeresult'swarningfield. - macOS Gatekeeper warning → public binaries are ad-hoc signed; if blocked, allow them under System Settings → Privacy & Security.
- Windows SmartScreen / Defender → unsigned binaries may prompt "Windows
protected your PC"; click More info → Run anyway, or add a Defender
exclusion for
%USERPROFILE%\.quash.
来源:README.md,提交 ff3528e
工具
0版本历史
1- v1.1.0最新Sep 16, 2026
评分
已满足适用检查项的 40%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
- 近 30 天内可连通25 分
请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。
- 已声明认证方式10 分
请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。
- 已列出工具15 分
请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。
- 描述必需15 分
- 图标10 分
- 文档15 分
- 许可证10 分
请在仓库或注册中心条目中声明许可证。