software 2025 · cuando no sabes programar para Android

MCP-B4A: programar apps Android desde Claude Code sin saber una línea de Java

No tienes ni idea de programar para Android. Java te parece chino, Kotlin tampoco es mucho mejor, y Android Studio pesa 15 GB y te recibe con cuatro ventanas de error antes de escribir una sola línea. MCP-B4A es un servidor MCP que conecta Claude Code directamente con el IDE B4A (Basic4Android): le dices lo que quieres hacer y él lo hace. Desde la primera pantalla hasta el APK firmado y listo para instalar. El proyecto está en github.com/unmateria/MCP-B4A.

MCP-B4A: servidor MCP que conecta Claude Code con Basic4Android para programar apps Android en lenguaje natural
MCP-B4A en acción: Claude Code llamando a las herramientas del servidor para compilar, depurar e interactuar con una app Android directamente desde el chat.

01 — El problema: programar para Android tiene una curva de aprendizaje brutal

Tienes una idea para una app. Un dashboard que muestre los datos de tus sensores de temperatura por MQTT. Un programa para fichar en la empresa. Un pequeño juego. Un cliente para tu API casera. Nada del otro mundo — funcional, útil, tuyo.

Y entonces te encuentras con el ecosistema oficial de Android. Java o Kotlin, Gradle, Jetpack Compose o XML, Fragments, Activities, Intents, ciclo de vida de la Activity, permisos en runtime, signing, ADB, Logcat… Cada cosa que quieres hacer implica entender diez conceptos previos. Android Studio necesita un ordenador potente solo para arrancar. La documentación oficial asume que ya sabes la mitad de lo que buscas. Los errores de Gradle son incomprensibles. El APK que compilas en el portátil no se instala en el móvil porque falta firmar. El móvil no aparece en ADB porque falta activar las opciones de desarrollador. Y cuando por fin consigues que algo se instale, el Layout no se ve como esperabas porque hay que aprender también los tamaños de pantalla y las densidades de píxel.

Todo eso es real y es un muro. Para mucha gente que viene de programar microcontroladores, de hacer scripts de Python o de trabajar con herramientas visuales, ese muro es suficiente para abandonar. Y eso es una pena, porque la idea era buena.

02 — B4A: el puente entre el mundo Arduino y el mundo Android

B4A (Basic4Android) es un entorno de desarrollo que lleva más de quince años haciendo lo mismo: bajar el listón de entrada al desarrollo Android hasta dejarlo al alcance de cualquiera que sepa programar un mínimo. Su lenguaje es un Basic moderno — no el Basic de los 80, sino algo parecido a VB.NET pero sin el peso de Visual Studio. Un IDE liviano, una sintaxis legible, compilación rápida, documentación clara. Nació como herramienta para makers y gente de hardware — la comunidad que viene de Arduino, de Raspberry Pi, de ESP8266 — que quería hacer la app de Android que acompañase a su cacharro sin volverse loca.

B4A genera código Java real por debajo y produce APKs que se instalan en cualquier Android. No es un entorno de juguete: hay apps en producción, sistemas industriales y dashboards en producción hechos con B4A. Pero el desarrollador ve Basic, no Java. Eso cambia radicalmente la experiencia.

El MCP-B4A da un paso más: no solo baja el listón hasta Basic, sino hasta el lenguaje natural. Le dices lo que quieres y él escribe el Basic, diseña el layout, compila y te manda el resultado al móvil.

03 — Qué es un MCP y por qué cambia las reglas

MCP (Model Context Protocol) es el estándar de Anthropic para que los asistentes de IA puedan usar herramientas reales. En lugar de pedirle a Claude que te escriba código para copiar y pegar, el MCP le da al modelo un canal directo con el programa: Claude llama a las herramientas y el servidor actúa sobre el sistema. El resultado es que cuando le dices «añade un botón que abra el segundo panel», Claude no te escribe el código — lo mete directamente en el fichero .bas del proyecto y lo compila.

Los MCPs son específicos de herramienta. Hay uno para GitHub, uno para Access, uno para Figma, uno para bases de datos PostgreSQL. MCP-B4A es el que habla directamente con el IDE B4A: puede abrir proyectos, leer y escribir módulos, manejar el editor de layouts, compilar, firmar APKs, instalarlos en el móvil conectado y leer el Logcat en tiempo real para depurar errores. El bucle completo, sin salir del chat.

04 — Lo que MCP-B4A deja hacer: 31 herramientas

Las 31 herramientas se agrupan en bloques que cubren el ciclo de desarrollo Android completo:

El detalle que marca la diferencia respecto a simplemente pedirle a Claude que te escriba código B4A es que el servidor cierra el bucle: compila, ve el error en el log, lo corrige, recompila, instala en el móvil, hace un tap, captura la pantalla, ajusta el layout. Todo sin salir del chat, sin copiar y pegar, sin cambiar de ventana.

05 — Instalación paso a paso

El servidor está escrito en C# sobre .NET 8 y funciona en Windows — B4A en sí solo corre en Windows, así que no es ninguna restricción adicional. Necesitas tener instalado:

Clona el repositorio o descarga el ZIP:

git clone https://github.com/unmateria/MCP-B4A.git C:\herramientas\MCP-B4A

