motor.mcp_server
Enables local GUI exploration, semantic navigation, and verified actions on Android devices using a compatible DAXQO Android bridge, supporting both physical devices and simulated environments.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@motor.mcp_serverexplore demo.app and show me the screens you find"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
DAXQO Motor
Local GUI exploration, verified navigation and persistent app maps for any harness.
Motor 将页面观察、有限探索、语义导航和动作核验封装为独立工具。支持 Python API、命令行、MCP 和可替换设备适配器,采集器为可选组件。
Python 3.10+, standard-library-only core, MIT license.
Persistent app maps, bounded exploration and observed action verification.
Device leases, cancellation and escalation when verification is uncertain.
No model provider or cloud service required.
Install and try without a phone
python -m pip install "git+https://github.com/axiomzero-qed/DAXQO-Motor.git@v0.1.0"
daxqo-motor --adapter motor.demo:create_adapter doctor
daxqo-motor --adapter motor.demo:create_adapter --data ./data scout demo.app --page-only --max-depth 1From a source checkout: python -m pip install .. Motor runs without Trajectory Collector or a sibling source directory. The demo is a synthetic in-memory backend, not a physical phone.
Related MCP server: syl-mcp
Connect another harness over MCP
python -m motor.mcp_server --adapter motor.demo:create_adapter --map-db ./data/map.sqlite3 --source my_harnessTools: motor_map, motor_scout, motor_navigate, motor_reflex, motor_cancel.
Replace the demo with Android or a trusted module:factory. Every entry point uses the same guarded Motor engine. See host config and adapter contract.
Physical Android adapter
A phone needs a compatible DAXQO Android bridge with Motor lease/event routes and owner-enabled control permissions. Pairing and Android permissions remain enforced. Another harness does not need DAXQO's agent server or model configuration.
On the phone's existing Linux:
python -m motor.mcp_server --state-dir /path/to/bridge/pairing-state --map-db ./data/map.sqlite3From an authorized USB host:
daxqo-motor --adb /path/to/adb --serial DEVICE_SERIAL doctor
python -m motor.mcp_server --adb /path/to/adb --serial DEVICE_SERIAL --map-db ./data/map.sqlite3ADB comes from --adb, DAXQO_ADB, PATH or Android SDK environment variables. --android-package selects another compatible bridge APK. Use --device-id with a stable UUID if the bridge has no identity endpoint.
Native build instructions use explicit compatible source paths. Python installation neither installs an APK nor enables phone permissions.
Optional recording
Install Collector separately before using recording or the collector extra:
python -m pip install "git+https://github.com/axiomzero-qed/DAXQO-Trajectory-Collector.git@v0.1.0"
daxqo-motor --serial DEVICE_SERIAL --trajectory-data /path/to/shared-dataset scout io.daxqo.motorfixture --collectMCP defaults to no collection. --trajectory-feedback attaches context to an existing bridge recording session without starting/stopping it or ACKing records. CLI --collect explicitly owns a recording session and requires a Dataset root. Map and Dataset paths are separate. See Collector integration.
Python API
from pathlib import Path
from motor import Motor, MapStore
from motor.plugins import load_adapter
adapter = load_adapter("motor.demo:create_adapter")
with MapStore(Path("./data/map.sqlite3")) as store:
result = Motor(adapter, store).scout("demo.app")External adapters supply observations, truthful execution results and device-wide ownership enforcement. An optional recording sink can be passed to Motor(adapter, store, sink=None).
Development
python -m pip install ".[dev]"
python -m unittest discover -s tests
python -m build
python examples/mcp_smoke.pyThe independent MCP client test uses the synthetic backend. Physical-device acceptance remains separate. Historical results: ACCEPTANCE.md, BENCHMARK.md.
Source releases exclude device data, credentials, generated reports, APKs and website sources.
This server cannot be deployed
Maintenance
Related MCP Connectors
Governed data discovery, exact queries, decisions, simulations, and runtime utilities over MCP.
Clean PNG/JPEG screenshots via REST or MCP, with goal-driven multi-step navigation.
Run and manage H Company's Computer-Use Agents from any MCP client.
Drive real devices from your AI Coding tool. Embed a client SDK (Unity, Godot, Flutter, iOS/macOS, Android, React Native, Web) in your app, then capture screenshots, traverse the UI tree, inject taps and key events, and run automated test tasks on the physical device over a secure relay.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceProvides automated GUI testing and control capabilities through an MCP server that enables mouse movements, keyboard input, screen captures, and image recognition across Windows, macOS, and Linux.46MIT
- AlicenseNot gradedqualityBmaintenanceMCP server for safety-first automation and app QA, exposing deterministic tools to control graphical apps, browsers, terminals, Android devices, VMs, and SSH hosts.2 npmApache 2.0
- AlicenseNot gradedqualityCmaintenanceEnables MCP clients to inspect and operate native macOS apps through the Accessibility tree with safety-gated semantic actions, stale-state rejection, and outcome verification. Supports tools for app state reading, element finding, clicking, typing, form filling, window capture, and guarded workflows like menu selection and Save As.MIT
- FlicenseNot gradedqualityCmaintenanceEnables MCP clients to observe and control Windows desktop applications by reading UIA element trees and capturing screenshots, then acting through UIA patterns or synthesized mouse and keyboard input. It runs standalone on an interactive Windows session, without requiring the original host application.1-