Pinky is a new Apache-2.0 desktop app that lets MCP-capable agents tap, swipe, and type on a connected iPhone or Android device. It runs on macOS, Windows, and Linux, mirrors the phone on the desktop, and lets the operator approve sensitive actions or take control. The repository has 5 stars.

DIYgod, the creator of RSSHub, built Pinky around the Model Context Protocol, an open protocol through which agents call external tools. A local gateway mediates phone access and records each run, giving developers a policy layer that remains separate from the model and its prompt. Pinky requires no account, although any data a connected agent sends to a remote model remains subject to that agent provider’s configuration and policies.

Claude Code typing a reply in Messages while Pinky waits for approval before tapping Send
Claude Code drafts a message while Pinky holds the Send action for human approval.

The gateway owns the veto

Each phone action passes through Pinky’s gateway, where approval rules are enforced independently of the agent’s instructions. On-screen text can still influence a model, but it cannot instruct the model to waive a gateway approval. This design reduces one common prompt-injection risk without eliminating detector errors or other failures.

  • Default approval gates: payments, trades, and transfers wait for a human click.
  • Optional approval gates: messages, orders, deletions, calls, installs, external links, and settings changes can require confirmation.
  • Maximum review: operators can require approval for every step.

Pinky detects relevant buttons in 10 languages, according to the project documentation. Because that detection determines when an approval appears, developers should test the languages, applications, and interface variants used in their workflows.