빠른 답: Claude Code로 휴대폰을 제어하는 기능은 Pinky(오픈소스 데스크톱 앱, Apache-2.0 라이선스, 계정 불필요)를 통해 무료로 사용할 수 있습니다. Pinky는 실제 iPhone이나 Android 휴대폰을 MCP 서버로서 Claude Code에 연결해 줍니다. Pinky를 설치하고, 휴대폰을 연결한 뒤, USB 디버깅(Android) 또는 개발자 모드(iPhone)를 켜고, 명령 한 줄로 Pinky를 Claude Code에 추가한 후, 휴대폰에서 무언가를 해달라고 요청하면 됩니다. 위험한 탭 작업은 클릭으로 승인할 때까지 대기합니다.
이 도구들은 무료입니다. 다만 Claude Code 자체는 무료가 아닙니다. claude.com/pricing 기준(2026-11-09 확인)으로 Free 플랜에서는 Claude Code가 제공되지 않으며("No"로 표시), 모든 유료 플랜에 포함되어 있습니다. Pro 플랜은 연간 결제 시 월 $17, 월간 결제 시 $20입니다. 이미 Claude를 구독 중이라면 휴대폰을 연결하는 데 추가 비용은 없습니다. 그렇지 않다면 Claude Code 무료로 사용하기 가이드에서 가능한 방법들을 확인해 보세요.
아래에서는 Pinky를 처음부터 끝까지 다룬 뒤, iPhone 전용 대안인 Poki와 비교합니다.
Claude Code가 휴대폰을 제어한다는 것의 의미
Claude Code가 휴대폰을 제어한다는 것은 MCP 서버를 연결하여 화면 읽기, 탭, 입력, 스와이프, 앱 열기 같은 휴대폰 작업을 에이전트가 호출할 수 있는 도구로 변환한다는 뜻입니다. 에이전트가 각 단계를 계획하면, 서버가 USB 또는 Wi-Fi를 통해 실제 기기에서 그 작업을 수행하고, 사용자는 컴퓨터의 미러 창에서 이를 지켜볼 수 있습니다.
이는 휴대폰에서 노트북 세션으로 프롬프트를 보내는 방식, 즉 모바일에서 Claude Code 사용하는 3가지 방법에서 다룬 내용과는 정반대입니다.
2026년 11월 초 두 프로젝트가 이를 현실적으로 만들었습니다:
- DIYgod의 Pinky: iPhone과 Android 지원, macOS·Windows·Linux용 데스크톱 앱, 2026-11-09 기준 GitHub 스타 1,183개.
- Joseph Zhou의 Poki: iPhone 전용, 로컬 MCP 서버와 자체 에이전트 제공, 같은 날 기준 스타 636개.
두 프로젝트 모두 Model Context Protocol을 지원하므로 어떤 MCP 클라이언트에서도 사용할 수 있습니다.

