/ 디렉터리 / 플레이그라운드 / Mobile MCP
● 커뮤니티 mobile-next ⚡ 바로 사용

Mobile MCP

제작: mobile-next · mobile-next/mobile-mcp

iOS 및 Android 장치, 시뮬레이터 및 에뮬레이터를 구동하기 위한 하나의 MCP 인터페이스 — 별도의 XCUITest/Espresso 지식이 없습니다.

모바일 MCP는 단일 도구 표면 뒤에 플랫폼별 모바일 자동화를 추상화합니다. Claude는 USB/Wi-Fi를 통해 iOS 시뮬레이터, Android 에뮬레이터 또는 실제 장치에서 탭하고, 스와이프하고, 입력하고, 스크린샷을 찍고, 주장할 수 있습니다. 앱 QA, 사용자 흐름 스크린샷 작성, 자연어 단계 디버깅에 유용합니다.

왜 쓰나요

핵심 기능

라이브 데모

실제 사용 모습

mobile-mcp.replay ▶ 준비됨
0/0

설치

클라이언트 선택

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "mobile-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@mobilenext/mobile-mcp@latest"
      ]
    }
  }
}

Claude Desktop → Settings → Developer → Edit Config 열기. 저장 후 앱 재시작.

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "mobile-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@mobilenext/mobile-mcp@latest"
      ]
    }
  }
}

Cursor는 Claude Desktop과 동일한 mcpServers 스키마 사용. 프로젝트 설정이 전역보다 우선.

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "mobile-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@mobilenext/mobile-mcp@latest"
      ]
    }
  }
}

Cline 사이드바의 MCP Servers 아이콘 클릭 후 "Edit Configuration" 선택.

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "mobile-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@mobilenext/mobile-mcp@latest"
      ]
    }
  }
}

Claude Desktop과 같은 형식. Windsurf 재시작 후 적용.

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "mobile-mcp",
      "command": "npx",
      "args": [
        "-y",
        "@mobilenext/mobile-mcp@latest"
      ]
    }
  ]
}

Continue는 맵이 아닌 서버 오브젝트 배열 사용.

~/.config/zed/settings.json
{
  "context_servers": {
    "mobile-mcp": {
      "command": {
        "path": "npx",
        "args": [
          "-y",
          "@mobilenext/mobile-mcp@latest"
        ]
      }
    }
  }
}

context_servers에 추가. 저장 시 Zed가 핫 리로드.

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

한 줄 명령. claude mcp list로 확인, claude mcp remove로 제거.

사용 사례

실전 활용법: Mobile MCP

단일 프롬프트로 iOS + Android에서 앱 스모크 테스트

👤 모바일 QA, 전담 QA팀이 없는 개발자 ⏱ ~20 min intermediate

언제 쓸까: 빌드를 잘라내고 가입 흐름이 두 플랫폼 모두에서 여전히 작동하는지 알고 싶습니다.

사전 조건
  • 시뮬레이터가 부팅되었습니다.xcrun simctl boot "iPhone 16" and emulator -avd Pixel_7
  • 앱이 설치됨 — IPA/APK를 시뮬레이터로 드래그하거나 'install_app' 도구를 사용하세요.
흐름
  1. 세션 시작
    Use mobile-mcp. List all available devices.✓ 복사됨
    → iOS simulator + Android emulator listed
  2. 흐름 실행
    On both devices in parallel: open my app, tap "Sign Up", enter [email protected] / password123, tap Continue. Screenshot each step.✓ 복사됨
    → Dual-device screenshot sequence
  3. 주장하다
    On each device, is the "Verify your email" screen visible? If not, report what you see.✓ 복사됨
    → Per-platform pass/fail with evidence

결과: 2분 안에 두 플랫폼 모두에 대한 스크린샷이 포함된 합격/실패 보고서를 제공합니다.

함정
  • Test account gets locked by anti-spam — Use per-build throwaway emails; rotate test accounts
함께 쓰기: 파일 시스템

