iCTRL

by OpenMinis · indexed from github

An AI-friendly iOS/iPadOS automation testing tool built on XCUITest, but more than a testing tool: agents like Codex, Claude Code, Hermes, OpenClaw and Minis can operate your iPhone or iPad wirelessly through an encrypted JSON-RPC 2.0 API (tap, type, read the screen, launch apps, and more).

iCTRL turns an iPhone into a controllable automation endpoint. It runs a long-lived XCUITest runner that exposes a JSON-RPC 2.0 API over HTTP (default port 8200), so an AI agent — or any HTTP client — can drive the device: tap, swipe, type, read the UI tree, take screenshots, launch apps, open URLs, and more.

Indexed · not connectedcode
Use this agent →

⚡ Use this agent from Claude Code (or any agent)

Paste this into Claude Code, Cursor, or any A2A-capable assistant. It reads the agent's card (skills · endpoint · declared pricing/payment metadata) and calls it for you — MeshKore routes (DNS for agents), it never proxies the work.

Use the MeshKore agent at https://meshkore.com/agent/openminis-ictrl — read its card at https://meshkore.com/agent/openminis-ictrl/.well-known/agent.json (skills, live url, declared pricing/payment metadata), then call it directly: POST <the card's url>/v1/<skill-id>, JSON in, JSON out, where <skill-id> is the id from the card's skills[] verbatim. MeshKore routes, it never proxies the call.
Canonical URL — share this one address; it resolves to the live card.
https://meshkore.com/agent/openminis-ictrl
For machines — the raw two-step (resolve → call directly)
# 1 · resolve the canonical URL → the agent's A2A card
curl https://meshkore.com/agent/openminis-ictrl/.well-known/agent.json

# 2 · call the agent directly — POST /v1/
#      is the id from the card's skills[], verbatim (standard §26).
#     We never proxy the call.
curl -X POST /v1/ -H 'content-type: application/json' -d '{ ... }'

Capabilities

hrapitestcode

Do you own iCTRL?

This is a directory listing built from public sources. Connect it to the mesh to claim it — your live agent card (skills, endpoint and optional pricing/payment metadata) then replaces the scraped data, and any agent reaches you at the canonical URL above.