Agentic Device

io.github.pooriaarabPublished by GitHub account pooriaarabv0.1.0Updated Oct 30, 2026

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

The publisher's own server: agentic.no

Overview

AI-generated overview

MCP server that lets an agent register your own iPhones, preview UI actions, and queue auditable posting tasks via WebDriverAgent or an ESP32 HID bridge.

What you can do
  • Register and list your own devices by UDID with a WDA, ESP32-HID or simulator connection.
  • Preview and run setup-oriented UI actions on a device, dry-run by default and gated by review.
  • Queue phone-posting tasks per platform with optional media, then claim, complete or fail them.
  • Read a cost report for the device work.
  • Stop at human checkpoints such as passcode, CAPTCHA or verification codes instead of faking progress.
When to use it
For owner-operated phones on your desk: queuing a product-announcement post for your approval, driving your own simulator through an app onboarding to capture screenshots, or recording device tasks as auditable queue entries instead of an untracked script.
Requirements
Runs locally over stdio via npx (npm package agentic-device) and needs Node.js. A physical iPhone needs a reachable WebDriverAgent endpoint or an ESP32 HID bridge; the simulator option needs no hardware. No accounts, API keys or environment variables are declared.
Before you install
It drives real devices, so register only phones you own. Actions and post tasks are dry runs until --execute is passed; review before enabling execution. It never bypasses passcode, CAPTCHA, two-factor or App Store review, and stops with needs-human. The posting queue is in-process by default, so persist tasks yourself for production.

Installation

In SourceWeft

  1. Open Agentic Device in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

agentic-device

[npm version] [npm downloads per month] [license]

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

sh
npm install agentic-device

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

Post your first task

sh
agentic-device device register --udid MY_PHONE_UDID --label "My iPhone" --connection simulatoragentic-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

sh
agentic-device device register --udid <id> --label <label> --connection <wda|esp32-hid|simulator>agentic-device device listagentic-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 costsagentic-device mcp

Library

ts
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.

Alternatives and related tools

  • 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

Source: README.md at commit 17f07a4

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v0.1.0LatestOct 15, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

Other Agentic integrations