PairOnce

AI AGENTS · CLAUDE CODE · YOUR PHONE

Let Claude Code send files to your phone and ask you for a photo

Add PairOnce’s MCP server to Claude Code with one command, pair your phone once with a six-digit code, and the agent can send files and messages to your phone, end-to-end encrypted, with no account.

It can also ask for something specific, such as a photo of the label on the router, a scan or a file: your phone shows the request with the reason, and you take the photo, choose the file or decline.

And when you agree on your phone, it can look at your camera or screen as still pictures, up to 15 minutes at a time, so it can guide you step by step.

Step by step

  1. Add the server to Claude Code. You need Node.js 22 or later. Run `claude mcp add paironce -e PAIRONCE_NAME="Claude Code · Agent" -- npx -y paironce mcp`; the name is what your phone shows. On Windows, start it through cmd: `claude mcp add paironce -- cmd /c npx -y paironce mcp`.
  2. Ask Claude Code to pair with your phone. Say “pair with my phone”. Claude Code shows a six-digit code.
  3. Type the code on your phone. Open paironce.com on the phone, choose Enter a code and type it. Claude Code then tells you a safety code and goes on once you say your phone shows the same one. You do this once per device.
  4. Send, ask or show. Say “send the build log to my phone”, or let the agent ask you: “I need a photo of the label on the back of the router”. Your phone shows each file or request, and you accept, answer or decline.

What the agent can do

Send: `send_file` and `send_text` put a file or a message on your phone. You accept every file there.

Receive: `receive_files` waits while you send files from your phone, such as a photo of a whiteboard, a scan or a document. They are saved in the `inbox` folder of the folder where the server runs.

Ask: `request_photo`, `request_scan` and `request_file` ask for something specific, with the reason. Your phone shows the request with the agent’s name and an Agent mark. You take the photo, scan the pages or choose the file, or decline.

Look: `watch_frames` asks to see your camera or screen, with the reason. You share it on your phone, or decline. The agent then gets a still picture each time it asks, at most two a second, never video, and your phone shows what is shared with a stop button.

You stay in control

The agent reaches only devices you paired and approved. Every file is accepted on your phone, every request and every camera or screen share needs your action each time, and you can switch an agent’s requests off from the request itself or in that device’s options.

A camera or screen share ends when you stop it, after 5 minutes without a call from the agent, or after 15 minutes. The connection stays open for 30 minutes after the agent’s last tool call, so the next task needs no tap; if the phone is locked or the page is closed, tap Connect when it asks to reconnect. Files you send meanwhile wait for the next `receive_files`.

Everything is encrypted on one device and decrypted on the other. The connection is direct when the network allows it, otherwise through an encrypted relay that cannot read it. The design is public: Agent as a Device.

In a sandbox or on a server

The command-line tool also connects from servers, containers and behind a web proxy (`HTTPS_PROXY` is used automatically). In Claude Code on the web, add `paironce.com` to the allowed domains. For a sandbox that is thrown away, add `--ephemeral` to the server’s arguments: your phone forgets that agent after a day without a connection.

Limits, and when this is not the right tool

  • A file can be up to 2 GB over a direct connection when the receiving browser saves straight to disk (Chrome or Edge on a computer or Android, Firefox on a computer, Safari on iOS 26 or later). Other browsers take up to 50 MB per file and hold 100 MB of received files at a time.
  • Files over 2 GB need PairOnce Pro on one of the two devices. Then a file can be up to 10 GB, received the same way, and the relay carries 5 GB a month.
  • When the two devices cannot reach each other directly, an encrypted relay carries the data. Each device can send and receive 200 MB a month that way, counted together; a direct connection has no monthly limit.
  • Both pages must stay open until everything has arrived: keep the phone’s screen on and the browser in front.
  • PairOnce moves things between two devices that are open at the same time. It is not cloud storage: nothing waits on a server for later.

Other ways to do it

  • A cloud drive or email. Handy for files you want to keep or share with several people; the copy stays on a server.
  • A chat message to yourself. Quick for a link or a small file.
  • A screen-sharing or remote-desktop app. The better fit for live video or for controlling a screen; `watch_frames` sends stills, only when the agent asks and you agree.
  • The command line without an agent. `npx paironce pair`, then `npx paironce send report.pdf`, sends a file from any terminal to your phone.

Common questions

Does it work with Cursor, Claude Desktop and other MCP clients?

Yes. Add the server in the client’s MCP configuration with the command `npx` and the arguments `-y`, `paironce`, `mcp`. The command-line tool’s README shows the exact lines.

Can the agent watch my camera all the time?

No. Each camera or screen share is something you agree to on your phone. The agent gets still pictures only when it asks, at most two a second with the longest side up to 1568 pixels, and it ends after 15 minutes at most.

Can the agent send me files or take files without asking?

No. You accept every file on your phone, and every request needs your answer each time. There is no setting that turns that off.

Is it free and open source?

Sending files and messages is free, with no account. The command-line tool and MCP server are open source (Apache-2.0) and listed in the official MCP registry as io.github.paironce/cli.