关于 Android Mcp Toolkit
Android MCP Toolkit 是面向 Android 开发者和 AI Agent 的 MCP 服务,提供资源转换、设备诊断与交互工具。它涵盖 SVG 转 VectorDrawable、logcat 查看及设备 UI 检查和操作。
主要功能
- 01SVG 转 VectorDrawable XML
- 02筛选并读取 adb logcat
- 03查看当前应用与 UI 层级
- 04截取设备屏幕
- 05模拟点击、输入和滑动
- 06估算翻译文本长度差异
适用场景
- 01将设计 SVG 转为 Android drawable 资源
- 02按应用或标签排查崩溃日志
- 03检查设备当前界面并截屏
- 04预先发现翻译长度可能导致的布局问题
MCP 相关
作为 MCP 服务,它通过 stdio 向客户端提供 Android 资源转换、logcat 读取、设备检查和交互等工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
7收录的工具列表 · 更新于 3 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| svg | string | 否 | 要转换的内嵌 SVG 标记 |
| svgPath | string | 否 | 要读取的 SVG 文件路径 |
| outputPath | string | 否 | 生成的 VectorDrawable XML 的可选输出路径 |
| floatPrecision | integer | 否 | 序列化坐标时使用的小数精度 |
| fillBlack | boolean | 否 | 缺少填充颜色时强制使用黑色 |
| xmlTag | boolean | 否 | 包含 XML 声明 |
| tint | string | 否 | Android 着色颜色(例如 #FF000000) |
| cache | boolean | 否 | 在此进程中对相同输入重复使用缓存结果 |
详细介绍
面向 AI Agent 的 Android MCP 工具包
小型 MCP 服务,包含三个工具:
- 快速将 SVG 转换为 Android VectorDrawable(支持缓存、文件或内联内容)。
- adb logcat 读取器,支持按软件包、PID 和标签筛选,便于快速排查崩溃。
- 翻译长度差异估算器,可在布局出现问题前标记有风险的长度差异。
为什么要开发这个工具
使命:让原生 Android 开发迈入 AI Agent 时代
AI 生态中面向 Web 的工具蓬勃发展,而 Android 开发常常感觉被落在后面。这个 MCP 服务就是我为弥补这一差距而提出的方案——一座专用桥梁,直接将 AI Agent 与 Android 工具链连接起来。
⚡ 零阻碍的资源转换:无需启动 Android Studio,即可即时将 SVG 转换为 VectorDrawable。
🔍 直接访问诊断信息:让 Agent 能够实时提取、筛选和分析 adb logcat 流(按软件包、PID 或标签筛选)。
🤖 原生适配 Agent 的架构:提供结构化、可编写脚本的输出,方便大模型高效解析并采取行动。
🚀 为扩展性而构建:坚实的基础,旨在不断扩展,为未来添加位图辅助工具和资源验证等功能铺平道路。
搭配使用建议
- Figma MCP:从设计稿中获取 SVG,传入
convert-svg-to-android-drawable,生成 Android 资源所需的 XML。 - 调试:运行应用时,使用软件包名称或标签调用
read-adb-logcat,即可捕获崩溃并筛选日志,无需离开 MCP 客户端。
预览
SVG 转 VectorDrawable
- Figma 请求 → SVG 提取

- 旗帜转换预览(单张)

- 批量查看旗帜(并排对比)

- 通过 MCP 批量运行(控制台)

ADB logcat 工具
- 崩溃捕获提示词(输入内容与筛选条件)

- 响应预览(摘要版 logcat)

当前工具
-
convert-svg-to-android-drawable- 输入:
svg(内联)或svgPath(文件路径)。可选:outputPath、floatPrecision(默认值为 2)、fillBlack(默认值为 false)、xmlTag(默认值为 false)、tint、cache(默认值为 true)。 - 输出:VectorDrawable XML 文本;提供
outputPath时也会写入磁盘。 - 性能:LRU 缓存(32 个条目),以 SVG 和选项作为键,并支持会话内快速复用。
- 转换器:
vendor/svg2vectordrawable中随项目提供的分支,修复了rgb()/rgba()、hsl()/hsla()和命名颜色的问题。上游许可证:vendor/svg2vectordrawable/LICENSE(MIT)。
- 输入:
-
manage-logcat- 输入:
action:read(默认值)、crash、anr或clear。packageName:可选。通过adb shell pidof解析 PID。pid:可选。指定 PID。tag:可选。按标签筛选(例如MyApp)。priority:V、D、I、W、E、F、S(默认值为V)。maxLines:尾部行数(默认值为 200,最大值为 2000)。timeoutMs:默认值为 5000。
- 行为:
read:获取 logcat 尾部日志。crash:获取logcat -b crash。anr:获取近期 ActivityManager ANR 日志及/data/anr/traces.txt的尾部内容。clear:清除 logcat 缓冲区。
- 输入:
-
get-current-activity- 输入:
timeoutMs(默认值为5000,最大值为15000)。 - 行为:检查
dumpsys window,查找当前获得焦点的应用或窗口。可用于验证状态。
- 输入:
-
dump-ui-hierarchy- 输入:
timeoutMs(默认值为 10000)。 - 行为:通过
uiautomator将当前 UI 层级结构捕获为 XML。
- 输入:
-
take-screenshot- 输入:
outputPath(必填)、timeoutMs。 - 行为:将设备截图保存到本地文件。
- 输入:
-
inject-input- 输入:
command(tap、text、swipe、keyevent、back、home)、args(数组)、timeoutMs。 - 可选:
elementId或elementText(查找元素中心并点击)。 - 行为:模拟用户交互,适用于测试工作流。
- 输入:
-
estimate-text-length-difference- 输入:
sourceText(原文)、translatedText(要比较的译文)、tolerancePercent(默认值为30,最大值为500)。 - 行为:测量两个字符串的字素长度,计算变化百分比,并报告是否超过容差(可用于发现可能导致布局问题的译文长度膨胀)。
- 输入:
路线图(计划中)
- 为 Android 资源提供更多 MCP 工具(例如批量转换、验证和优化工具)。
- 为常见 Android 可绘制资源或模板提供可选的资源提示词。
快速开始
npm installnpm run buildnode dist/index.js(stdio MCP 服务)
通过 npx 运行
- 全局:
npx android-mcp-toolkit
在 Cursor 中使用(MCP 配置)
将以下内容添加到 Cursor 设置 JSON 中:
{
"mcpServers": {
"android-mcp-toolkit": {
"command": "npx",
"args": [
"-y",
"android-mcp-toolkit"
]
}
}
}
npx 调用会下载已发布的程序包;无需本地路径。
通过 Cursor 深层链接快速安装:
cursor://anysphere.cursor-deeplink/mcp/install?name=android-mcp-toolkit&config=eyJjb21tYW5kIjoibnB4IC15IGFuZHJvaWQtbWNwLXRvb2xraXQifQ%3D%3D
示例
- 输入 SVG:
sample_svg.svg - 输出 VectorDrawable:
examples/sample_svg.xml
备注
- 传输方式:通过
@modelcontextprotocol/sdk使用 stdio。 - 基础依赖保持精简;转换 SVG 所需的全部内容均随项目提供或包含在其中。
联系方式
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。