astrolabe
Allows inspecting UI hierarchies, capturing screenshots, querying nodes, and applying presentation patches on iOS simulators or paired USB devices running a supported app with the Astrolabe Runtime SDK.
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
Astrolabe(星盘)
English | 简体中文
Astrolabe is a runtime UI inspection tool for AI coding agents. It combines a Swift CLI, a local MCP server, and a packaged agent skill to inspect and verify running mobile interfaces.
Android View inspection is supported through Astrolabe Runtime for Android 2.0.
Features
Discover supported apps running in iOS simulators, Android emulators, or on USB-connected devices.
Inspect UIKit and Android View hierarchies, node frames, visibility, text, styles, semantic roles, and detailed runtime attributes.
Capture native-resolution screenshots and compare them with expected images or recorded baselines.
Query nodes and verify style, layout, and node-detail expectations.
Keep related hierarchy operations bound to a frozen page snapshot.
Apply allowlisted, in-memory presentation patches in Debug builds and revert them without changing source code or persistent application state.
Expose the same inspection workflow through CLI commands, MCP tools, and the bundled
astrolabeskill.
Related MCP server: iPhone MCP
Requirements
macOS 13 or later
Swift 5.9 or later
Node.js 22 or later
Android Platform Tools (ADB) when inspecting Android apps
A supported app with an Astrolabe Runtime SDK enabled in Debug builds
Installation
Install Astrolabe with Homebrew:
brew install regulusleow/tap/astrolabeConfigure Astrolabe for a specific AI client:
astrolabe install --client codex
astrolabe install --client opencode
astrolabe install --client claude-codeTo configure every detected AI client at once:
astrolabe install --all-detectedHomebrew lifecycle operations do not modify AI-client configuration. Restart
the configured AI clients after running astrolabe install.
To install from source, clone the repository, then install Astrolabe for the AI clients you use:
git clone https://github.com/regulusleow/astrolabe.git
cd astrolabe
npm run install:codex
npm run install:opencode
npm run install:claude-codeCodex, OpenCode, and Claude Code can be installed independently or together. A multi-client installation builds the shared package once:
node scripts/install.mjs --client codex --client opencode --client claude-codeThe source installer builds a Distribution under ~/.astrolabe/distributions/source and links
the bundled skill into each client's supported user-level skill directory.
Each client adapter owns only its MCP configuration: Codex uses
~/.codex/config.toml, OpenCode uses ~/.config/opencode/opencode.json, and
Claude Code uses ~/.claude.json. Installing or uninstalling one client does
not remove another client's configuration or required skill link.
Restart the configured AI clients after installation.
Installation management commands:
npm run reinstall:codex
npm run check:codex
npm run uninstall:codex
npm run reinstall:opencode
npm run check:opencode
npm run uninstall:opencode
npm run reinstall:claude-code
npm run check:claude-code
npm run uninstall:claude-codeQuick Start
Launch a Debug build that includes a supported Runtime SDK, then discover it:
astrolabe list-apps --jsonUse the returned appId with inspection commands:
astrolabe inspect-screen <app-id> --json
astrolabe capture-hierarchy <app-id> --json
astrolabe find-nodes <app-id> --role text --visible-only --limit 20 --json
astrolabe inspect-node <app-id> --oid <oid> --json
astrolabe node-detail <app-id> <oid> --json
astrolabe capture-screenshot <app-id> --output /tmp/screen.png --source auto --jsonHierarchy commands return a snapshotId. Pass it to subsequent hierarchy,
node, style, and layout commands to keep the workflow bound to the captured
page. Screenshot and visual comparison commands always use the latest screen.
The installed MCP server exposes the same capabilities to Codex, OpenCode, and Claude Code. The bundled skill guides app discovery, snapshot reuse, node selection, runtime checks, screenshots, visual comparison, and temporary presentation experiments.
Development
Install dependencies and run the test suites:
npm ci
npm --prefix mcp-adapter ci
npm test
swift test --parallelBuild the Release CLI:
swift build -c release --product astrolabeRun end-to-end smoke tests with a supported app running:
npm run test:smoke
npm run test:usbRepositories
astrolabe-protocol: platform-neutral Wire Protocol, Schemas, Fixtures, and Swift/Kotlin DTOs and Codecs.
astrolabe-runtime-ios: Debug-only UIKit Runtime SDK.
astrolabe-runtime-android: Debug-only Android View Runtime SDK.
Astrolabe Host consumes the shared protocol directly and does not depend on a platform Runtime implementation package.
Roadmap
Jetpack Compose Runtime inspection.
Integrations for additional AI coding platforms.
License
Astrolabe is available under the Apache License 2.0. Components derived from third-party projects remain subject to their original licenses; see THIRD_PARTY_NOTICES for details.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
This server cannot be deployed
Maintenance
Related MCP Connectors
Let your AI agent control real iPhones: screenshots, tap, swipe, type and open apps.
Cloud iPhones and Macs with Xcode for AI agents: build, run and test iOS apps, use the screen.
Cloud iPhone Simulators for AI agents: build the Xcode project, read the screen, tap by label, test.
Build, run, and inspect iOS apps in disposable hosted Simulators from cloud coding agents.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables comprehensive control of iOS simulators and real devices through AI assistants, supporting app management, UI automation, screenshots, media operations, and location simulation for iOS development and testing workflows.8MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to control real iPhones and simulators on macOS, allowing for UI interaction, testing, and automation.65 npm95MIT
- AlicenseNot gradedqualityDmaintenanceGives AI agents the ability to interact with iOS simulators through 21+ tools for mobile app testing.10,447 npmMIT
- AlicenseNot gradedqualityCmaintenanceEnables coding agents to check setup, manage iOS Simulator devices, build/install/launch iOS apps, capture screenshots, send input, and open a live browser preview. It connects local agent workflows to Apple's simulator without requiring a custom emulator or native pane.MIT