io.github.pooriaarab/agentic-device

Official registry AI and agents

Control your own iPhones for posting via WebDriverAgent and ESP32 HID.

What can you do with io.github.pooriaarab/agentic-device?

  • A support agent queues a product-announcement post for a device on your desk and you approve the run.
  • A QA agent drives its own simulator through an app's onboarding to capture screenshots.
  • A posting pipeline records each device task as an auditable queue entry instead of an untracked script.

Install

Add this to your client's MCP configuration (Claude Desktop: claude_desktop_config.json; Cursor: .cursor/mcp.json; VS Code and others use the same "mcpServers" shape).

NPM package agentic-device
Claude Code
claude mcp add agentic-device -- npx -y agentic-device@0.1.0 mcp
JSON configuration (Claude Desktop, Cursor, VS Code)
{
    "mcpServers": {
        "agentic-device": {
            "command": "npx",
            "args": [
                "-y",
                "agentic-device@0.1.0",
                "mcp"
            ]
        }
    }
}

Documentation

From the project's README on GitHub, refreshed weekly. Links open on GitHub.

Contents
  1. agentic-device
  2. Install
  3. Post your first task
  4. CLI
  5. Library
  6. MCP server
  7. Use cases
  8. Alternatives and related tools
  9. Safety
  10. Limits
  11. Upstream bases
  12. License

agentic-device

npm package · CLI · Library · Safety · Limits

agentic-device is a TypeScript library, CLI, and MCP server for driving phones you own — an iPhone through WebDriverAgent or an ESP32 HID bridge — so an agent can run setup-oriented UI actions and queue auditable phone-posting tasks. It is a consent-first device pack: actions dry-run by default and anything that needs a human (passcode, CAPTCHA, verification code) stops with needs-human instead of faking progress.

Install

npm install agentic-device

Requires Node.js and the published dist/ build. Two runtime dependencies: the MCP SDK and zod.

Post your first task

agentic-device device register --udid MY_PHONE_UDID --label "My iPhone" --connection simulator
agentic-device device action --udid MY_PHONE_UDID --action '{"type":"home"}'
agentic-device device post-task --udid MY_PHONE_UDID --platform instagram --text "Ship day"
agentic-device device queue

device action and post-task are dry runs until you pass --execute, and device action stays a review gate even then: the run reports what the driver did or the VendorError it hit.

CLI

agentic-device device register --udid <id> --label <label> --connection <wda|esp32-hid|simulator>
agentic-device device list
agentic-device device action --udid <id> --action <json> [--execute]
agentic-device device post-task --udid <id> --platform <name> --text <text> [--media <path>]
agentic-device device queue [--claim|--complete|--fail <task-id>]
agentic-device costs
agentic-device mcp

Library

import { DeviceRegistry, SimulatorDriver, runAction } from "agentic-device";

const registry = new DeviceRegistry();
const phone = registry.register({ udid: "mine", label: "My iPhone", connectionType: "simulator" });
await runAction(phone, new SimulatorDriver(), { type: "home" }); // dry run

MCP server

agentic-device mcp (or npx agentic-device-mcp) serves the same registry, queue, drivers, and cost report as tools on stdio, so a host such as Claude Code or Cursor can register a device, preview an action, and read the task queue.

Use cases

  • A support agent queues a product-announcement post for a device on your desk and you approve the run.
  • A QA agent drives its own simulator through an app's onboarding to capture screenshots.
  • A posting pipeline records each device task as an auditable queue entry instead of an untracked script.
  • Appium is the general mobile-automation framework; WebDriverAgent is its iOS driver, and agentic-device speaks the same protocol for the posting-task subset.
  • ESP32-BLE-Keyboard is the reference firmware for the Bluetooth-HID path.
  • Full device-farm products (BrowserStack App Automate, Firebase Test Lab) rent you devices at scale; this pack is for the phones on your own desk.

Safety

  • Register only your own phones by UDID.
  • device action is a dry run by default; pass --execute only after review.
  • humanCheckpoint always returns needs-human for passcode, CAPTCHA, and verification-code steps — the pack never bypasses a platform check.
  • Drivers surface failures as VendorError; they never report failed hardware or network work as success.

Limits

  • No passcode, CAPTCHA, two-factor, or App Store review bypass — ever.
  • The WebDriverAgent path needs a reachable WDA endpoint for a physical device; simulator is the zero-hardware option.
  • The posting queue is in-process by default; persist tasks in your own store for production runs.

Upstream bases

The WDA driver follows the protocol exposed by appium/WebDriverAgent. The ESP32 HID path is designed around ESP32-BLE-Keyboard. These integrations are for owner-operated devices only.

License

MIT

Frequently asked questions

What is io.github.pooriaarab/agentic-device?

Control your own iPhones for posting via WebDriverAgent and ESP32 HID.

How do I install io.github.pooriaarab/agentic-device?

It runs on your machine. In Claude Code: claude mcp add agentic-device -- npx -y agentic-device@0.1.0 mcp. For other clients, paste the JSON configuration from this page into their MCP settings.

Does io.github.pooriaarab/agentic-device need an API key?

Its registry entry lists no required key or secret. Some features may still need an account with the service it connects to.

Is io.github.pooriaarab/agentic-device open source?

Yes. Its code is on GitHub under the MIT license.

Who maintains io.github.pooriaarab/agentic-device?

It is published by pooriaarab. AI.tn lists it but does not maintain or endorse it.

From the official MCP Registry. Listing is not an endorsement: review a server's code and permissions before giving it access to your data.