종단간 암호화를 통해 터미널과 연결된 기기 간에 AI agent가 파일, 텍스트, 미디어를 안전하게 주고받을 수 있도록 지원합니다.
다른 이름 paironce/cli, cli
- 스타
- 0
- Tools
- —
- 다운로드, 30일
- —
- 최신 버전
- 0.11.4
- 마지막 커밋
- 2026년 11월 7일
- 라이선스
- Apache-2.0
PairOnce MCP란?
PairOnce은(는) MCP server입니다. 종단간 암호화를 통해 터미널과 연결된 기기 간에 AI agent가 파일, 텍스트, 미디어를 안전하게 주고받을 수 있도록 지원합니다.
프로젝트 README에서 생성된 요약
PairOnce MCP server 정보
PairOnce는 AI agent가 사용자의 개인 기기와 파일, 텍스트, 미디어를 교환할 수 있는 안전한 방법을 제공합니다. npx paironce mcp 명령으로 server를 실행하면, agent가 iPhone, Android, 데스크톱 컴퓨터와 같이 웹 브라우저를 실행하는 모든 기기와 상호작용할 수 있습니다. 이 설정은 별도의 계정이 필요 없으며, 종단간 암호화를 사용하여 데이터를 보호합니다. 연결은 모바일 또는 데스크톱 기기에서 승인하는 6자리 페어링 코드를 통해 설정됩니다.
개발자는 이 server를 사용하여 터미널 환경과 물리적 세계 사이의 간극을 메울 수 있습니다. agent는 빌드 로그를 휴대폰으로 보내거나, 하드웨어 라벨 사진 또는 문서 스캔본과 같은 특정 항목을 요청할 수 있습니다. 또한 시각적 지원을 위한 특화된 도구를 포함하고 있어, agent가 카메라 또는 화면 프레임을 요청하여 사용자의 수동 작업을 안내할 수 있습니다. server는 마지막 도구 호출 후 30분 동안 연결을 유지하여, 지속적인 수동 승인 없이도 원활한 워크플로우를 보장합니다.
활용 사례
- 1터미널 데이터를 모바일로 전송AI agent에게 특정 빌드 로그나 파일을 스마트폰으로 직접 보내도록 지시할 수 있습니다.
- 2물리적 세계 정보 캡처agent가 작업을 완료하는 데 도움이 되도록 특정 물체의 사진을 찍어달라고 요청할 수 있습니다.
- 3스캔된 문서를 워크스페이스로 수신사용자가 휴대폰에서 스캔본이나 사진을 로컬 폴더로 업로드할 때까지 agent가 대기하도록 설정할 수 있습니다.
- 4시각적 단계별 안내agent가 복잡한 절차를 돕기 위해 카메라 또는 화면으로부터 주기적인 정지 이미지를 요청할 수 있습니다.
프로젝트의 README를 바탕으로 작성되었습니다. 모든 활용 사례는 해당 내용의 인용문과 대조하여 확인합니다.
PairOnce MCP 설치 방법
형식 확인: 2026년 11월 10일Claude Code에 PairOnce MCP 설치
$ claude mcp add cli -- npx -y paironceCursor에 PairOnce MCP 설치
~/.cursor/mcp.json
{
"mcpServers": {
"cli": {
"command": "npx",
"args": [
"-y",
"paironce"
]
}
}
}VS Code에 PairOnce MCP 설치
.vscode/mcp.json
{
"servers": {
"cli": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"paironce"
]
}
}
}Claude Desktop에 PairOnce MCP 설치
claude_desktop_config.json
{
"mcpServers": {
"cli": {
"command": "npx",
"args": [
"-y",
"paironce"
]
}
}
}Codex에 PairOnce MCP 설치
~/.codex/config.toml
[mcp_servers.cli] command = "npx" args = ["-y", "paironce"]
Gemini CLI에 PairOnce MCP 설치
~/.gemini/settings.json
{
"mcpServers": {
"cli": {
"command": "npx",
"args": [
"-y",
"paironce"
]
}
}
}구성
PAIRONCE_NAME
| 이름 | 설명 | 유형 |
|---|---|---|
| PAIRONCE_NAME | — |
자동 검사
2026년 11월 14일에 실행됨전체 보고서 →자동 검사를 통과했습니다. 이는 보안 감사가 아닙니다. 코드를 직접 읽고 서버에 필요한 최소한의 권한만 부여하십시오. 검사 방식
- 소스 저장소 연결 및 접근 가능paironce/cli is public and reachablegithub.com/paironce/cli ↗통과
- 패키지가 이 저장소를 소스로 지정paironce names paironce/cli as sourcenpmjs.com/package/paironce ↗통과
- 빌드 출처(Sigstore 증명)Sigstore attestation for paironcenpmjs.com/package/paironce/v/0.11.4#provenance ↗통과
- 오픈 소스 라이선스 (OSI)Apache-2.0spdx.org/licenses/Apache-2.0.html ↗통과
- 최근 1년 내 커밋 또는 릴리스Last commit or release 2026-11-07github.com/paironce/cli ↗통과
- OpenSSF Scorecard검사되지 않음
- 패키지 이름이 인기 패키지와 유사하지 않음No popular package one edit away from paironce통과
- 패키지와 의존성에 심각한 보안 권고 없음21 resolved dependencies checked; no critical advisoryosv.dev ↗통과
- 모델에 대한 숨겨진 지침 없음0 tool descriptions and the README read; no override phrases, credential paths or hidden characters통과
- 파괴적인 도구에 라벨 표시됨검사되지 않음
- 원격 endpoint가 MCP 핸드셰이크에 응답검사되지 않음
README
GitHub에서 보기paironce
Send files and text from a terminal to your own phone or computer with PairOnce. Pair once with
a six-digit code; after that, npx paironce send report.pdf puts the file on your phone. End-to-end encrypted, direct
between the devices whenever the network allows, and through an encrypted relay when it does not. No account.
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
The other device is any browser with https://paironce.com open: iPhone, Android, Windows, Mac or Linux. Nothing to install there.
Commands
| Command | What it does |
|---|---|
paironce pair |
Shows a six-digit code. On the other device, open paironce.com, choose Enter a code and type it. Both screens show the same safety code; approve the device in the terminal. |
paironce pair 123456 |
Joins with the code the other device shows, for a person at this terminal. |
paironce send <file>... |
Sends files to the paired device. With several paired devices, add --to "<name>". The other device accepts each file before it arrives. |
paironce text "<message>" |
Sends a message or a link. |
paironce receive |
Receives files into the current folder (--to <folder>). Asks before each file; --yes accepts every file during this run. Large files are written straight to disk, so they can be as large as the sender may send, and one cut off continues when it is sent again. |
paironce devices |
Lists paired devices. |
paironce forget <name> |
Forgets a paired device. |
paironce mcp |
Runs as an MCP server for AI agents. |
--name "<name>" (or the PAIRONCE_NAME variable) sets what the other device shows for this one, for example
--name "Build server". The key stays the same, so paired devices still know it. --agent marks this device as an AI
agent on the other device (the MCP server always does). The MCP server stays connected for 30 minutes after its last tool call, so the next task needs no tap on your device; you see it as connected and can end it there. The MCP tools save inside the folder the server runs in (inbox by default). --ephemeral uses a throwaway identity in a temporary folder,
which the other device forgets after a day without a connection: right for a sandbox that is thrown away.
When a paired device is not connected, the command asks it to connect: PairOnce on that device shows "Windows · Terminal wants to reconnect" with a Connect button.
Use it from an AI agent (MCP)
paironce mcp gives an agent ten tools:
| Tool | What it does |
|---|---|
pair_device |
Pairs one of your devices. The agent gives you a six-digit code; you open paironce.com on that device, choose Enter a code and type it. The agent then tells you a safety code, and goes on only after you say your device shows the same. Once per device. |
send_file, send_text |
Sends to a paired device; you accept every file there. |
receive_files |
Waits while you send files from your device (a photo of a whiteboard, a scan, a document) and saves them into ./inbox. |
request_photo, request_scan, request_file |
Asks for something specific, with the reason. Your device shows the request; you take the photo, scan the pages or choose the file there, or decline. Saved into ./inbox. |
watch_frames, watch_stop |
Asks to see your camera or screen, with the reason. You share it on your device, or decline; the agent then gets a still picture each time it asks (at most two a second) and can guide you step by step. Your device shows the share and a stop button; it ends when either side stops it. |
list_devices |
Lists the paired devices. |
The agent reaches only devices you paired and approved, and nothing arrives anywhere unasked. Your device marks it Agent when it asks to be approved and in your saved devices. Design and plans: Agent as a Device.
send_file does not send hidden files and folders (such as .env or .ssh), Windows's AppData, a Mac's Library or this
device's own PairOnce files; you can still send those yourself with paironce send. A file that arrives after receive_files
or a request stopped waiting is saved in the folder it was accepted for, and the next receive_files reports it. Changes in
each version are in the releases.
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
Other clients (Cursor, Claude Desktop and others), in their MCP configuration:
{ "mcpServers": { "paironce": { "command": "npx", "args": ["-y", "paironce", "mcp"], "env": { "PAIRONCE_NAME": "Cursor · Agent" } } } }
Then ask: "pair with my phone", "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".
How it works
The CLI runs the same connection code as paironce.com: the PairOnce protocol and @paironce/core for pairing and encryption, with WebRTC from node-datachannel for direct connections and @roamhq/wrtc (libwebrtc) for the relay. Files and messages are encrypted on this computer and decrypted on the other device; the PairOnce service only introduces the two devices and, when needed, relays encrypted bytes it cannot read.
This computer's device key and the list of paired devices are kept in ~/.paironce (or $PAIRONCE_HOME), readable only
by you. The private key never leaves this computer.
It connects directly whenever the networks allow it, otherwise through the encrypted relay over UDP, TCP or TLS on port
443, and where even that is blocked, through the PairOnce tunnel: the same encrypted data over a secure WebSocket to
paironce.com. So it works on servers, in containers that block UDP, and behind a web proxy (HTTPS_PROXY is used
automatically). In a cloud sandbox with an allow-list, such as Claude Code on the web, add paironce.com to the allowed
domains. PAIRONCE_DEBUG=1 shows each step of connecting.
Requires Node.js 22 or later on Windows, macOS (x64 and arm64) or Linux (x64 and arm64).
License
Apache-2.0. PairOnce is a trademark of its owner; see https://paironce.com.
PairOnce MCP 질문
PairOnce MCP를 Claude Code에 추가하려면 어떻게 하나요?
터미널에서 claude mcp add cli -- npx -y paironce를 실행합니다. 모든 프로젝트에서 사용할 수 있게 하려면 --scope user를 추가합니다.
PairOnce MCP를 Cursor에 추가하려면 어떻게 하나요?
~/.cursor/mcp.json를 열고 mcpServers 아래에 서버를 추가합니다. 위 설치 섹션에 표시된 Cursor 구성을 사용합니다.
AI agent와 기기를 어떻게 페어링하나요?
agent가 제공하는 6자리 코드를 기기의 paironce.com에 입력한 후, 양쪽 화면에 표시되는 보안 코드를 승인하면 됩니다.
전송 중 데이터의 프라이버시가 보장되나요?
네, 모든 파일과 메시지는 종단간 암호화되며, 개인 키는 사용자의 컴퓨터를 절대 벗어나지 않습니다.
agent가 항상 연결되어 있어야 하나요?
MCP server는 마지막 도구 호출 후 30분 동안 연결을 유지하여, 재페어링 없이 후속 작업을 수행할 수 있도록 합니다.