mcpField
D
Dev Tools For Android (dta) Mcp

Dev Tools For Android (dta) Mcp

远程服务
github.com/yamsergey开发工具553 周前更新
代码仓库

关于 Dev Tools For Android (dta) Mcp

DTA(Development Tools for Android)是一套让 AI 编码 Agent 直接访问 Android 设备的工具集,通过 MCP 提供界面结构、网络流量、Mock 与交互等能力。它面向 Android 开发者,可在 Android Studio、命令行或任意 MCP 客户端中使用。

主要功能

  1. 01读取界面层级与 Compose 信息
  2. 02自动记录 HTTP 与 WebSocket 流量
  3. 03创建 HTTP 与 WebSocket Mock 规则
  4. 04构建并启动带注入库的应用
  5. 05模拟点击、滑动与文本输入

适用场景

  1. 01调试 Android 应用的网络请求与响应
  2. 02排查界面布局与重组问题
  3. 03在无需修改后端的情况下模拟接口返回

配置

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

服务地址http://localhost:12321/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 配置后重启。需要授权的服务会在首次连接时提示登录。

工具

详细介绍

Android 开发工具(DTA)

Maven Central JetBrains Marketplace Snyk Security

一套工具包,可通过 Model Context Protocol 让 AI 助手直接访问 Android 设备。你的编码 Agent 可以查看屏幕、读取网络流量、检查布局树、模拟响应并与应用交互——可通过 Android Studio、终端或任何 MCP 客户端使用。

视频概览

文章:使用 AI 调试 Android 应用

快速开始

选项 A:Android Studio 插件
从 JetBrains Marketplace 安装

或者:Settings → Plugins → Marketplace → 搜索 "DTA"

该插件内置守护进程,会自动将 sidekick 注入调试构建,并提供一个包含 4 个标签页(布局、网络、WebSocket、MCP)的检查器——无需 CLI 或手动设置。

选项 B:CLI
brew tap yamsergey/packages
brew install dta-cli

**要求:**Java 21+

自动注入(推荐)

无需更改项目。使用 CLI 或 MCP run_app 工具构建并启动应用,sidekick 会自动注入:

dta-cli run --project /path/to/your/android/project

此操作会使用初始化脚本运行 Gradle,将 dta-sidekick 添加为 debugImplementation 依赖,构建 APK,将其安装到设备上,并启动主 Activity。你的 AI 助手也可以通过 MCP run_app 工具完成相同操作。

手动(替代方案)

如果你更愿意直接将 sidekick 添加到构建文件中:

dependencies {
    debugImplementation 'io.github.yamsergey:dta-sidekick:0.9.36'
}

Sidekick 通过 AndroidX Startup 自动初始化——除了添加依赖之外,无需修改代码。

连接你的 AI 助手

**使用 AS 插件:**打开 MCP 标签页,启用服务,从下拉菜单中选择你的 Agent——界面会显示可复制粘贴的准确配置代码片段。支持 Claude Code、Cursor、Android Studio Gemini、Claude Desktop、VS Code 等。

不使用插件(仅 CLI):

Claude Code
claude mcp add dta -- dta-cli mcp
Cursor

将 DTA 添加到 Cursor

Claude Desktop

添加到 ~/Library/Application Support/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "dta": {
      "command": "dta-cli",
      "args": ["mcp"]
    }
  }
}

你的 Agent 可以做什么?

屏幕分析

DTA 会返回真实的 UI 层级结构——视图类、边界、位置、布局参数、Compose 专属数据(可组合项名称、重组次数),以及来自 WebView 和 Chrome Custom Tabs 的 DOM 树。与仅提供语义无障碍树的 adb shell uiautomator dump 不同,你的 Agent 可以获取完整信息。

网络分析

Sidekick 从应用启动时起自动记录 HTTP 请求(OkHttp)、WebSocket 连接和 Chrome Custom Tab 流量。(目前尚未捕获 WebView 自身的网络请求——但会捕获其 DOM、Cookie 和存储。)无需点击“开始录制”,也不会遗漏请求。你的 Agent 可以随时查询完整历史记录。

模拟

根据捕获的数据或从头开始创建 HTTP 和 WebSocket 模拟规则。接入自定义适配器以进行程序化控制:

Sidekick.configure(
    SidekickConfig.builder()
        .httpMockAdapter { transaction, proposedResponse ->
            proposedResponse.withBody("""{"message": "mocked"}""")
        }
        .build()
)
构建与启动

run_app 工具会构建一个自动注入 sidekick 的 APK,安装并启动主 Activity——只需一次 MCP 调用。无需手动配置 Gradle。如果该工具因环境沙箱限制而无法运行,则会返回精确的 shell 命令作为备用方案。

验证

Agent 可以点击、滑动、输入文本并按键,随后检查屏幕状态和网络流量以确认行为。无需离开对话,即可完成完整的检查、模拟、交互和验证循环。

Android Studio 插件

DTA Inspector 工具窗口提供四个标签页:

标签页功能
布局UI 树 + 设备截图,支持悬停高亮、点击选择以及双向选择同步
网络HTTP 请求表,显示标头、正文和耗时;支持 Custom Tab + WebView 流量
WebSocket连接列表 → 消息列表 → 消息详情
MCP启用 HTTP 服务、选择端口、提供可复制到剪贴板的 Agent 专属配置片段

该插件通过 Gradle 初始化脚本自动将 dta-sidekick 注入调试构建,无需更改项目文件。

Inspector Web 界面

dta-cli inspector-web

打开 http://localhost:8080,即可使用相同功能进行可视化检查,包括布局树、网络、WebSocket 和模拟规则编辑器。

Web Inspector 支持开发者与 Agent 双向通信——通过点击选择元素,无需用文字描述。

MCP 传输方式

传输方式命令使用场景
stdiodta-cli mcpClaude Desktop、Cursor,以及任何 stdio MCP 客户端
HTTPdta-cli mcp serve --http --port 12321AS Gemini、Claude Code HTTP,以及任何 Streamable HTTP 客户端
插件在 MCP 标签页中启用嵌入 AS 的 HTTP 服务,无需 CLI

模块

模块描述
dta-pluginAndroid Studio 插件(四标签页 Inspector + 嵌入式守护进程 + MCP 服务)
dta-cliCLI 接口(mcp、inspector-web、run、inspect 命令)
dta-mcpMCP 服务(stdio + HTTP 传输方式,工具定义)
dta-daemonJavalin HTTP 守护进程(sidekick 连接、CDP 监视器、布局增强)
dta-sidekick应用内检查库(Android AAR,通过 AndroidX Startup 自动初始化)
tools-android核心 Gradle Tooling API 集成
workspace-kotlinKotlin Language Server 的 workspace.json 转换器

CLI 参考

dta-cli --help
dta-cli <command> --help

许可证

Apache License 2.0——请参阅 LICENSE.txt

评论

支持 Markdown

第一次接触 MCP?

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

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