/ home directory / california /

Aditya Kolekar.

Computer Science/AI. Building software that shows its work.

Porto

A phone-side MCP server that lets AI agents request bounded device capabilities, with permission decided on the phone.

my role
Co-developer, Blue Orchid Society
status
iOS release candidate under verification
field
Mobile / agents
tools
React Native · TypeScript · Swift · MCP · Cloudflare Workers · Durable Objects

Why this exists

Remote agents can be useful on a phone, but a broad connection to personal data is the wrong starting point. Porto makes each capability legible to the person holding the device and keeps the phone in control of access.

What I worked on

Co-developed the React Native app and an outbound WebSocket connection to a Cloudflare Worker and Durable Objects relay. The phone does not need an inbound port or a mandatory Porto account.

Built and hardened scoped bearer access, phone-side approvals, encrypted capability leases, audit receipts, queued operations, replay cursors, and time-bounded results.

Added a Swift macOS companion for encrypted pairing and local credential storage, plus an OpenClaw integration and release checks for iOS testing.

Choices that mattered

  • A request describes its scope and purpose before a sensitive phone action runs. The agent never receives unrestricted access to the photo library, contacts, or calendar.
  • The relay carries requests and results; the phone remains the authority for permissions. Durable queues handle disconnections without silently repeating an action.

What I took away

The hardest part was not exposing a tool. It was making connection loss, consent, and revocation understandable in the same flow. Native and background behavior still needs signed-device verification before a broad release claim.