Termux MCP Server
Termux API & PRoot-Distro Ubuntu con servidor MCP
Este proyecto proporciona un script de arranque para instalar Ubuntu bajo proot-distro en Android a través de Termux, vincular las API del sistema Android en él y lanzar un servidor Model Context Protocol (MCP) basado en Python.
Con este servidor MCP ejecutándose en tu teléfono, puedes otorgar a cualquier cliente de IA externo (como Cursor, Claude Desktop, Windsurf o agentes HTTP personalizados) la capacidad completa para controlar el hardware de tu dispositivo Android, leer sensores, obtener comunicaciones y ejecutar comandos de shell.
Inicio rápido (configuración en tres pasos)
Paso 1: Instalar y configurar Ubuntu en Termux
Ejecuta este comando dentro de tu terminal nativa de Termux para instalar, configurar e iniciar sesión en Ubuntu. (Esto descarga el script primero para que stdin permanezca conectado a tu teclado, permitiendo que inicie sesión correctamente).
curl -sLO https://raw.githubusercontent.com/AbuZar-Ansarii/Termux-MCP/main/install_ubuntu.sh && chmod +x install_ubuntu.sh && ./install_ubuntu.shUna vez que este script se complete, iniciará sesión automáticamente en Ubuntu, dejándote en el prompt:
root@localhost:~#
Paso 2: Clonar y configurar MCP (dentro de Ubuntu)
Una vez dentro del contenedor de Ubuntu (root@localhost:~#), copia y pega este comando para clonar el repositorio, ejecutar el script de configuración y activar el entorno virtual:
git clone https://github.com/AbuZar-Ansarii/Termux-MCP.git && cd Termux-MCP && chmod +x setup_mcp.sh && ./setup_mcp.sh && source venv/bin/activate(Agregar la declaración source venv/bin/activate asegura que se ejecute en el contexto de tu shell padre. Una vez completado, te encontrarás dentro del entorno virtual activado en el prompt: (venv)root@localhost:~/Termux-MCP#.)
Paso 3: Ejecutar el servidor MCP
Mientras estés dentro del entorno virtual activo, ejecuta el servidor directamente:
python termux_mcp.py --transport sseUna vez en ejecución, el servidor detectará la dirección IP de tu teléfono y mostrará una URL de conexión copiable (por ejemplo, http://192.168.1.15:8000/sse) para conectar directamente a tu cliente de IA.
Comando de acceso rápido para futuras ejecuciones
Para futuras ejecuciones (desde Termux nativo, sin iniciar sesión manualmente ni activar el entorno), puedes iniciar el servidor con un solo comando:
proot-distro login ubuntu -- bash /root/run_mcp.shRelated MCP server: android-shizuku-mcp
¿Por qué PRoot-Distro Ubuntu?
Ejecutar una distribución de Linux como Ubuntu dentro de Termux usando proot-distro ofrece varios beneficios clave:
Compatibilidad con Glibc (GNU C Library): Android y Termux nativo usan Bionic libc, que difiere en rutas y estándares. Muchos paquetes compilados, binarios de bases de datos, módulos de Node y bibliotecas de Python requieren
glibcestándar para ejecutarse sin fallos de compilación. PRoot-Distro Ubuntu proporciona un entornoglibcestándar.Abundancia de paquetes y ecosistema: Ubuntu te da acceso a los enormes archivos de paquetes
apt. Si tu flujo de trabajo requiere herramientas de servidor Linux estándar, paquetes de escritorio o servicios compilados, ejecutarlos en el rootfs de Ubuntu es mucho más robusto que parchearlos para Android/Bionic nativo.Aislamiento y sandbox: Desarrollar dentro de PRoot Ubuntu mantiene tu sistema de archivos de Termux anfitrión limpio y modular. Si algo se rompe o quieres empezar de nuevo, simplemente puedes restablecer el contenedor de la distribución sin perder tus configuraciones de Termux.
Puente de API de hardware: Nuestro script de arranque vincula la carpeta nativa
$PREFIXde Termux dentro de Ubuntu. Esto significa que obtienes lo mejor de ambos mundos: un entorno Linux Ubuntu completo que aún tiene acceso directo por línea de comandos a las API de Android (como cámara, toast, ubicación y sensores).
Características (herramientas MCP)
El servidor MCP expone un conjunto completo de herramientas para controlar tu teléfono:
Sistema y hardware:
get_battery_status: Lee el nivel de batería del dispositivo, salud, temperatura y estado de carga.toggle_torch: Enciende o apaga la linterna.set_screen_brightness: Cambia el brillo de la pantalla (0-255).get_volume_infoyset_volume: Lee o establece niveles para los flujos de volumen de alarma, música, timbre, llamada, sistema y notificaciones.
Comunicación:
list_contacts: Lista todos los nombres de contactos y números de teléfono almacenados en el teléfono.get_call_log: Recupera el historial de llamadas recientes.list_smsysend_sms: Lista mensajes de entrada/enviados y envía nuevos mensajes de texto.
Sensores y red:
get_location: Recupera coordenadas GPS precisas o basadas en red.get_wifi_connection_info: Obtiene metadatos de conexión Wi-Fi (SSID, BSSID, IP, velocidad de enlace).get_telephony_device_info: Consulta el operador de telefonía, la intensidad de la señal y el tipo de red.
Medios y fotos:
take_photo: Toma fotos con la cámara frontal o trasera y las guarda en una ruta de archivo en el dispositivo.tts_speak: Sintetiza habla usando Google TTS.
Interacción con el usuario y portapapeles:
show_toast: Muestra notificaciones toast temporales en la pantalla del teléfono.vibrate_phone: Vibra el dispositivo durante una duración determinada.clipboard_getyclipboard_set: Lee y escribe el portapapeles de Android.show_notification: Muestra notificaciones estándar de Android.prompt_user_dialog: Muestra un diálogo interactivo de entrada de texto en el teléfono, permitiéndote escribir una respuesta de vuelta al cliente de IA.share_text: Comparte texto directamente en la hoja de compartir nativa de Android.
Ejecución arbitraria:
execute_command: Ejecuta cualquier comando de shell arbitrario directamente en el host nativo de Termux.
Instalación detallada paso a paso
Paso 1: Instalar Termux y Termux:API en Android
Instala la aplicación Termux y la aplicación Termux:API.
Requisito: Instala ambas aplicaciones desde F-Droid (no mezcles versiones de F-Droid y Play Store, ya que no se firmarán/vincularán juntas).
Ve a Configuración de Android -> Aplicaciones -> Termux:API -> Permisos:
Otorga permisos de Cámara, Ubicación, SMS, Contactos y Almacenamiento.
Desactiva la optimización de batería tanto para Termux como para Termux:API para evitar que Android cierre los servicios en segundo plano.
Paso 2: Ejecutar el script de configuración
Abre Termux y pega el siguiente comando:
curl -sLO https://raw.githubusercontent.com/AbuZar-Ansarii/Termux-MCP/main/install_ubuntu.sh && chmod +x install_ubuntu.sh && ./install_ubuntu.shPaso 3: Ejecutar la configuración del servidor MCP
Una vez dentro del contenedor de Ubuntu:
git clone https://github.com/AbuZar-Ansarii/Termux-MCP.git && cd Termux-MCP && chmod +x setup_mcp.sh && ./setup_mcp.sh && source venv/bin/activatePaso 4: Lanzar el servidor
En el entorno activado ((venv)root@localhost:~/Termux-MCP#):
python termux_mcp.py --transport sseLa terminal imprimirá la URL de conexión:
==================================================================
🤖 Termux MCP Server Running in SSE Mode
==================================================================
👉 SSE Connect URL: http://192.168.1.15:8000/sse
👉 Messages URL: http://192.168.1.15:8000/messages/
==================================================================Paso 5: Conectar a tu cliente de IA
Puedes conectar cualquier cliente que admita MCP sobre Server-Sent Events (SSE).
Conectar Cursor:
Abre Configuración de Cursor -> Features -> MCP.
Haz clic en + Add New MCP Server.
Ingresa:
Name:
termux-mcpType:
SSEURL:
http://YOUR_PHONE_IP:8000/sse(Copia y pega la 'SSE Connect URL' impresa por el servidor)
Haz clic en Save.
Conectar Claude Desktop (alternativa Stdio sobre SSH)
Si prefieres ejecutar comandos stdio locales a través de SSH, consulta Opción B en la documentación del repositorio para configurar claves OpenSSH y configurar tu %APPDATA%\Claude\claude_desktop_config.json local.
Solución de problemas
La llamada a la herramienta se cuelga: Si una llamada a una herramienta (como
get_locationotake_photo) se cuelga, verifica que la aplicación Termux:API tenga permisos otorgados en la configuración de Android y que el ahorro de batería esté desactivado.Conexión rechazada: Asegúrate de que tu PC y tu teléfono estén conectados a la misma red Wi-Fi y que el servidor esté en ejecución.
Ejecución en segundo plano de Termux: Android puede suspender los procesos de Termux cuando la pantalla está bloqueada. Desliza hacia abajo el cajón de notificaciones de Android y asegúrate de que Termux muestre "1 sesión" con "Acquire wake lock" habilitado, manteniéndolo en ejecución en segundo plano.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to directly control Android devices via Termux, providing 120+ tools for screen manipulation, file management, app control, and system operations with layered loading and security gating.1MIT
- AlicenseNot gradedqualityDmaintenanceEnables LLM agents to control Android devices securely via Shizuku and Termux:API, providing a universal shell tool for command execution and persistent sessions.4Apache 2.0
- FlicenseNot gradedqualityAmaintenanceGives an agent full shell access on Termux with file read/write/edit capabilities.2
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to control Android phones via MCP and HTTP. Supports screen capture, taps, swipes, text input, and app management.AGPL 3.0
Related MCP Connectors
Control Android TV from any AI. 38 MCP tools: playback, recap, recommend, smart-home, schedules.
Operate Linux, macOS and Windows from your LLM. Every action runs through an auditable allowlist.
Phone, SMS & email for AI agents — one remote MCP endpoint, OAuth login, zero install.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/AbuZar-Ansarii/Termux-MCP'
If you have feedback or need assistance with the MCP directory API, please join our Discord server