5가지 기기 크기에 걸쳐 App Store 스크린샷 생성

👤 App Store에 제출하는 인디 개발자 ⏱ ~25 min intermediate

언제 쓸까: 6.5", 6.7", 5.5" 스크린샷이 필요하지만 수동으로 수행하고 싶지 않습니다.

사전 조건
  • 필요한 각 크기에 대한 시뮬레이터 — 적절한 장치 유형으로 xcrun simctl을 통해 생성
흐름
  1. 매트릭스 구축
    Boot iPhone 15 Pro Max, iPhone 15, iPhone SE simulators. Install my app on each.✓ 복사됨
    → All three devices ready with app installed
  2. 흐름 캡처
    On each device, navigate to the 5 key screens (onboarding, feed, detail, settings, upgrade). Screenshot each at full resolution.✓ 복사됨
    → Screenshots saved per-device with naming convention

결과: 한 번에 필요한 모든 크기의 App Store용 스크린샷을 만들 수 있습니다.

함정
  • Screenshots include simulator status bar — Use --status-bar-style=overridden or post-process with crop
함께 쓰기: 파일 시스템

조합

다른 MCP와 조합해 10배 효율

mobile-mcp + filesystem

Save screenshots into versioned QA folders

모든 스크린샷을 /qa/$(date)/ 아래에 테스트 이름으로 저장하세요.✓ 복사됨
mobile-mcp + xcodebuild

Build, install, and test in one flow

xcodebuild를 통해 iOS 앱을 빌드하고, mobile-mcp를 통해 설치하고, 스모크 테스트를 실행하세요.✓ 복사됨

도구

이 MCP가 노출하는 것

도구입력언제 호출비용
list_devices none 항상 먼저 — 사용 가능한 것이 무엇인지 파악 free
launch_app device_id, bundle_id 기기에서 앱을 엽니다. free
tap device_id, selector|coords 버튼/컨트롤과 상호 작용 free
type_text device_id, text: str 텍스트 필드 채우기(먼저 초점을 맞춰야 함) free
get_view_hierarchy device_id 화면에 무엇이 있는지 파악 free
screenshot device_id, path?: str 육안 확인 free

비용 및 제한

운영 비용

API 쿼터
현지의
호출당 토큰
뷰 계층 구조는 10,000개 이상의 토큰일 수 있습니다. 스크린샷은 base64입니다.
금액
Free
토큰을 저장하려면 전체 보기 계층 덤프보다 선택기 기반 탭을 선호합니다.

보안

권한, 시크릿, 파급범위

최소 스코프: device access (physical USB requires trust dialog)
자격 증명 저장: None
데이터 외부 송신: MCP에서는 없음; 공유된 경우 LLM 제공업체로 스크린샷 흐름
절대 부여 금지: production device access with PII

문제 해결

자주 발생하는 오류와 해결

나열된 장치가 없습니다.

먼저 시뮬레이터를 부팅하십시오: xcrun simctl boot / emulator -avd X

확인: `xcrun simctl list | grep Booted`
tap_at_coords 누락

get_view_hierarchy를 실행하고 선택기 기반 탭을 사용하세요. 좌표는 화면 크기에 따라 구분됩니다.

실제 장치를 신뢰할 수 없습니다

iOS: 설정 → 일반 → 장치 관리 → 신뢰. Android: USB 디버깅을 활성화합니다.

대안

Mobile MCP 다른 것과 비교

대안언제 쓰나단점/장점
XcodeBuildMCP크로스 플랫폼 UI 자동화가 아닌 iOS 전용 빌드 + 테스트가 필요합니다.안드로이드는 없습니다. 빌드 툴링에 더 무거움
Appium완전한 CI급 모바일 테스트 프레임워크를 원합니다.훨씬 더 많은 설정; MCP 기반이 아님

더 보기

리소스

📖 GitHub에서 공식 README 읽기

🐙 열린 이슈 보기

🔍 400+ MCP 서버 및 Skills 전체 보기