시작하기 전에 준비할 것
2026-11-09 기준 Pinky README에 명시된 요구 사항:
| 구성 요소 | 요구 사항 |
|---|---|
| Mac | macOS 13 이상, Apple 실리콘 또는 Intel |
| Windows | Windows 10 또는 11, 64비트 |
| Linux | 64비트 Ubuntu 20.04, Debian 11 이상(glibc 2.29+), GTK 3 |
| Android 휴대폰 | Android 10~17 및 USB 케이블 |
| iPhone 또는 iPad | iOS 17.4 이상, 초기 설정용 USB 케이블(이후에는 Wi-Fi 사용 가능) |
| iOS 17.4~26 | 자신의 Apple ID로 Xcode에서 한 번 빌드한 WebDriverAgent 헬퍼 앱 |
| 에이전트 | Claude Code, Claude Desktop, Codex, Cursor 또는 모든 MCP 클라이언트 |
iOS 27 이상에서는 휴대폰에 아무것도 설치할 필요가 없습니다. Pinky가 Xcode(무료 다운로드)에 포함된 Apple의 개발자 디스크 이미지를 마운트합니다. iOS 17.4~26에서는 무료 Apple ID로 서명한 헬퍼가 7일마다 만료되며, Pinky가 만료 2일 전에 알려줍니다.
Pinky는 스스로를 프리알파(pre-alpha) 단계라고 소개합니다. README에 따르면 Claude Code가 USB로 연결된 Android 휴대폰과 iOS 27의 iPhone을 처음부터 끝까지 사용하는 데 성공했으며, iOS 27 미만의 iPhone은 실제 기기에서 아직 시도되지 않았습니다.
Pinky를 Claude Code와 설정하는 방법, 단계별 가이드
1단계: Pinky 설치
최신 릴리스(2026-11-09 기준 v2026.1109.13)에서 자신의 시스템에 맞는 빌드를 다운로드하세요. Mac에서는 Apple 실리콘용 pinky-<version>-arm64.dmg, Intel용 amd64.dmg를 사용합니다. Homebrew 사용자는 다음을 실행하세요:
brew install --cask diygod/tap/pinky
Windows에서는 pinky-setup-<version>-amd64.exe를 실행합니다. 아직 서명되지 않았으므로 SmartScreen 경고가 뜰 수 있는데, 추가 정보를 클릭한 뒤 실행을 선택하세요. Debian이나 Ubuntu에서는 apt로 .deb 파일을 설치합니다. 다운로드 크기는 16~22MB입니다.
2단계: Android 휴대폰 연결
- 설정 › 휴대폰 정보를 열고 빌드 번호를 7번 탭하여 개발자 옵션을 활성화합니다.
- 설정 › 시스템 › 개발자 옵션에서 USB 디버깅을 켭니다.
- 휴대폰을 연결하고 USB 디버깅 관련 메시지가 뜨면 허용을 탭합니다.
- Pinky에서 휴대폰 추가 › Android를 선택하고 Pinky Companion를 승인합니다. 이 도구는 화면을 약 70ms 만에 읽어 일반 방식(2초)보다 훨씬 빠릅니다.
Pinky는 자체 adb를 포함하고 있으므로 Android Studio가 필요 없습니다. Android 11 이상에서는 케이블 대신 Wi-Fi로 페어링할 수 있습니다.
3단계: 또는 iPhone 연결
- iPhone을 연결하고 잠금 해제한 뒤 신뢰를 탭하고 암호를 입력합니다.
- 설정 › 개인정보 보호 및 보안에서 개발자 모드를 켭니다. 휴대폰이 재시작되면 켜기를 탭합니다.
- Mac에서 Xcode를 한 번 설치하고 실행하여 Pinky가 개발자 디스크 이미지를 사용할 수 있게 합니다. 그러면 Pinky가 해당 휴대폰을 준비 상태로 표시합니다.
- iOS 17.4~26에서는 Xcode에서 WebDriverAgent 헬퍼를 설치합니다. 이것이 없으면 Pinky가 화면을 표시하고 읽을 수는 있지만 탭, 스와이프, 입력은 할 수 없습니다.
4단계: Claude Code에 Pinky 추가
Claude Code 옆의 설정 › 에이전트 › 연결을 클릭하면 Pinky가 자동으로 등록되고 자체 에이전트 가이드를 스킬로 설치합니다. 수동으로는 한 줄이면 됩니다:
claude mcp add --scope user pinky -- pinkyctl mcp
명령이 pinkyctl인 이유는 많은 시스템에 이미 pinky라는 프로그램이 존재하기 때문입니다. Claude Code의 MCP 문서에서 스코프에 대해 설명합니다.
5단계: Claude Code에 작업 지시
Claude Code를 시작하고 일상 언어로 요청하세요:
Open Messages on my phone and tell Sam I'm running late.
처음에는 Pinky가 새 에이전트를 허용할지, 무엇을 할 수 있게 할지 묻습니다. 그런 다음 Claude Code가 phone_connect, phone_observe, phone_tap, phone_type 같은 도구를 호출합니다. 사용자 확인이 필요한 단계에서는 호출이 approval_pending을 반환하고, 허용을 클릭할 때까지 아무 일도 일어나지 않습니다. 60초 이내에 응답이 없으면 거부로 간주됩니다.
사용할 수 있는 휴대폰이 없나요? --fake 옵션으로 Pinky를 다시 실행하면 스크립트로 만들어진 데모 휴대폰 2대를 사용할 수 있습니다.
Pinky가 에이전트를 통제하는 방식
안전 규칙은 프롬프트가 아니라 에이전트와 휴대폰 사이에 있는 Pinky의 게이트웨이에 존재합니다. 따라서 화면에 표시된 텍스트가 에이전트를 설득해 스스로 승인하게 만들 수 없습니다. 기본으로 켜져 있는 규칙:
- 결제, 거래, 송금은 클릭을 기다립니다. 설정 › 안전에서 메시지 전송, 삭제, 설치 또는 모든 단계에 승인을 요구하도록 추가할 수 있습니다.
- 은행, 지갑, 비밀번호 관리자 앱은 보이지 않으며, 에이전트는 비밀번호나 일회용 코드 입력란에 입력할 수 없습니다.
- 언제든지 직접 제어할 수 있습니다. 미러 창을 클릭하면 에이전트가 일시 중지됩니다.
- 모든 실행은 기록됩니다. 단계, 스크린샷, 화면 녹화가 저장되며 컴퓨터에 보관됩니다.
Pinky의 FAQ에서 언급한 한 가지 주의점: 셸 명령을 실행할 수 있는 에이전트는 adb를 통해 Android 휴대폰에 접근하여 게이트웨이를 우회할 수 있습니다. 이것이 우려된다면 에이전트를 샌드박스로 격리하고 HTTP로 Pinky에 연결하세요.
Pinky vs Poki: 어떤 무료 옵션이 맞을까

