mcpField
P
PreviewAPK

PreviewAPK

远程服务
previewapk.siteport.site开发工具02 天前更新

关于 PreviewAPK

PreviewAPK 提供托管的云端 Android 手机,供 AI Agent 操作并测试 APK 应用。其开源客户端包含 CLI 和 MCP 服务,可控制设备并查看截图、界面层级和日志。

主要功能

  1. 01推送并热替换 APK
  2. 02点击、滑动、输入和按键
  3. 03检查 UI 层级
  4. 04捕获帧缓冲区截图
  5. 05读取会话日志
  6. 06选择设备并交接控制权

适用场景

  1. 01在人工审查前测试 Android 构建
  2. 02自动执行应用导航和输入
  3. 03检查截图和崩溃日志
  4. 04向客户分享长期有效的预览链接

MCP 相关

开源客户端包含 MCP 服务,使用 PREVIEWAPK_API_KEY 连接托管的 PreviewAPK 服务。它提供 17 个工具,用于选择设备、部署 APK、交互操作、截图、查看层级和日志,以及交接控制权。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://previewapk.siteport.site/mcp
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

全部服务地址
Streamable HTTPhttps://previewapk.siteport.site/mcp需要授权
安装包
mcpbpreviewapk.mcpb

工具

详细介绍

PreviewAPK — 为 AI Agent 提供一部手机

你的 Agent 构建了一个 Android 应用,然后……你们谁也看不到它运行。 机器上没有模拟器,桌面上没有设备,而 Play Store 也不是反馈渠道。

PreviewAPK 为你的 Agent 提供一部真实的云端 Android 手机。 推送 APK 后,它几秒内就会在浏览器中启动。Agent 可以操控它——点击、输入、截图、查看日志——并在你查看之前验证自己的成果。你可以通过链接查看同一部手机,随时接管操作;每台设备都有一个永久预览链接,可交给客户或贴到 PR 中。

  • 每台设备每月 $19,运行次数不限。每台设备一次运行一个应用;可随时切换应用。
  • 链接始终为只读。只有所有者的密钥(Agent)或门户中的所有者可以操控设备——每个会话只有一名操作者,可在会话中通过明确交接来切换。
  • 手机不包含 Google Play 服务。需要 Google 登录、Maps 或 FCM 的应用会受此限制;其他应用都能正常运行。

本仓库提供开源客户端:CLI 和 MCP 服务(两者都只有一个文件,且仅使用 Python 标准库)。PreviewAPK 服务本身托管在云端——你需要使用自己在 previewapk.siteport.site 帐户中的 API 密钥。目前 PreviewAPK 正处于候补名单 Beta 阶段;可在该网站加入候补名单。

快速开始 — CLI

curl -O https://previewapk.siteport.site/cli/previewapk.py
export PREVIEWAPK_API_KEY=pvk_…        # from your portal's Developers card

python3 previewapk.py devices          # see your devices
python3 previewapk.py use "Device 1"   # pick the working device (like cd)
python3 previewapk.py push app.apk --run
python3 previewapk.py tree             # the screen as an element tree
python3 previewapk.py tap --text "Log in"
python3 previewapk.py text "[email protected]"
python3 previewapk.py shot             # a screenshot you can open
python3 previewapk.py logs --errors    # the app's logcat, noise filtered
python3 previewapk.py relaunch         # app back in front, ~2s, no reboot
python3 previewapk.py handoff user     # hand the human the wheel
python3 previewapk.py links            # your permanent preview link

向正在运行的设备推送应用会热切换应用——在同一会话中完成安装并重新启动,无需重启设备。

坐标使用比例值(0–1),而非像素;CLI 和 API 会拒绝超出范围的值,而不会悄悄点错位置;如果没有聚焦字段,text 会拒绝输入,而不会把文字打进虚空。 Agent 可以信赖这些信号:错误会说明发生了什么以及应该怎么做。

快速开始 — MCP 服务

从此仓库下载 previewapk_mcp.py,然后在 MCP 客户端中注册。Claude Code:

claude mcp add previewapk \
  --env PREVIEWAPK_API_KEY=pvk_… \
  -- python3 /path/to/previewapk_mcp.py

Cursor / Claude Desktop / 其他 MCP 客户端(JSON 配置):

{
  "mcpServers": {
    "previewapk": {
      "command": "python3",
      "args": ["/path/to/previewapk_mcp.py"],
      "env": { "PREVIEWAPK_API_KEY": "pvk_…" }
    }
  }
}

17 个工具:列出/使用设备、推送(对正在运行的设备进行热切换)、启动、停止、链接、按坐标或标签点击、滑动、按键、输入文字、重新启动、截图(返回真实图像,来自帧缓冲区——与层级结构一致)、UI 层级结构、会话日志、交接。

工作设备模型与 CLI 一致:Agent 会话选择一次设备(previewapk_use_device 或 previewapk_start),之后即可在该设备上操作,无需重复指定设备名称。设备没有默认值——未选择设备时,操作会被拒绝,因此构建结果绝不会因默认假设而发送到错误的手机上。

Agent 应如何操控设备

使用层级结构(元素树:类、标签、中心点、状态标志)进行导航和断言——快速、成本低、精准。通过截图验证视觉效果。操作后查看日志;崩溃的确切原因就在其中。模拟器噪声(虚拟 GPU 产生的图形栈垃圾信息)会被标记,并从仅显示错误的视图中排除;复制和下载的始终是完整原始日志。

完整文档:previewapk.siteport.site/docs(包含 API、CLI、MCP 指南,以及 CI 示例)。 Agent 入门说明:previewapk.siteport.site/agents

许可证

本仓库中的客户端工具采用 MIT 许可证(参见 LICENSE)。PreviewAPK 服务是独立托管的产品。

评论

支持 Markdown

第一次接触 MCP?

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

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