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.
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:
- Configuración: leer y escribir la configuración del proyecto B4A.
- Build y despliegue: compilar el proyecto, instalar el APK generado en el dispositivo conectado, recuperar el log de compilación con errores incluidos, acceder a la información de firma del APK.
- Gestión de proyecto: leer los metadatos del proyecto, listar los ficheros que lo componen, acceder a proyectos recientes.
- Layouts: convertir los ficheros de layout binarios de B4A a JSON y viceversa. Esto es clave — los layouts de B4A son binarios por defecto y Claude no puede leerlos directamente; el MCP hace la traducción para que el modelo pueda diseñar la interfaz sin tocarlo a mano.
- Librerías: listar las librerías disponibles en la instalación de B4A, recuperar su documentación y buscar referencias concretas dentro de ellas.
- Módulos de código: leer y editar ficheros
.bascon búsqueda y reemplazo, sin tener que reescribir el módulo entero cada vez. - Manifest: leer y actualizar el AndroidManifest — permisos, actividades, configuraciones de hardware — sin editarlo a mano.
- Interacción con el dispositivo: capturar pantalla del móvil, escanear valores de píxel, enviar taps, swipes, texto e inputs de teclado, lanzar apps. El bucle visual completo: Claude manda un tap, pide una captura, ve cómo ha quedado y corrige.
- Herramientas de sprite: limpiar artefactos PNG en los sprites generados para juegos.
- ADB y depuración: leer el Logcat en tiempo real, listar los dispositivos conectados.
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:
- B4A IDE con tu licencia. Si no lo tienes, la versión de pago está en b4x.com; existe también una versión gratuita con algunas limitaciones.
- Android SDK con las platform-tools (ADB). B4A lo instala por su cuenta durante la configuración inicial, así que si ya tienes B4A funcionando, esto ya está.
- .NET 8 Runtime. Si no lo tienes, el instalador de Windows lo detecta y te redirige a descargarlo.
- Claude Code u otro editor compatible con MCP.
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:
- Compila e instala la app en el móvil conectado.
- Lanza la app con
b4a_launch_app. - Lee el Logcat con
b4a_get_logcatpara ver si hay errores o excepciones. - Si hay un crash, identifica la causa en el log, corrige el módulo
.bascorrespondiente y recompila. - Captura una pantalla con
b4a_screenshotpara ver cómo está quedando visualmente. - 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:
- El maker que viene de hardware — Arduino, ESP8266, ESP32, Raspberry Pi — y quiere la app Android que cierra el sistema. El que tiene el sensor de temperatura funcionando pero no la pantalla para verlo desde el móvil. El que tiene el relé controlado por MQTT pero no el botón de Android para activarlo. B4A tiene una comunidad enorme en este perfil exactamente, y MCP-B4A baja el listón de «necesito aprender B4A» a «le digo lo que quiero».
- El que tiene una idea y cero ganas de aprender Android. El programa de fichaje para la empresa, la app de catálogo para los clientes, el cuadro de mandos para ver los datos del negocio en el móvil. Cosas útiles, funcionales, que no requieren publicarse en el Play Store ni pasar una revisión. Un APK que se instala en el móvil de la empresa y listo.
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.