android-mcp-toolkit
Una colección creciente de herramientas MCP para el desarrollo de Android. Actualmente incluye un convertidor determinista de Figma-SVG a Android-XML, con planes para análisis de Gradle, gestión de recursos y herramientas de integración ADB.
Documentación
Android MCP Toolkit para agentes de IA
Pequeño servidor MCP con tres herramientas:
- Conversión rápida de SVG a Android VectorDrawable (en caché, archivo o en línea).
- Lector de adb logcat con filtros de paquete/pid/tag para un triaje rápido de fallos.
- Estimador de diferencia de longitud de traducción para señalar deltas de longitud riesgosos antes de que se rompa el diseño.
Por qué existe esto
La misión: llevar Android nativo a la era de los agentes de IA
Mientras el ecosistema de IA florece con herramientas centradas en la web, el desarrollo de Android a menudo se siente rezagado. Este servidor MCP es mi respuesta a esa brecha: un puente dedicado que conecta a los agentes de IA directamente con la cadena de herramientas de Android.
⚡ Conversión de activos sin fricción: convierte SVGs a VectorDrawables al instante sin la sobrecarga de lanzar Android Studio.
🔍 Acceso directo a diagnósticos: permite a los agentes extraer, filtrar y analizar flujos de adb logcat (por paquete, PID o tag) en tiempo real.
🤖 Arquitectura nativa para agentes: entrega salidas estructuradas y scriptables que los LLMs pueden analizar y sobre las que pueden actuar de manera eficiente.
🚀 Construido para la extensibilidad: una base sólida diseñada para crecer, allanando el camino para futuras utilidades como ayudantes de bitmap y validación de activos.
Ideas de emparejamiento
- Figma MCP: toma SVGs de los diseños, pásalos a
convert-svg-to-android-drawablepara obtener XML para recursos de Android. - Depuración: mientras se ejecuta la aplicación, llama a
read-adb-logcatcon el nombre del paquete o la etiqueta para capturar fallos y registros filtrados sin salir del cliente MCP.
Vistas previas
SVG a VectorDrawable
- Solicitud de Figma → extracción de SVG

- Vista previa de conversión de bandera (individual)

- Revisión de banderas en lote (lado a lado)

- Ejecución en lote vía MCP (consola)

Herramienta ADB logcat
- Solicitud de captura de fallos (entradas + filtros)

- Vista previa de respuesta (logcat resumido)

Herramientas actuales
-
convert-svg-to-android-drawable- Entradas:
svg(en línea) osvgPath(ruta de archivo). Opcional:outputPath,floatPrecision(por defecto 2),fillBlack(por defecto falso),xmlTag(por defecto falso),tint,cache(por defecto verdadero). - Salida: texto XML de VectorDrawable; también escribe en disco cuando se proporciona
outputPath. - Rendimiento: caché LRU (32 entradas) claveada por SVG + opciones, además de reutilización rápida en la sesión.
- Convertidor: fork incluido en
vendor/svg2vectordrawablecon correcciones parargb()/rgba(),hsl()/hsla()y colores nombrados. Licencia upstream:vendor/svg2vectordrawable/LICENSE(MIT).
- Entradas:
-
manage-logcat- Entradas:
action:read(por defecto),crash,anroclear.packageName: Opcional. Resuelve el PID medianteadb shell pidof.pid: Opcional. PID explícito.tag: Opcional. Filtrar por tag (p. ej.,MyApp).priority:V,D,I,W,E,F,S(por defectoV).maxLines: Número de líneas finales (por defecto 200, máximo 2000).timeoutMs: Por defecto 5000.
- Comportamiento:
read: Obtiene la cola de logcat.crash: Obtienelogcat -b crash.anr: Obtiene registros recientes de ActivityManager ANR + cola de/data/anr/traces.txt.clear: limpia los búferes de logcat.
- Entradas:
-
get-current-activity- Entradas:
timeoutMs(por defecto5000, máximo15000). - Comportamiento: inspecciona
dumpsys windowpara encontrar la aplicación/ventana enfocada actualmente. Útil para verificar el estado.
- Entradas:
-
dump-ui-hierarchy- Entradas:
timeoutMs(por defecto 10000). - Comportamiento: captura la jerarquía de UI actual como XML mediante
uiautomator.
- Entradas:
-
take-screenshot- Entradas:
outputPath(obligatorio),timeoutMs. - Comportamiento: guarda la captura de pantalla del dispositivo en un archivo local.
- Entradas:
-
inject-input- Entradas:
command(tap,text,swipe,keyevent,back,home),args(matriz),timeoutMs. - Opcional:
elementIdoelementText(encuentra el centro del elemento y lo toca). - Comportamiento: simula la interacción del usuario adecuada para probar flujos.
- Entradas:
-
estimate-text-length-difference- Entradas:
sourceText(original),translatedText(para comparar),tolerancePercent(por defecto30, máximo500). - Comportamiento: mide la longitud de grafemas de ambas cadenas, calcula el cambio porcentual e informa si supera la tolerancia (útil para detectar aumentos de longitud de traducción que podrían romper los diseños).
- Entradas:
Hoja de ruta (planificada)
- Herramientas MCP adicionales para activos de Android (p. ej., conversiones por lotes, validaciones, optimizadores).
- Solicitudes de recursos opcionales para drawables/plantillas comunes de Android.
Inicio rápido
npm installnpm run buildnode dist/index.js(servidor MCP stdio)
Ejecutar mediante npx
- Global:
npx android-mcp-toolkit
Uso en Cursor (configuración de MCP)
Añade a la configuración JSON de tu Cursor:
{
"mcpServers": {
"android-mcp-toolkit": {
"command": "npx",
"args": [
"-y",
"android-mcp-toolkit"
]
}
}
}
La llamada a npx descarga el paquete publicado; no se requiere ruta local.
Instalación rápida mediante enlace profundo de Cursor:
cursor://anysphere.cursor-deeplink/mcp/install?name=android-mcp-toolkit&config=eyJjb21tYW5kIjoibnB4IC15IGFuZHJvaWQtbWNwLXRvb2xraXQifQ%3D%3D
Ejemplos
- Entrada SVG:
sample_svg.svg - Salida VectorDrawable:
examples/sample_svg.xml
Notas
- Transporte: stdio mediante
@modelcontextprotocol/sdk. - Las dependencias base se mantienen mínimas; todo lo necesario para convertir SVGs está incluido/incorporado.