claudekit / tools / mobile-mcp
[ MCP · Development ]

Mobile MCP

iOS, Android의 시뮬레이터, 에뮬레이터, 실기기를 AI 에이전트가 직접 조작하게 해주는 MCP 서버. 앱 화면의 접근성 트리를 읽어 탭, 스와이프, 입력, 앱 설치를 수행하며 기기 로그와 크래시 리포트도 가져옵니다.

mobile-next/mobile-mcp ·updated
$ claude mcp add mobile-mcp -- npx -y @mobilenext/mobile-mcp@latest copy

Mobile Next가 만든 오픈소스 프로젝트(mobile-next/mobile-mcp, Apache-2.0).

왜 필요한가?

모바일 앱의 화면 동작을 확인하려면 시뮬레이터를 띄우고 손으로 누르거나, 플랫폼마다 다른 테스트 프레임워크(iOS는 XCUITest, Android는 Espresso)로 스크립트를 짜야 합니다. 코딩 에이전트가 앱 코드를 고쳐도 실제 화면에서 어떻게 보이고 동작하는지는 직접 확인할 수 없었습니다.

Mobile MCP는 에이전트에게 기기를 조작하는 도구를 줍니다. 에이전트가 화면의 UI 요소를 읽고, 누르고, 입력하고, 결과를 다시 읽으며 여러 단계로 이어지는 흐름을 진행합니다. iOS와 Android를 같은 도구로 다루므로 플랫폼별 지식이 없어도 됩니다.

무엇을 할 수 있나

README가 제시하는 주요 쓰임새는 다음과 같습니다.

  • 네이티브 앱 자동화 — 테스트나 데이터 입력을 위해 iOS, Android 앱을 조작
  • 폼 입력과 정해진 흐름 실행 — 시뮬레이터, 에뮬레이터, 실기기(iPhone, Samsung, Google Pixel 등)를 손으로 조작하지 않고 입력 흐름을 수행
  • 여러 단계로 이어지는 사용자 흐름 — LLM이 화면을 보며 다음 동작을 정해 회원가입, 설정 변경 같은 흐름을 끝까지 진행
  • 화면 데이터 추출 — 실제 UI 요소를 읽어 구조화된 데이터로 가져오기

개발 과정에서는 이렇게 쓸 수 있습니다. 앱을 수정한 뒤 “시뮬레이터에서 로그인 화면으로 가서 테스트 계정으로 로그인하고, 설정 화면까지 이동해 줘”라고 요청하면, 에이전트가 요소 목록을 읽어 버튼을 누르고 입력한 뒤 각 단계의 화면을 확인합니다. 도중에 앱이 멈추면 기기 로그와 크래시 리포트를 가져와 원인을 살펴볼 수 있습니다.

핵심 기능

  • 접근성 트리 우선

    화면 캡처를 모델에 보내 해석하는 방식은 느리고 이미지 토큰을 많이 씁니다. Mobile MCP는 운영체제가 제공하는 접근성 트리(화면에 있는 버튼, 텍스트 등 UI 요소의 구조)를 읽어 조작하고, 이 정보로 요소를 찾을 수 없을 때만 스크린샷과 좌표 기반 탭을 씁니다.

  • 하나의 도구 세트로 모든 대상

    iOS 시뮬레이터, iOS 실기기(USB 연결), Android 에뮬레이터, Android 실기기(USB 디버깅)를 같은 도구로 다룹니다.

  • 기기와 앱 제어

    탭, 더블 탭, 길게 누르기, 스와이프, 텍스트 입력, HOME/BACK 같은 하드웨어 버튼, 화면 방향 전환, GPS 위치 지정, 클립보드 읽기와 쓰기를 지원합니다. 앱 설치(.apk, .ipa, .app, .zip), 실행, 종료, 삭제도 할 수 있습니다.

  • 화면 녹화, 로그, 크래시 리포트

    화면 녹화를 시작하고 멈춰 영상으로 저장할 수 있습니다. 기기 로그(Android는 logcat, iOS는 unified log)를 수집하고, 기기에 쌓인 크래시 리포트를 목록으로 보거나 전체 내용을 가져옵니다.

  • 명령 일괄 실행

    mobile_batch_commands로 “탭, 입력, 탭” 같은 여러 동작을 한 번의 호출로 순서대로 실행하고, 마지막에 화면 요소 목록을 받아볼 수 있습니다.

사용 방법

필요한 것은 Node.js v20 이상, 그리고 대상 플랫폼 도구입니다. iOS는 Xcode 명령줄 도구, Android는 Android Platform Tools(adb)가 있어야 합니다.

Claude Code에 추가합니다.

claude mcp add mobile-mcp -- npx -y @mobilenext/mobile-mcp@latest

Claude Desktop이나 다른 MCP 클라이언트는 설정 파일에 다음을 넣습니다.

{
  "mcpServers": {
    "mobile-mcp": {
      "command": "npx",
      "args": ["-y", "@mobilenext/mobile-mcp@latest"]
    }
  }
}

시뮬레이터나 에뮬레이터를 먼저 실행해 둡니다. iOS 시뮬레이터는 xcrun simctl boot "iPhone 16"처럼 부팅할 수 있습니다. 그다음 에이전트에게 다음과 같이 요청해 연결을 확인합니다.

list available devices

