Eyes & hands for your AI app-dev agent.
.NET MAUI
Android
Flutter
React Native
Expo
WinUI 3
WPF
Ailoha empowers your AI coding agent to actually see, operate, and inspect your native app — not just write code for it. It drives simulators and devices, reads live UI, taps controls, fills fields, and captures logs and network — on real views, not a web shell.
-
01
Install the CLI — it's also the MCP server
curl -fsSL https://ailoha.dev/install.sh | bashiex "& { $(irm https://ailoha.dev/install.ps1) }" -
02
Init your project - detects MAUI, Android, Flutter, RN, or Expo
ailoha init -
03
Ask your agent — Claude, Copilot CLI, Cursor, any MCP client› “Add a login screen to my MAUI app and verify it works on iOS.”
Built for the frameworks you ship with
.NET MAUI
Android
Flutter
React Native
Expo
WinUI 3
WPF
Most agents are flying blind. Ailoha gives them sight and touch.
Without Ailoha, your agent guesses from screenshots and stack traces. With Ailoha, it reads the live view tree, taps real controls, captures network and logs, and verifies the result — closing the dev/debug loop the same way a human developer would.
Pixels & guesswork
- ✕ Agent reads screenshots, hopes the OCR is right.
- ✕ Can’t reach controls without coordinates that drift between builds.
- ✕ No network insight, no logs, no permission state.
- ✕ Loops break the moment the layout changes.
Semantic, deterministic, fast
- ✓ Agent inspects the actual view tree by stable IDs.
- ✓ Taps and types the real controls — across iOS, Android, Mac, Windows, Linux.
- ✓ Captures network, logs, permissions, alerts, even WebViews.
- ✓ Verifies the result and keeps going. No human-in-the-loop required.
Closed loop · runs locally
Everything an agent needs to drive a real app.
Each capability is a stable HTTP/MCP endpoint. Same protocol on every framework.
Inspect the UI tree
Walk the live visual tree by automation IDs, types, or text. Query exactly the node you need.
Tap, type, navigate
Drive real controls with stable IDs. Fill inputs, navigate routes, scroll lists — deterministically.
Screenshots & video
Pixel-perfect captures for the agent to verify visual state. Single frame or session recording.
Network capture
Watch every request the app makes — URLs, headers, payloads, status — without a proxy on the device.
Streaming logs
Tail platform logs at any level. Agent sees the warning the moment it fires.
WebView inspection
Bridge into WebViews. Evaluate JS, query the DOM, even debug Blazor — same protocol.
Permissions & alerts
Grant camera, location, notifications. Detect and dismiss native alerts so flows never get stuck.
MCP-native
The CLI is also an MCP server. Drop into Claude, Copilot CLI, Cursor — your agent gets the toolset for free.
First-class CLI
Every capability is a clean ailoha command. Scriptable, automatable, agent-friendly.
Profiler & hotspots
Start sampling sessions, mark spans, surface slow frames and hot stacks. Agent-readable performance signal, no Instruments dance.
Device & sensors
Read display, battery, connectivity, app info. Stream accelerometer, gyro, geolocation. Trigger background jobs on demand.
Files, prefs & secrets
Browse the app sandbox, push and pull files, read or write preferences and secure storage entries. Set up state, then verify the result.
Bluetooth (BLE)
Start scans, observe advertisement and connection events. Debug peripheral integrations without flying blind.
Database interaction
Query and read your app's local databases — SQLite, EF Core, Drift, Realm — straight from your agent. Inspect rows, run ad-hoc queries, verify migrations.
Ship Ailoha support with your library.
Built an ORM, a navigation router, an analytics SDK, a feature-flag system? Ship a tiny extension alongside it. Every app that pulls in your package gets first-class agent tooling for free — no manual wiring, no protocol fork.
- ▸Namespace it. Reverse-DNS like com.acme.featureflags — your tools never collide with anyone else's.
- ▸Auto-discovered. Routes & JSON schemas show up on the capabilities endpoint the moment your package is referenced.
- ▸MCP-ready. Every tool flows through the same MCP server — Claude, Copilot CLI, Cursor, all of them.
- ▸One API per platform. RegisterExtension(...) in .NET, registerExtension(...) in Dart, the same shape in JS/TS.
// One extension method your consumers call. They get agent tooling for free. public static AgentOptions UseAcmeFeatureFlags(this AgentOptions options) { var ext = options.RegisterExtension( "com.acme.featureflags", "Read & toggle Acme feature flags at runtime.", version: "1.0.0", features: new[] { "list", "set" }); ext.MapTool( "list", "List all feature flags and their current values.", "GET", "/flags", _ => Task.FromResult(HttpResponse.Json(FeatureFlags.Snapshot()))); ext.MapTool( "set", "Toggle a single flag on or off for this session.", "POST", "/flags/{key}", req => { FeatureFlags.Set(req.Route["key"], req.Json<bool>()); return HttpResponse.Ok(); }); return options; }
// MauiProgram.cs in the consuming app: builder.AddMauiDevFlowAgent(o => o.UseAcmeFeatureFlags()); // …now any MCP-aware agent has the tools: $ ailoha ext call com.acme.featureflags/list { "newCheckout": false, "darkMode": true } › "Turn on newCheckout and verify the cart still works on iOS." ✓ flag flipped · cart screen verified · 0 console errors
Works with the AI tools you already use.
Ailoha exposes every capability over the Model Context Protocol — no custom integration required.
- Claude Code
- GitHub Copilot CLI
- Cursor
- Continue
- Cline
- Any MCP client
One protocol. Every popular UI stack.
Each platform agent speaks the same DevFlow protocol — so your agent's playbook works everywhere.
.NET MAUI
In-process via AddMauiDevFlowAgent(). iOS, Android, macOS, Windows, GTK, Blazor WebView.
Read guide →Flutter
Pure-Dart in-isolate HTTP server. Walks the widget tree, taps by ValueKey.
Read guide →Native Android
Embedded Kotlin agent for Android Views and Jetpack Compose. Stable IDs via resource IDs, tags, or testTag.
Read guide →React Native
Native server + JS bridge. Stable IDs via testID. React Navigation aware.
Read guide →Expo
Drop-in Expo plugin. Works in dev client and EAS builds.
Read guide →WinUI 3
Native WinUI agent for desktop apps. Same protocol as mobile.
Read guide →WPF
SDK-style WPF agent with WebView2, screenshots, and broker discovery.
Read guide →DevFlow Protocol
Add your own platform. OpenAPI + AsyncAPI + JSON Schema. Bring SwiftUI, Jetpack Compose, anything.
Read the spec →One protocol. Any platform.
The DevFlow Agent Protocol is the contract every Ailoha agent implements. Read the spec, then drop the agent into your app.