PairOnce について
PairOnce は、AI エージェントとユーザーがペアリングしたデバイス間でファイルやテキストを送るコマンドラインツール兼 MCP サーバーです。エンドツーエンド暗号化を使い、可能なら直接接続し、それ以外は暗号化リレーを使います。受信側の承認が必要です。
主な機能
- 016 桁のコードでデバイスをペアリング
- 02ペアリング済みデバイスへのファイルとテキストの送信
- 03指定フォルダーへのファイル受信
- 04写真、スキャン、ファイルのリクエスト
- 05共有されたカメラまたは画面の表示
活用シーン
- 01ターミナルからスマートフォンへビルドアーカイブを送信
- 02エージェントのタスク用に写真や文書を受信
- 03ペアリング済みデバイスにカメラや画面の共有を依頼
MCP 対応
`paironce mcp` コマンドは、デバイスのペアリング、コンテンツの送受信、ファイルやメディアのリクエスト、デバイス一覧に使う 10 個のツールを備えた MCP サーバーを起動します。エージェントがアクセスできるのは、ペアリングして承認したデバイスだけです。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
10掲載時のツール一覧 · 3 日前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| confirm | boolean | いいえ | 3 回目の呼び出し:デバイスに同じ安全コードが表示されているとユーザーが答えたかどうかです。 |
| wait_seconds | number | いいえ | 2 回目の呼び出し:ユーザーがコードを入力するまでの待機時間です。デフォルトは 120 秒、最大 600 秒です。 |
詳細
paironce
PairOnce を使って、ターミナルから自分のスマートフォンやコンピューターにファイルやテキストを送信します。6 桁のコードで一度ペアリングすれば、その後は npx paironce send report.pdf でファイルをスマートフォンに送信できます。エンドツーエンドで暗号化され、ネットワークが許す場合はデバイス間で直接通信し、許さない場合は暗号化されたリレーを経由します。アカウントは不要です。
npx paironce pair # shows a code: type it at paironce.com on your phone
npx paironce send build.zip # sends to the paired device
npx paironce text "https://example.com/some/long/link"
npx paironce receive --to ./inbox # receives files sent from the phone
もう一方のデバイスでは、https://paironce.com を開いたブラウザーを使用します。iPhone、Android、Windows、Mac、Linux に対応しています。そちらへのインストールは不要です。
コマンド
| コマンド | 機能 |
|---|---|
paironce pair | 6 桁のコードを表示します。もう一方のデバイスで paironce.com を開き、コードを入力を選んでコードを入力します。両方の画面に同じ安全コードが表示されるので、ターミナルでデバイスを承認します。 |
paironce pair 123456 | もう一方のデバイスに表示されたコードを使って、このターミナルを使うユーザーとペアリングします。 |
paironce send <file>... | ペアリング済みのデバイスにファイルを送信します。複数のデバイスとペアリングしている場合は、--to "<name>" を追加します。もう一方のデバイスでは、ファイルを受け取る前にファイルごとに承認します。 |
paironce text "<message>" | メッセージまたはリンクを送信します。 |
paironce receive | 現在のフォルダーにファイルを受信します(--to <folder>)。ファイルごとに確認します。--yes を指定すると、この実行中はすべてのファイルを受け入れます。大きなファイルはディスクに直接書き込まれるため、送信側が送れるサイズまで受信でき、途中で切断されても再送時に続きから受信できます。 |
paironce devices | ペアリング済みのデバイスを一覧表示します。 |
paironce forget <name> | ペアリング済みのデバイスを登録解除します。 |
paironce mcp | AI エージェント用の MCP サーバーとして実行します。 |
--name "<name>"(または PAIRONCE_NAME 変数)を指定すると、たとえば --name "Build server" のように、このデバイスをもう一方のデバイスで表示する名前を設定できます。キーは変わらないため、ペアリング済みのデバイスは引き続きこのデバイスを認識します。--agent を指定すると、もう一方のデバイスでこのデバイスを AI エージェントとして表示します(MCP サーバーでは常に表示されます)。MCP サーバーは最後のツール呼び出しから 30 分間接続を維持するため、次のタスクではデバイスをタップする必要がありません。接続中の状態が表示され、そこで接続を終了できます。MCP ツールは、サーバーの実行フォルダー内(デフォルトでは inbox)にファイルを保存します。--ephemeral を指定すると、一時フォルダーに使い捨ての ID を作成します。接続がない状態が 1 日続くと、もう一方のデバイスから忘れられます。使い捨てるサンドボックスに適しています。
ペアリング済みのデバイスが接続されていない場合、コマンドはそのデバイスに接続を要求します。そのデバイスの PairOnce に 「Windows · Terminal が再接続を要求しています」 と 接続ボタンが表示されます。
AI エージェントから使う(MCP)
paironce mcp を使うと、エージェントに 10 個のツールが提供されます。
| ツール | 機能 |
|---|---|
pair_device | お使いのデバイスを 1 台ペアリングします。エージェントが 6 桁のコードを表示します。そのデバイスで paironce.com を開き、コードを入力を選んでコードを入力してください。続いてエージェントが安全確認コードを伝え、お使いのデバイスに同じコードが表示されていると確認できてから先に進みます。デバイスごとに 1 回行います。 |
send_file、send_text | ペアリング済みのデバイスに送信します。ファイルは、送信先で毎回受け入れる必要があります。 |
receive_files | お使いのデバイスからファイル(ホワイトボードの写真、スキャン画像、ドキュメントなど)が送信されるのを待ち、./inbox に保存します。 |
request_photo、request_scan、request_file | 理由を添えて、具体的なものをリクエストします。お使いのデバイスにリクエストが表示されます。そこで写真を撮る、ページをスキャンする、ファイルを選ぶ、またはリクエストを拒否できます。ファイルは ./inbox に保存されます。 |
watch_frames、watch_stop | 理由を添えて、カメラまたは画面の共有をリクエストします。お使いのデバイスで共有するか、リクエストを拒否できます。共有すると、エージェントは要求するたびに静止画像を受け取り(1 秒あたり最大 2 枚)、手順を追って案内できます。お使いのデバイスには共有中であることと停止ボタンが表示され、どちらかが停止すると終了します。 |
list_devices | ペアリング済みのデバイスを一覧表示します。 |
エージェントが接続できるのは、ペアリングして承認したデバイスだけです。頼んでいないものが届くことはありません。承認を求められたときと、保存済みデバイスの一覧で、お使いのデバイスには エージェント と表示されます。設計と計画については、 エージェントをデバイスとして扱うを参照してください。
send_file は、隠しファイルや隠しフォルダー(.env や .ssh など)、Windows の AppData、Mac の Library、このデバイス自体の PairOnce ファイルを送信しません。これらは paironce send を使えば手動で送信できます。receive_files の待機中に届いたファイルや、リクエストが待機を終了した後に届いたファイルは、受け入れ時に指定したフォルダーに保存され、次回の receive_files の実行時に通知されます。各バージョンの変更点はリリースをご覧ください。
Claude Code:
claude mcp add paironce -e PAIRONCE_NAME="Claude Code · Agent" -- npx -y paironce mcp
# in a throwaway sandbox: ... -- npx -y paironce mcp --ephemeral
# on Windows, through cmd: claude mcp add paironce -- cmd /c npx -y paironce mcp
その他のクライアント(Cursor、Claude Desktop など)では、MCP の設定に追加してください。
{ "mcpServers": { "paironce": { "command": "npx", "args": ["-y", "paironce", "mcp"], "env": { "PAIRONCE_NAME": "Cursor · Agent" } } } }
次のように依頼できます。「スマートフォンとペアリングして」「ビルドログをスマートフォンに送って」。または、エージェントから「ルーターの背面にあるラベルの写真が必要です」とリクエストさせることもできます。
仕組み
CLI は paironce.com と同じ接続コードを実行します。ペアリングと暗号化には PairOnce protocol と @paironce/core を使用し、直接接続には node-datachannel の WebRTC を、リレーには @roamhq/wrtc(libwebrtc)を使用します。ファイルとメッセージはこのコンピューター上で暗号化され、もう一方のデバイスで復号されます。PairOnce サービスは 2 台のデバイスを接続するだけで、必要に応じて、読み取ることのできない暗号化済みデータを中継します。
このコンピューターのデバイスキーとペアリング済みデバイスの一覧は ~/.paironce(または $PAIRONCE_HOME)に保存され、読み取れるのはお使いのユーザーだけです。秘密鍵がこのコンピューターから外に出ることはありません。
ネットワークが許す場合は直接接続し、それ以外の場合は UDP、TCP、またはポート 443 の TLS を使った暗号化リレー経由で接続します。それもブロックされている場合は、PairOnce トンネルを経由します。これは同じ暗号化データを、paironce.com へのセキュア WebSocket 経由で送信するものです。そのため、サーバー上や UDP をブロックするコンテナー内、Web プロキシの背後でも動作します(HTTPS_PROXY は自動的に使用されます)。Claude Code on the web のように、クラウドサンドボックスで許可リストを使用している場合は、許可ドメインに paironce.com を追加してください。PAIRONCE_DEBUG=1 を設定すると、接続の各段階が表示されます。
Windows、macOS(x64 および arm64)、Linux(x64 および arm64)で Node.js 22 以降が必要です。
ライセンス
Apache-2.0。PairOnce はその所有者の商標です。https://paironce.com をご覧ください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。