| Pinky | Poki | |
|---|---|---|
| 라이선스 | Apache-2.0 | AGPL-3.0 |
| 지원 휴대폰 | iPhone(iOS 17.4+) 및 Android 10~17 | iPhone 전용(Poki 앱 경로는 iOS 18+) |
| 컴퓨터 | macOS 13+, Windows, Linux | macOS(설정은 14+, MCP 서버는 15+); Linux와 Windows용 커뮤니티 포트 존재 |
| 추가 설치 | Mac에서는 디스크 이미지용 Xcode; iOS 17.4~26에서는 헬퍼 | MCP 서버용으로 Xcode 전체, Rust, Node.js 24+, ffmpeg |
| Apple 계정 | 무료 계정 사용 가능; 헬퍼를 7일마다 재서명 | 무료 계정 사용 가능; 서명은 7일간 유효 |
| 승인 | 게이트웨이가 에이전트 외부에서 강제 | README에서 요청하면 메시지를 보내거나 결제할 수 있다고 경고 |
| 자체 에이전트 | 없음, 사용자의 에이전트가 판단 | 있음, Poki Agent(기본값 GPT-6.1 Terra), iMessage와 Telegram 채널 제공 |
Android 휴대폰을 사용하거나, Windows 또는 Linux에서 작업하거나, 에이전트에 의존하지 않는 승인 방식을 원한다면 Pinky를 선택하세요.
Xcode가 있는 Mac 사용자이고 Telegram이나 iMessage에서 메시지를 보낼 수 있는 iPhone 에이전트를 원한다면 Poki를 선택하세요. Poki의 빠른 시작은 에이전트 주도 방식입니다. Claude Code에게 저장소에서 Poki를 설치해 달라고 요청하면, iOS에서 사용자 확인이 필요한 시점에 멈춥니다. 앱 경로를 사용하려면 10.7.0.1을 Mac으로 라우팅하는 Karing이나 Shadowrocket 같은 VPN 또는 프록시 앱을 iPhone에 설치해야 합니다 [VERIFY: 해당 앱이 사용자 지역의 App Store에서 무료인지 확인].
Poki의 README에 따르면 물리적 iPhone은 현재까지 세로 방향에서만 검증되었습니다. 두 프로젝트 모두 탄생한 지 며칠밖에 되지 않았으므로 호환성이 깨지는 변경이 있을 수 있습니다. 에뮬레이터와 테스트 기기에 대해서는 Mobile Next MCP 서버 가이드를 참고하세요.
Apidog CLI로 Claude Code가 각 화면 뒤의 API까지 검증하게 하기
에이전트가 탐색하는 모든 화면은 로그인, 장바구니, 주문 같은 백엔드를 호출합니다. 화면에 잘못된 내용이 표시될 때는 UI가 문제인지 API가 문제인지 알아야 합니다. Pinky가 휴대폰을 처리하는 동안 Apidog CLI를 통해 에이전트가 그 답을 찾을 수 있습니다.
한 번만 설정하세요:
npm install -g apidog-cli@latest
apidog auth login --with-token <YOUR_TOKEN>
apidog skill install
그런 다음 Claude Code에 프롬프트 하나를 지시합니다:
Import ./openapi.json into Apidog project <projectId>. Create a test case for
POST /auth/login, GET /cart and POST /orders that checks status codes and the
fields each screen shows. Then use Pinky to log in on my phone, add one item
and place a test order. After each screen, run the matching Apidog test case
against the staging environment and tell me whether the app or the API failed.
에이전트는 휴대폰을 건드리기 전에 스펙을 가져오고, 페이로드를 검증하고, 테스트 케이스를 생성합니다:
apidog import --project <projectId> --format openapi --file ./openapi.json
apidog cli-schema get test-case-create
apidog cli-schema validate test-case-create --file login-case.json
apidog test-case create --project <projectId> --file login-case.json
apidog test-case list --project <projectId>
각 휴대폰 단계 후에는 해당 화면의 테스트 케이스를 실행하고 결과를 확인합니다:
apidog run --test-case <caseId> --project <projectId> -e <envId> -r cli,json
--upload-report를 추가하면 Apidog 앱에서 실행 결과를 볼 수 있습니다. -r junit 옵션을 붙인 같은 명령은 CI에 사용할 수 있으며, Apidog CLI CI/CD 가이드에서 파이프라인을 설명합니다. 에이전트 측 설정에 대해서는 Claude Code에서 Apidog CLI 사용하기를 참고하세요. Apidog의 Free 플랜은 최대 4명까지 사용할 수 있습니다.
자주 발생하는 설정 문제 해결
- 휴대폰이 목록에 없음: Pinky의 ··· 메뉴에서 Checkup을 열면 누락된 설정이 무엇인지 알려줍니다.
- Wi-Fi 페어링이 완료되지 않음: 공용 또는 회사 네트워크는 기기를 서로 격리하는 경우가 많습니다. 코드로 페어링하거나 케이블을 사용하세요.
- iOS 26 이하에서 iPhone 탭이 작동하지 않음: WebDriverAgent 헬퍼가 없거나 7일 서명이 만료된 것입니다. Xcode에서 다시 설치하세요.
FAQ
Claude Code로 휴대폰을 제어하는 게 정말 무료인가요? Pinky와 Poki는 무료 오픈소스이며 무료 Apple 계정으로도 사용할 수 있습니다. 다만 Claude Code에는 유료 Claude 플랜이 필요하며, 연간 결제 기준 월 $17부터 시작합니다.
휴대폰을 탈옥하거나 루팅해야 하나요? 아닙니다. Pinky는 Android의 USB 디버깅과 Apple의 개발자 모드, 개발자 디스크 이미지를 사용합니다. Poki 역시 탈옥이 필요 없다고 명시하고 있습니다.
Pinky는 Codex나 Cursor에서도 사용할 수 있나요? 네. 설정 › 에이전트에서 Claude Code, Codex, Cursor, Gemini CLI 등을 연결할 수 있고, 모든 MCP 클라이언트가 pinkyctl mcp를 실행할 수 있습니다.
휴대폰 화면이 클라우드로 전송되나요? Pinky를 통해서는 아닙니다. 녹화는 사용자의 컴퓨터에 보관됩니다. 에이전트가 읽는 내용은 다른 도구와 마찬가지로 사용자의 모델 제공업체로 전송됩니다.
에이전트가 내 돈을 쓸 수 있나요? Pinky에서는 결제가 클릭 승인을 기다리고 은행 앱은 숨겨집니다. Poki의 README는 요청하면 결제까지 할 수 있다고 경고하므로, 작업 범위를 좁게 유지하세요.
