Android MicroServer
Targets a rooted Android smartphone (Magisk) repurposed as a 24/7 server: the agent can inspect Android kernel telemetry (CPU cores, GPU, battery current/voltage/temperature, thermal zones) and manage kernel wakelocks to keep the device from dozing.
Exposes the self-hosted server to the internet through Cloudflare DNS, SSL termination, DDoS shielding and WAF/User-Agent rules, forwarding the WAN IP to the device's reverse proxy.
Operates the backend, the MCP server and the system daemons (SSH/Dropbear, cron, anti-doze) inside an ARM64 Kali Linux chroot deployed on the device.
Reverse-proxies inbound HTTPS traffic from the public edge to the backend services: the dashboard on 127.0.0.1:8080 and the web terminal (ttyd) WebSocket on 127.0.0.1:7681.
Applies code patches to the running project with automatic PM2 process restarts and rollback tolerance, so the supervised services are reloaded safely after changes.
π± Android-MicroServer: Autonomous ARM64 Linux Micro-Server & AI Appliance
π Language: English | Leer esta documentaciΓ³n en EspaΓ±ol
π Table of Contents
Related MCP server: mobile-debug-mcp
1. Project Vision & Philosophy
Millions of fully functional smartphones end up forgotten in drawers or landfills every year simply because their software updates ended or their screens got scratched. Yet, an average mid-range smartphone packs formidable hardware:
An ultra-efficient multi-core ARM64 processor.
Low-power LPDDR RAM.
Integrated dual-band Wi-Fi and Bluetooth radios.
A built-in battery acting as a natural UPS (Uninterruptible Power Supply), safeguarding the system from unexpected blackouts with zero data corruption.
Dozens of hardware sensors (temperature, voltage, current) directly accessible via the Linux
sysfstree.
Android-MicroServer taps into this potential: it turns a Motorola One (XT1941-5) into a high-fidelity personal micro-server drawing under 5W, accessible worldwide via custom domain with strict SSL, and governed by an autonomous AI developer agent via the open Model Context Protocol (MCP).
2. Key Features
β‘ Ultra-Low Power Draw (< 5 Watts): Less power than a standard LED bulb; designed to run 24/7/365 without impacting your electric bill.
π Built-In UPS / Battery Backup: The 3000 mAh internal battery keeps the server online during power outages for 6 to 8 continuous hours.
π€ Embedded AI Agent (Claude Desktop PWA): Installable progressive web app with Server-Sent Events (SSE) streaming, smart chat title extraction, and individual conversation deletion.
π Deep Hardware Telemetry: Per-second monitoring of Qualcomm Snapdragon cores (8x Cortex-A53), Adreno 506 GPU, battery charging sensors (mA, mV, status, temperature), and thermal zones.
π‘οΈ Cybersecurity Suite & Encrypted Vault:
Encrypted credential vault (
vault_data/).File Integrity Monitoring (FIM) with SHA-256 baselines.
Threat Hunter and automated brute-force IP bans.
Configurable DEFCON modes.
π Markdown Notes Manager: Fast JSON storage with tag support, search, and offline-capable synchronization.
π» Web Terminal Console (
ttyd): In-browser bash terminal protected behind a reverse proxy.π Autonomous MCP Development Server: Enables AI assistants (Claude, Antigravity, Cursor) to inspect system architecture, read source code, and apply code patches with automated PM2 reload and fault-tolerant rollback.
π« Zero Dependency on Cables or ADB: Once deployed, all administration, development, and maintenance are 100% wireless over LAN/HTTPS.
3. System Architecture
3.1 Full Topology
flowchart TD
subgraph WAN ["π Internet & Remote Clients"]
UserBrowser["π± Web Browser / Installed PWA"]
AIAgent["π€ LLM Agent / Antigravity / Claude Code"]
end
subgraph CDN ["βοΈ Cloudflare Edge"]
CFDNS["Cloudflare DNS (your-server-domain.com)"]
CFSSL["SSL Termination & DDoS Shield"]
CFWAF["WAF & User-Agent Verification"]
end
subgraph Phone ["π± Motorola One XT1941-5 (Snapdragon 625)"]
subgraph NetLayer ["Ports & Reverse Proxy"]
Nginx["Nginx Reverse Proxy (:80 -> :443)"]
end
subgraph Chroot ["Kali Linux ARM64 Chroot (/data/local/kali)"]
subgraph Supervisor ["PM2 Supervisor"]
PM2["PM2 God Daemon v7.0.4"]
AppDashboard["dashboard: Python 3 aiohttp (:8080)"]
AppTtyd["ttyd: Terminal Console (:7681)"]
end
subgraph Modules ["Backend Modules"]
ServerPy["server.py (Core & Telemetry)"]
SecPy["security.py (Auth, PIN, IP Bans)"]
CyberPy["cyber_suite.py (Vault, FIM, DEFCON)"]
NotesPy["notes_manager.py (CRUD Notes)"]
MCPApp["mcp/server.py (MCP JSON-RPC Protocol)"]
end
subgraph Daemons ["System Daemons"]
AntiDoze["anti_doze.py (Kernel Wakelock)"]
CronD["Cron Daemon"]
Dropbear["OpenSSH / Dropbear (:22)"]
end
end
subgraph AndroidKernel ["Android Kernel 3.18 (Magisk Root)"]
SysBattery["/sys/class/power_supply/battery/*"]
SysGPU["/sys/class/kgsl/kgsl-3d0/*"]
SysThermal["/sys/class/thermal/thermal_zone*"]
SysCPU["/sys/devices/system/cpu/cpu0..7/*"]
SysTorch["/sys/class/leds/led:torch_0/brightness"]
end
end
UserBrowser -->|"HTTPS (your-server-domain.com)"| CFDNS
AIAgent -->|"HTTPS REST / MCP Stdio / SSE"| CFDNS
CFDNS --> CFSSL --> CFWAF
CFWAF -->|"WAN IP -> Port 443"| Nginx
Nginx -->|"Proxy Pass 127.0.0.1:8080"| AppDashboard
Nginx -->|"WebSocket 127.0.0.1:7681"| AppTtyd
AppDashboard --> ServerPy
ServerPy --> SecPy
ServerPy --> CyberPy
ServerPy --> NotesPy
ServerPy -->|"Read sysfs"| SysBattery
ServerPy -->|"Read sysfs"| SysGPU
ServerPy -->|"Read sysfs"| SysThermal
ServerPy -->|"Read sysfs"| SysCPU
ServerPy -->|"Write sysfs"| SysTorch
AntiDoze -->|"Write /sys/power/wake_lock"| AndroidKernel3.2 Hardware Specifications (Motorola One XT1941-5)
Component | Technical Specification | Linux Driver / sysfs Path |
Device / Model | Motorola One (XT1941-5) (Codename: | Base Android One + Kali Linux aarch64 chroot |
SoC | Qualcomm Snapdragon 625 (MSM8953) | ARM64 v8-A Architecture |
CPU | 8x ARM Cortex-A53 @ 2.016 GHz |
|
GPU | Qualcomm Adreno 506 @ 650 MHz |
|
RAM | 4 GB LPDDR3 (3570 MB usable) |
|
Swap / zRAM | 2048 MB swapfile / compressed zRAM |
|
Storage | 64 GB eMMC 5.1 + MicroSD slot (51.3 GB mounted) |
|
Battery | 3000 mAh Li-ion (Natural UPS) |
|
Thermal Sensors | Independent sensors for CPU, PMIC, and chassis |
|
Physical Torch | High-power camera flash LED |
|
Connectivity | Wi-Fi 802.11 a/b/g/n (2.4 & 5 GHz) + Bluetooth 4.2 | Network interface |
4. Repository Structure
android-microserver/
βββ server/ # Server backend code (deployed to /root/dashboard)
β βββ server.py # Core aiohttp server, router, telemetry & SSE agent bridge
β βββ security.py # Auth layer, HTTP-only sessions, PIN validation & IP firewall
β βββ cyber_suite.py # Encrypted vault, FIM file integrity checker & DEFCON modes
β βββ notes_manager.py # Lightweight JSON notes manager with tag & markdown support
β βββ anti_doze.py # Wakelock daemon preventing Android CPU sleep
β βββ keep_alive.sh # Emergency watchdog script
β βββ gdrive_uploader.py # Automated Google Drive backup module
β βββ static/ # Static web frontends & Progressive Web Apps (PWAs)
β βββ agent.html # Claude Desktop-styled PWA for the AI agent
β βββ agent-manifest.json # Standalone install manifest for the Agent PWA
β βββ agent-sw.js # Service Worker managing Agent PWA caching
β βββ index.html # Control dashboard with live hardware telemetry gauges
β βββ ... # SVG/PNG icons, CSS, and vendor assets
β
βββ client/ # Utilities to administer the server from any workstation
β βββ remote_bridge.py # All-in-one CLI: stats, remote bash execution, file reader
β βββ sync_backup.py # Two-way backup synchronization over streaming tar.gz
β
βββ mcp/ # "motoserver-dev" Model Context Protocol (MCP) server
β βββ server.py # JSON-RPC 2.0 stdio server exposing 8 specialized tools
β βββ instructions.md # Automated instruction context for LLM assistants
β βββ schemas/ # Validated JSON schemas for each MCP tool
β β βββ motoserver_get_architecture.json
β β βββ motoserver_inspect_component.json
β β βββ motoserver_api_catalog.json
β β βββ motoserver_server_health.json
β β βββ motoserver_feature_blueprint.json
β β βββ motoserver_run_remote_command.json
β β βββ motoserver_read_remote_file.json
β β βββ motoserver_apply_patch_and_restart.json
β βββ config/
β βββ mcp_config.example.json # MCP configuration template for Claude / Cursor / Antigravity
β
βββ skills/ # Agent skills catalog
β βββ motoserver-dev/
β βββ SKILL.md # Skill specification and architectural rules
β
βββ Dockerfile # Container definition for containerized MCP testing
βββ llms.txt # Standard LLM discovery and intent metadata
βββ LICENSE # MIT Open Source License
βββ README.md # Complete documentation5. Step-by-Step Installation & Setup Guide
Follow this guide to replicate this autonomous micro-server on your Android device:
Step 1: Android Preparation & Root
Unlock the Bootloader of the device (on Motorola via the official Motorola Developer Portal).
Flash Magisk (v24+) via TWRP or OrangeFox recovery to establish permanent root access (
su).Enable USB Debugging and turn on "Stay awake while charging" in Developer Options for initial configuration.
Step 2: Deploying the Kali Linux Chroot
You can use apps such as Linux Deploy or deploy the chroot manually in /data/local/kali:
# Connect to Android shell as root
adb shell
su
# Create directory and prepare rootfs
mkdir -p /data/local/kali
cd /data/local/kali
# Download and unpack Kali Linux ARM64 rootfs
# (or bootstrap via debootstrap from a Linux host)Essential mounts required in the chroot startup script:
mount -o bind /dev /data/local/kali/dev
mount -t devpts devpts /data/local/kali/dev/pts
mount -t proc proc /data/local/kali/proc
mount -t sysfs sysfs /data/local/kali/sys
mount -o bind /sdcard /data/local/kali/sdcard
# Enter chroot environment
chroot /data/local/kali /bin/bashStep 3: Installing System Dependencies
Inside the Kali Linux chroot:
apt update && apt upgrade -y
apt install -y python3 python3-pip python3-venv git curl wget nginx ttyd dropbear build-essential
curl -fsSL https://deb.nodesource.com/setup_20.x | bash -
apt install -y nodejs
npm install -g pm2Step 4: Installing Backend & Microservices
Clone this repository or copy the server/ directory into /root/dashboard:
mkdir -p /root/dashboard
cp -r server/* /root/dashboard/
cd /root/dashboard
# Install required Python packages
pip3 install -r requirements.txtStep 5: Nginx & Cloudflare SSL Setup
Create the Nginx configuration in /etc/nginx/sites-available/default:
server {
listen 80;
server_name your-server-domain.com;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl http2;
server_name your-server-domain.com;
ssl_certificate /etc/nginx/ssl/cloudflare_origin.crt;
ssl_certificate_key /etc/nginx/ssl/cloudflare_origin.key;
ssl_protocols TLSv1.2 TLSv1.3;
# Core Dashboard & API
location / {
proxy_pass http://127.0.0.1:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto https;
# Server-Sent Events (SSE) streaming support
proxy_set_header Connection '';
proxy_http_version 1.1;
chunked_transfer_encoding off;
proxy_buffering off;
proxy_cache off;
}
# Web Terminal Console (ttyd with WebSockets)
location /terminal/ {
proxy_pass http://127.0.0.1:7681/;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_read_timeout 86400s;
}
}Reload Nginx: systemctl restart nginx or service nginx restart.
Step 6: PM2 Supervisor Configuration
Start services in the background so they automatically recover on crashes:
cd /root/dashboard
# Start core aiohttp server
pm2 start server.py --name "dashboard" --interpreter python3
# Start web terminal console
pm2 start "ttyd -p 7681 -t fontSize=14 bash" --name "ttyd"
# Save process list for reboots
pm2 saveStep 7: 24/7 Uptime & Anti-Doze Wakelock
To prevent the Android Linux kernel from throttling or suspending the CPU when the screen is dark, run anti_doze.py on boot:
python3 /root/dashboard/anti_doze.py &This daemon writes motoserver_wakelock to /sys/power/wake_lock, ensuring all 8 cores remain active 24 hours a day.
6. Backend Modules (server/)
server.py
The asynchronous backbone powered by aiohttp.web. Key capabilities:
api_stats(request): Reads kernel sysfs metrics directly:Battery:
/sys/class/power_supply/battery/capacity,temp,voltage_now,status.CPU: Overall utilization and individual load per core across all 8 Cortex-A53 cores, plus active clock speeds (
scaling_cur_freq).GPU: Current clock frequency and
Adreno506device status via/sys/class/kgsl/kgsl-3d0/.Thermals: Reads
/sys/class/thermal/thermal_zone*nodes (CPU, PMIC, Chassis).Supervisor state: Real-time health check on PM2 processes (
pm2_dashboard_alive,pm2_ttyd_alive).
api_agent_stream(request): SSE (Server-Sent Events) streaming bridge for LLM prompts, returning real-time markdown deltas and command outputs. Guarded by Bearer token authorization.api_agent_conversations(request): Scans conversation transcripts (transcript.jsonl), extracts user prompts, and automatically titles chat sessions.api_agent_conversation_delete(request): Deletes specific conversation history folders via UUID.
security.py
Core defensive shielding:
Secure Session Cookies: Tamper-proof session validation using
HttpOnly; SameSite=Laxcookies.PIN-Protected Admin Operations: High-privilege endpoints protected by a customizable PIN.
Brute-Force Shield: Logs authentication failures in
security_events.jsonand issues IP bans.
cyber_suite.py
Advanced defensive features:
Encrypted Vault (
vault_data/): AES-256-GCM encrypted credential store derived from master password.File Integrity Monitoring (FIM): Continuously verifies critical system scripts against SHA-256 baseline hashes (
fim_baseline.json).DEFCON Levels: Fast-switch defensive lockdown modes.
notes_manager.py
Lightweight task and documentation manager:
High-speed JSON storage in
notes_data.json.Full-text search and tag filtering.
Safe archive and restore features.
7. Frontend Applications & PWAs (server/static/)
All user interfaces are built as standalone Progressive Web Apps (PWAs) with dedicated manifest.json and Service Workers, allowing installation on Android, iOS, Windows, and macOS home screens.
7.1 Claude Desktop-Themed AI Agent Interface (agent.html)
Designed following the visual identity of Claude Desktop:
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β [β‘] New Conversation π Delete Chat β
ββββββββββββββββ¬ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β Conversation β β
β History β User: β
β β What is the status of the Snapdragon 625? β
β β’ Optimize β β
β β’ Diagnostic β Antigravity Agent: β
β β’ PM2 Logs β The Qualcomm Snapdragon 625 is currently at β
β β 34.2 Β°C with a 14.5% average load across 8 cores... β
β β β
β β ```bash β
β β pm2 status dashboard β
β β ``` β
β β β
β π Delete β ββββββββββββββββββββββββββββββββββββββββββββββββ [β€] β
β β β Type your prompt here... β β
ββββββββββββββββ΄βββ΄βββββββββββββββββββββββββββββββββββββββββββββββ΄ββββββββVisual Design Tokens:
Background:
#1b1917(Deep Stone Black).Sidebar:
#262422(Warm Charcoal).Accent Color:
#b55d3e(Terracotta Clay).Cards & Surfaces:
#35322ewith subtle#3e3c38borders.Typography: Neutral high-contrast text
#ecececwith#9c9790secondary labels.
Key Features:
Smart Title Extraction: Automatically labels conversation items based on initial user prompts.
Individual Chat Deletion: Each chat includes a delete action (
π) with an animated confirmation modal andEsckey dismiss.Smooth Auto-Scroll: Utilizes a
MutationObserverto autoscroll during streaming, pausing automatically if the user scrolls up.Code Copying: Interactive copy button on code blocks with visual feedback.
7.2 Hardware Telemetry Dashboard (index.html)
Real-time speedometer gauges for:
Battery capacity (%) and charging state (Discharging, Charging, Full).
Battery and CPU core temperatures.
RAM and Swap memory utilization.
Interactive toggle for physical camera LED flashlight.
Dynamic bar chart for all 8 CPU core frequencies.
8. Comprehensive REST API Catalog
β System & Hardware Telemetry
Endpoint | Method | Auth | Parameters / Body | Response |
|
| No | None | JSON with live telemetry (CPU, GPU, RAM, thermals, PM2, battery). |
|
| No | None | Static hardware specifications, kernel release, and uptime. |
|
| Yes |
| Toggles the phone's physical LED torch. |
|
| Yes |
| Restarts specified PM2 service. |
π€ AI Agent & Automation
Endpoint | Method | Auth | Parameters / Body | Response |
|
| Bearer Token |
| SSE event stream ( |
|
| No | None | Chronological list of chats with |
|
| No | Path UUID | Complete message history of requested conversation. |
|
| No | Path UUID |
|
|
| No | Path UUID | Alternative POST route for deleting conversations. |
π File Manager
Endpoint | Method | Auth | Parameters / Body | Response |
|
| Yes |
| Lists files and folders with size and permissions. |
|
| Yes |
| Raw text content of requested file. |
|
| Yes |
| Writes updated content to target file. |
|
| Yes | Multipart Form-Data | Uploads binary or compressed files to server. |
π Notes & Tasks
Endpoint | Method | Auth | Parameters / Body | Response |
|
| No | None | List of all active saved notes. |
|
| No |
| Creates or updates a note. |
|
| No |
| Deletes specified note. |
|
| No |
| Toggles task completion state. |
π‘ Cybersecurity & Vault
Endpoint | Method | Auth | Parameters / Body | Response |
|
| Yes | None | Overview of banned IPs and active sessions. |
|
| Yes | None | List of stored credential keys in vault. |
|
| Yes |
| Stores encrypted secret using master password. |
|
| Yes |
| Sets server defensive posture level. |
9. MCP Server: Autonomous Development Agent (mcp/)
The Model Context Protocol (MCP) is an open standard developed by Anthropic connecting AI models with local tools and development environments.
This repository includes a native MCP server (mcp/server.py) implementing the JSON-RPC 2.0 stdio specification. It is written using Python's standard library with zero external dependencies.
9.1 The 8 Specialized MCP Tools
Tool | Parameters | Action Description |
|
| Returns the complete system map in JSON (Hardware, Kernel, Network, PM2, Backend, Frontend). |
|
| Deep-dive inspection of core components: |
|
| Returns REST API specifications with signatures and expected payloads. |
|
| Queries live |
|
| Generates architectural blueprints adapted to the thermal and RAM constraints of the Snapdragon 625. |
|
| Reads exact lines from remote files without downloading the full codebase. |
|
| Runs remote bash commands inside the Kali Linux chroot with timeout protection. |
|
| Applies code patches with automated backups, python syntax checks, and PM2 service reloads. |
9.2 Safe Deployment Flow with Auto-Rollback
To prevent code patches from rendering the micro-server inaccessible, motoserver_apply_patch_and_restart follows a strict protocol:
[Patch Initiated]
β
βΌ
1. Timestamped Backup Created (.bak.<ts>)
β
βΌ
2. Safe String Injection (Base64 Safe)
β
βΌ
Is target a Python file (.py)?
βββ YES βββΊ 3. Run 'python3 -m py_compile'
β β
β βββ Syntax Error Detected?
β β β
β β βΌ
β β [IMMEDIATE ROLLBACK]
β β - Restore target from .bak
β β - Cancel PM2 reload
β β - Return exact Traceback to LLM
β β
β βββ Syntax Valid βββ
βββ NO ββββββββββββββββββββββββββββ€
βΌ
4. Run 'pm2 restart <service>'
β
βΌ
5. Verify Health at /api/stats
β
βΌ
[Deployment Successful]9.3 Setup in Antigravity / Claude Code / Cursor
To connect your local AI development environment to the micro-server, add the following configuration to your MCP config file (e.g. ~/.gemini/config/mcp_config.json or Cursor / Claude Desktop settings):
{
"mcpServers": {
"android-microserver-dev": {
"command": "python",
"args": [
"/absolute/path/to/android-microserver/mcp/server.py"
],
"env": {
"PYTHONIOENCODING": "utf-8",
"MOTOSERVER_HOST": "https://your-server-domain.com",
"MOTOSERVER_AGENT_KEY": "YOUR_AGENT_API_KEY"
}
}
}
}10. Cable-Free Client Bridge (client/remote_bridge.py)
No USB cables or ADB connections are required once the server is deployed. The client/remote_bridge.py CLI allows complete administration over LAN or HTTPS:
Example Usage:
# 1. Check live uptime, battery, and CPU thermals:
python client/remote_bridge.py stats
# 2. Inspect raw, detailed hardware metrics:
python client/remote_bridge.py stats --detailed
# 3. Execute remote bash commands inside Kali Linux chroot:
python client/remote_bridge.py exec "free -h && df -h"
python client/remote_bridge.py exec "pm2 list"
# 4. Read remote code files (e.g. lines 1 to 40 of server.py):
python client/remote_bridge.py read /root/dashboard/server.py --start 1 --lines 40
# 5. Restart a PM2 microservice remotely:
python client/remote_bridge.py restart dashboardAutomatic Backup Synchronization (client/sync_backup.py):
Need to pull an updated snapshot of the server to your local workstation?
python client/sync_backup.pyThis utility streams a .tar.gz snapshot from the phone directly to your computer over HTTP in under 10 seconds, updating your local server/ directory.
11. Antigravity Skill (skills/)
Located at skills/motoserver-dev/SKILL.md, this skill instructs AI agents on architectural best practices:
Never block the event loop: Offload CPU-heavy operations using
loop.run_in_executor().Anti-Slop Visual Guidelines: Preserve the Claude Desktop color scheme when modifying frontends; avoid generic corporate gradients.
Cache Invalidation: Always bump the cache key in
agent-sw.jswhen modifying frontend assets.
12. Optimization, Thermals & Battery Health
Running a smartphone 24/7 plugged into a charger requires proper precautions to preserve hardware longevity:
Thermal Optimization:
Normal operating temperature ranges between 30 Β°C and 36 Β°C.
Keep the phone upright or on a stand allowing passive heat dissipation from the rear chassis.
If internal temperatures exceed 45 Β°C, Android kernel thermal throttling will slow down CPU cores. The
/api/statsendpoint actively monitors this threshold.
Battery Care & Swelling Prevention:
To prevent chemical battery stress caused by sitting at 100% capacity continuously, install the ACC (Advanced Charging Controller) Magisk module:
acc 75 70 # Stop charging at 75%, resume when dropping below 70%This keeps the battery in its lowest chemical degradation window, operating as a permanent UPS without battery swelling.
13. Porting to Other Android Devices
While optimized for the Qualcomm Snapdragon 625 (MSM8953), this architecture is modular and easily adapted to any ARM64 Android device (Snapdragon, MediaTek Helio/Dimensity, Samsung Exynos, Google Tensor):
Subsystem | Qualcomm Snapdragon Path | Common MediaTek / Exynos Path |
Battery |
|
|
GPU |
|
|
CPU Frequency |
|
|
Thermal Zones |
|
|
Torch LED |
|
|
To port to other devices, simply update the path variables in api_stats inside server/server.py.
14. Frequently Asked Questions & Raspberry Pi Comparison (FAQ)
β Why repurpose an old Android phone instead of buying a Raspberry Pi?
Feature | π± Android Smartphone (Android-MicroServer) | π Raspberry Pi 4 / 5 |
Initial Cost | $0 USD (Recycled / Existing hardware) | $60 - $120 USD (Board + PSU + Case + MicroSD) |
Built-in UPS Against Outages | Integrated out of the box (3000-5000 mAh battery = 6-8h uptime) | Requires external UPS HAT or battery pack ($30-$50 USD) |
Data Corruption Risk | Minimal: Onboard eMMC/UFS backed by battery buffer | High: MicroSD cards frequently corrupt during blackouts |
Wireless Connectivity | Dual-Band Wi-Fi, Bluetooth, plus optional 4G LTE cellular failover | Wi-Fi / Bluetooth only |
Telemetry Display | Built-in touchscreen for gauges and console output | Requires external HDMI display or display HAT |
Average Power Draw | < 3 to 5 Watts (Ultra-efficient smartphone SoC) | 5 to 12 Watts under load |
π€ How do AI coding assistants interact with this server?
The project implements the official Model Context Protocol (MCP) in mcp/server.py. When connected to Claude Desktop, Cursor, or Antigravity, the assistant gains direct tools to:
Query deep hardware telemetry without SSH overhead.
Read remote code files with pagination.
Propose code patches, validate syntax, and reload PM2 services with automated rollback on failure.
π‘οΈ Is it safe to expose this server to the public Internet?
Yes. It uses a defense-in-depth security model:
No exposed router ports: Uses Cloudflare Tunnels or strict reverse proxy SSL termination.
Bearer Authentication: Command execution endpoints (
/api/agent/stream) returnHTTP 401 Unauthorizedwithout valid authentication.Active Host Defense: Includes automated file integrity monitoring (
cyber_suite.py) and IP banning against brute-force attacks.
π Recommended Use Cases
Ultra-Efficient Homelab Node: Host lightweight microservices, Telegram/Discord bots, cron jobs, and home automations.
IoT & Edge Telemetry Station: Remote monitoring appliance with continuous battery resilience.
Autonomous AI Testing Ground: Sandbox environment where AI assistants can deploy and test services safely.
Self-Hosted Markdown Notes Vault: Encrypted personal documentation and task tracking.
15. License & Credits
License: Distributed under the MIT License. Open-source and free for personal, educational, and commercial use.
LLM Discovery: Adheres to the llms.txt standard for generative engine search.
Author & Developer: Richpol99
Ecosystem: Built with open-source tools: Linux, Python aiohttp, PM2, Nginx, Kali Linux, and the Model Context Protocol (MCP).
This server cannot be deployed
Maintenance
Related MCP Connectors
Dedicated remote-access US-based Android phones with a real US number. Pay crypto, control via MCP.
Melaya is a remote MCP server. It gives an assistant hands on your own Android phone and browser: it reads the screen through the accessibility tree, then taps, types and navigates inside the apps and sites you allow-list, with no per-app API. It also builds, schedules and runs agent pipelines across 6k+ connected tools. OAuth 2.1, nothing to install.
No-KYC VPS + per-second code sandboxes AI agents run over MCP β 75 tools, SDK, pay BTC/XMR/USDC/USDT
Hosting for AI agents: your AI client deploys Docker apps to live HTTPS URLs over MCP.
Related MCP Servers
- AlicenseNot gradedqualityAmaintenanceTurn your Android phone into an MCP server. AI assistants connect on demand, query your health data, notifications, app usage, and take actions on your device β all end-to-end encrypted, no cloud sync.5Apache 2.0
- AlicenseAqualityBmaintenanceA minimal, secure MCP server for AI-assisted mobile development, enabling build, install, interact, and inspect Android/iOS apps.33560 npm13Apache 2.0
- AlicenseAqualityDmaintenanceAn MCP server that gives AI agents full control of Android devices and emulators through plain ADB β no companion APK, no extra daemon, no telemetry.2619 npm4MIT
- AlicenseNot gradedqualityBmaintenanceEnables LLM agents to remotely perform Termux/Android operations through a hosted MCP endpoint, including device status checks, shell command execution, and package management.18 npm1MIT