실행 중인 시뮬레이터, 에뮬레이터, 연결된 기기가 나오면 설정이 끝난 것입니다. 목록이 비어 있으면 시뮬레이터나 에뮬레이터가 켜져 있는지 확인합니다.

알아두면 좋은 점

  • 텔레메트리가 기본으로 켜져 있습니다 — 도구를 호출할 때마다 도구 이름과 실행 시간을 PostHog로 보내고, Scarf로도 사용 신호를 보냅니다. 끄려면 설정의 env에 "MOBILEMCP_DISABLE_TELEMETRY": "1"을 추가합니다.
  • 대상별 준비 조건 — iOS 시뮬레이터는 macOS/Linux, Android 에뮬레이터는 Linux/Windows/macOS에서 연결할 수 있습니다. 실기기는 USB로 연결한 뒤 iOS는 기기를 신뢰로 설정하고, Android는 USB 디버깅을 켜고 허용해야 합니다.
  • HTTP 서버로 실행 가능 — 기본은 stdio로 동작하며, --listen 3000 옵션을 주면 Streamable HTTP 서버로 실행됩니다. 이때 MOBILEMCP_AUTH를 설정하지 않으면 인증 없이 접속을 받으므로, 외부에 열 때는 토큰을 설정합니다.
  • 반복 테스트는 별도 도구로 — 같은 제작사는 에이전트로 탐색한 흐름을 반복 실행 가능한 테스트로 옮길 때 mobilewright를 쓰라고 안내합니다. Mobile MCP는 에이전트가 기기를 직접 다루는 쪽에 맞춰져 있습니다.
  • 클라우드 기기는 선택 사항 — 원격 기기를 예약하는 도구 4개는 제작사의 Mobile Next Cloud(실제 iOS, Android 기기 대여 서비스)용입니다. 로컬 기기만 쓴다면 필요 없습니다.
  • 출처 — mobile-next/mobile-mcp (Apache-2.0).
§ 6

See also

same category · curated
[01]
[Plugin] Ponytail · 에이전트가 코드를 쓰기 전에 7단계 사다리를 거치게 만드는 플러그인. 이게 꼭 있어야 하나, 코드베이스에 이미 있나, 표준 라이브러리로 되나를 차례로 확인해 먼저 걸리는 단계에서 멈춥니다. 검증, 오류 처리, 보안, 접근성은 줄이지 않습니다.
tool · claudekit.io / tools / ponytail
[02]
[Tool] Paseo · 내 컴퓨터에 데몬을 띄우고 데스크톱, 폰, 웹, 터미널 어디서든 접속해 코딩 에이전트를 굴리는 자체 호스팅 오케스트레이터. Claude Code를 비롯한 여러 CLI 에이전트를 손대지 않고 그대로 실행하며, 모바일 앱은 데스크톱과 같은 기능을 제공한다.
tool · claudekit.io / tools / paseo
[03]
[Tool] Orca · 여러 코딩 에이전트를 병렬로 굴리는 ADE(Agent Development Environment) 데스크톱 앱. 각 에이전트를 격리된 git worktree에서 동시에 실행하고, 결과를 나란히 비교해 원하는 것을 골라 머지한다. Claude Code, Codex, Grok 등 30여 개 CLI 에이전트를 자신의 구독으로 그대로 사용한다.
tool · claudekit.io / tools / orca
§ 7

자주 묻는 질문

자주 묻는 질문
§ 7.1
Mobile MCP는 무엇인가요?
AI 에이전트가 iOS, Android 앱을 직접 조작하게 해주는 MCP 서버입니다. 시뮬레이터, 에뮬레이터, 실기기 모두에서 같은 도구로 탭, 스와이프, 텍스트 입력, 앱 설치와 실행을 수행합니다.
§ 7.2
어떻게 설치하나요?
Claude Code에서는 `claude mcp add mobile-mcp -- npx -y @mobilenext/mobile-mcp@latest`로 추가합니다. Node.js v20 이상과 함께 iOS는 Xcode 명령줄 도구, Android는 Android Platform Tools가 필요합니다.
§ 7.3
XCUITest나 Espresso를 알아야 하나요?
알 필요가 없습니다. 플랫폼별 테스트 프레임워크 없이 같은 도구 세트로 iOS와 Android를 다루며, 목표를 설명하면 에이전트가 화면 요소를 읽고 조작합니다.
§ 7.4
스크린샷을 보고 조작하는 방식인가요?
기본은 앱의 접근성 트리(화면의 UI 요소 구조)를 읽는 방식이라 이미지를 모델에 보내지 않습니다. 접근성 정보로 요소를 찾을 수 없을 때만 스크린샷과 좌표 기반 탭으로 넘어갑니다.
§ 7.5
무료로 사용할 수 있나요?
Apache-2.0 라이선스 오픈소스라 로컬 시뮬레이터, 에뮬레이터, 연결한 실기기로 무료로 사용할 수 있습니다. 클라우드의 실제 기기를 빌려 쓰는 Mobile Next Cloud는 별도 서비스입니다.
§ 7.6
사용 데이터를 수집하나요?
PostHog와 Scarf로 익명 사용 텔레메트리를 기본으로 수집합니다. 환경변수 `MOBILEMCP_DISABLE_TELEMETRY=1`을 설정하면 끌 수 있습니다.