Compila el servidor con .NET:

cd C:\herramientas\MCP-B4A
dotnet build --configuration Release

El ejecutable quedará en bin\Release\net8.0\. Esa ruta es la que usarás para registrarlo en Claude Code.

06 — Conectar el MCP a Claude Code

Con el servidor compilado, regístralo en Claude Code desde PowerShell:

claude mcp add b4a -- C:\herramientas\MCP-B4A\bin\Release\net8.0\MCP-B4A.exe

Ajusta la ruta al sitio donde hayas compilado. Si prefieres que solo esté activo en un proyecto concreto en lugar de en todas las sesiones:

claude mcp add --scope project b4a -- C:\herramientas\MCP-B4A\bin\Release\net8.0\MCP-B4A.exe

Para comprobar que está bien conectado, abre Claude Code y escríbele algo como «lista las herramientas del MCP de B4A». Si todo está bien verás las 31 herramientas que empiezan por b4a_. Si no aparecen, lo más habitual es que el ejecutable no esté en la ruta indicada o que falte el .NET 8 Runtime.

Antes de empezar a trabajar, dile a Claude que lea la configuración del proyecto con b4a_get_config para que sepa dónde está instalado B4A y el SDK. Esa lectura inicial es la que orienta al servidor para el resto de la sesión.

07 — Crear una app desde cero hablándole

Con el MCP activo, el flujo de trabajo cambia completamente. No abres el IDE. No buscas ejemplos en Stack Overflow. No copias y pegas código. Le hablas.

Por ejemplo, un dashboard MQTT para ver los datos de temperatura de varios sensores ESP8266:

Hazme una app Android que se conecte a un broker MQTT en la IP
192.168.1.100 puerto 1883 y se suscriba a los topics
sensores/salon, sensores/cocina y sensores/dormitorio.
Quiero ver los tres valores en pantalla, actualizados en tiempo
real, con el nombre del sensor y la temperatura en grande.
Fondo oscuro.

Claude crea el proyecto, añade la librería MQTT de B4A, escribe el módulo de conexión, diseña el layout con los tres paneles y los labels de temperatura, y compila. Si algo falla en la compilación, lee el log de error, lo identifica y lo corrige. Sin que tú hayas tocado el IDE.

El mismo enfoque para un programa de fichaje:

Hazme una app para fichar en el trabajo. Botón de entrada y botón
de salida. Que guarde cada fichaje en un fichero CSV en el
almacenamiento del móvil con la fecha y la hora. Y una pantalla
para ver el historial de fichajes del mes.

O un videojuego simple:

Hazme un juego de esquivar obstáculos. Un personaje que salta con
un tap, obstáculos que vienen de la derecha, contador de puntos.
Que funcione en pantalla apaisada.

Para cada uno de estos casos, MCP-B4A se encarga de elegir las librerías correctas, escribir la lógica, montar los layouts y compilar. Tú validas el resultado, pides ajustes en lenguaje normal, y el ciclo se repite hasta que queda como quieres.

08 — Depuración e interacción con el dispositivo

Lo que hace especialmente potente al MCP-B4A respecto a simplemente pedirle a Claude que escriba código B4A es el bucle de depuración. Cuando algo no funciona como esperabas, no tienes que leer el Logcat tú, interpretar el error, buscar en qué línea está, corregirlo y recompilar. Claude lo hace:

  1. Compila e instala la app en el móvil conectado.
  2. Lanza la app con b4a_launch_app.
  3. Lee el Logcat con b4a_get_logcat para ver si hay errores o excepciones.
  4. Si hay un crash, identifica la causa en el log, corrige el módulo .bas correspondiente y recompila.
  5. Captura una pantalla con b4a_screenshot para ver cómo está quedando visualmente.
  6. Si el layout no es lo que esperabas, ajusta los controles y recaptura.

El bucle de interacción va más lejos. Claude puede mandarle taps al móvil para navegar por la app, introducir texto en campos, hacer swipes para desplazar listas. Puede usar b4a_pixel_scan para verificar que un color o elemento concreto aparece en la posición correcta. Es el equivalente de un tester manual, pero automatizado y respondiendo a instrucciones en lenguaje natural.

Para el trabajo con layouts, el MCP convierte los ficheros binarios de B4A a JSON con b4a_read_layout, Claude los edita en JSON (añadiendo controles, cambiando propiedades, ajustando posiciones) y los vuelve a escribir como binario con b4a_write_layout. Desde el punto de vista del IDE, como si los hubieras editado en el diseñador visual.

09 — Para quién es esto

MCP-B4A tiene dos perfiles de usuario bien distintos:

Lo que no es: una solución para publicar apps en el Play Store que compitan con equipos profesionales. B4A tiene limitaciones — no todas las APIs de Android están envueltas, el rendimiento en gráficos complejos no es el de código nativo — y MCP-B4A hereda esas limitaciones. Para uso interno, prototipos, automatizaciones, dashboards y herramientas de empresa, es más que suficiente. Para competir con Instagram, no.

El proyecto está activo y extremadamente testado en entornos reales. No es una demo académica — ha salido de hacer cosas que hacen falta de verdad. Cuando algo no funciona, se abre un issue y se corrige. github.com/unmateria/MCP-B4A.