Skip to content

Releases: ohah/react-native-mcp

react-native-mcp-server v0.1.0-rc.14

16 Mar 19:30

Choose a tag to compare

Pre-release

What's Changed

iOS Orientation 가이드 추가

  • AI가 iOS에서 MCP 도구 사용 시 디바이스 방향(portrait/landscape)을 먼저 확인하도록 MCP instructions 최상단에 안내 추가
  • portrait/landscape에 따라 좌표 시스템이 달라져 tap, swipe 등이 틀어지는 문제를 사전 방지
  • get_orientation을 세션 시작 시 호출하고, set_orientation 후에도 재확인하도록 안내

CI/CD 개선

  • publish workflow에서 rc 버전을 자동으로 rc npm 태그로 배포하도록 수정 (기존: 항상 latest)

Full Changelog: react-native-mcp-server-v0.1.0-rc.13...react-native-mcp-server-v0.1.0-rc.14

react-native-mcp-server v0.1.0-rc.13

16 Mar 04:16

Choose a tag to compare

Pre-release

What's Changed

📖 Token-efficient tool selection guide

AI 에이전트가 UI 상태 확인 시 스크린샷 대신 텍스트 기반 도구를 우선 사용하도록 MCP server instructions 및 tool description에 가이드를 추가했습니다.

Server Instructions 추가

  • 도구 선택 우선순위 테이블: text tools (1st) → webview_evaluate_script (2nd) → describe_ui (3rd) → take_screenshot (4th)
  • 구체적 사용 예시: 체크박스 상태 확인 → webview_evaluate_script, 화면 전환 확인 → assert_text
  • "스크린샷 1회 촬영 후 텍스트 도구로 전환" 가이드

take_screenshot description 강화

  • "EXPENSIVE: consumes large image tokens" 경고 추가
  • 대안 도구(query_selector, assert_text, webview_evaluate_script) 안내

💡 Why?

스크린샷은 이미지 토큰을 대량 소모하여 컨텍스트 윈도우를 빠르게 소진합니다. 텍스트 기반 도구를 우선 사용하면 동일한 검증을 훨씬 적은 토큰으로 수행할 수 있습니다.

Full Changelog: react-native-mcp-server-v0.1.0-rc.12...react-native-mcp-server-v0.1.0-rc.13

react-native-mcp-server v0.1.0-rc.11

15 Mar 16:22
58af09a

Choose a tag to compare

react-native-mcp-server v0.1.0-rc.11

MCP 서버 강제종료 시 앱 크래시를 방지하는 WebSocket 네이티브 모듈 방어 패치입니다.

설치

npm install -g @ohah/react-native-mcp-server@0.1.0-rc.11
# 또는
npx -y @ohah/react-native-mcp-server@0.1.0-rc.11

주요 변경 사항

🛡️ WebSocket 네이티브 크래시 방어

MCP 서버가 비정상 종료되거나 연결이 끊길 때 React Native 앱이 크래시되는 문제를 수정했습니다.

  • WebSocket close 방어: 네이티브 WebSocketModule.close() 호출 시 이미 닫힌 연결에 대한 방어 로직 추가
  • NativeModules 공개 API 사용: TurboModuleRegistry 내부 경로 대신 NativeModules 공개 API로 통일
  • DeviceEventEmitter 공개 API 사용: 내부 경로(react-native/Libraries/...) 제거, 공개 import 경로로 변경
  • close 후 즉시 Set 정리: WebSocket close 이후 참조를 즉시 제거하여 중복 close 방지

📝 문서 포맷 수정

  • screen-capture.md 마크다운 테이블 trailing spaces 제거 (CI oxfmt 체크 통과)

v0.1.0-rc.10 대비

  • rc.10: compact 텍스트 출력 + interactive 필터
  • rc.11: WebSocket 네이티브 크래시 방어 패치

react-native-mcp-server v0.1.0-rc.12

15 Mar 17:50
f073800

Choose a tag to compare

Pre-release

Changes

Server instructions 추가

  • McpServer에 instructions 옵션으로 워크플로우 가이드 제공
  • 네이티브 요소 vs WebView DOM 요소 조작 방법 구분 안내

Tool description 개선 (8개 도구)

  • tap, take_screenshot, webview_evaluate_script, query_selector, evaluate_script, describe_ui, scroll_until_visible, swipe

TypeScript strict null check 에러 수정

  • index.ts, detect.ts, init/index.ts, symbolicate.ts, get-screen-size.ts

react-native-mcp-server v0.1.0-rc.10

05 Mar 17:50

Choose a tag to compare

react-native-mcp-server v0.1.0-rc.10

MCP 도구 응답을 compact 텍스트로 전환하여 AI 에이전트 토큰 사용량을 대폭 절감한 릴리즈입니다.

설치

npm install -g @ohah/react-native-mcp-server@0.1.0-rc.10
# 또는
npx -y @ohah/react-native-mcp-server@0.1.0-rc.10

주요 변경 사항

🚀 compact 텍스트 출력 (토큰 절감)

모든 주요 도구의 JSON 응답을 들여쓰기 텍스트로 전환:

도구 변경 토큰 절감
take_snapshot JSON tree → compact tree -90%+
describe_ui JSON/XML → compact tree -78%
query_selector JSON → key=value 한 줄 -52%
query_selector_all JSON 배열 → 한 줄 목록 -45%
inspect_state 2-space indent → inline JSON -30%
list_devices 중복 JSON 제거 -50%
list_apps 중복 JSON 제거 -50%
get_screen_size 중복 JSON 제거 -50%

Before (JSON) → After (compact) 예시

take_snapshot:

- View #app-root uid=root
  - View #header
    - Text "Welcome"
  - TextInput #email-input
  - TouchableOpacity #submit-btn
    - Text "Submit"

query_selector:

TouchableOpacity #cart-btn uid=cart-button pageX=100 pageY=200 width=80 height=40

describe_ui (Android):

- FrameLayout #content
  - TextView #greeting "Hello World"
  - Button #submit "Submit" [clickable] bounds=[100,200][180,240]

🔍 take_snapshot interactive 옵션 추가

interactive: true로 인터랙티브 요소(Touchable*, Button, TextInput, Switch 등)만 필터링하여 토큰 추가 절감.

🏷️ 플랫폼 고유 속성 명시

AI가 RN/네이티브 고유 속성을 정확히 해석할 수 있도록 key=value 형태로 표시:

  • query_selector: pageX=, pageY=, width=, height=
  • describe_ui (Android): [clickable], [scrollable], [disabled], bounds=
  • describe_ui (iOS): role=, [disabled], frame=(x,y,w,h)

요구 사항

  • Node.js >=22 또는 Bun >=1.0.0
  • React Native 앱에 MCP 런타임 로드 필요

v0.1.0-rc.9 대비

  • rc.9: JSON 기반 도구 응답
  • rc.10: compact 텍스트 출력 + interactive 필터 + 플랫폼 속성 명시

react-native-mcp-server v0.1.0-rc.9

26 Feb 05:29
ca8b610

Choose a tag to compare

@ohah/react-native-mcp-server v0.1.0-rc.9

Release candidate 9 for the React Native MCP server package.

Changes

  • Version bump from 0.1.0-rc.8 to 0.1.0-rc.9 for npm publish.

Install

npm install @ohah/react-native-mcp-server@0.1.0-rc.9

Documentation

react-native-mcp-server v0.1.0-rc.8

24 Feb 14:05
b5f7279

Choose a tag to compare

What's changed

  • measureByNativeTag(nativeTag) — Bridge-only API that calls UIManager.measure directly with a native tag, without re-walking the Fiber tree. Works regardless of testID.
  • Runtime query, fiber serialization, and babel inject-testid plugin improvements.

Install

npm install @ohah/react-native-mcp-server@0.1.0-rc.8

Full Changelog

  • feat(server): measureByNativeTag and runtime query/serialization improvements
  • chore(server): Bump version to 0.1.0-rc.8

react-native-mcp-server v0.1.0-rc.7

24 Feb 11:37

Choose a tag to compare

What's changed

  • Version bump to 0.1.0-rc.7 for @ohah/react-native-mcp-server.
  • No functional changes in this release; publish for version alignment and npm availability.

Install

npm install @ohah/react-native-mcp-server@0.1.0-rc.7

Full Changelog

  • chore(server): Bump version to 0.1.0-rc.7 (49df9a7)

react-native-mcp-server v0.1.0-rc.5

23 Feb 08:02
f30ce41

Choose a tag to compare

@ohah/react-native-mcp-server 0.1.0-rc.5

  • Runtime WebSocket connection stability
    • If new WebSocket(url) throws (e.g. server not running), the runtime now schedules a reconnect with the existing backoff (up to 30s) instead of leaving the client in a bad state.
    • Response sending is wrapped in try/catch so send failures do not crash the app.
  • Babel plugin: Restored correct condition in testID injection (!testIdAttr).

References

  • #93 — Version bump to 0.1.0-rc.5
  • #94 — fix(server): Runtime WebSocket connection stability

react-native-mcp-server v0.1.0-rc.4

23 Feb 06:56
95234ea

Choose a tag to compare

@ohah/react-native-mcp-server 0.1.0-rc.4

수정 내역 (0.1.0-rc.3 → 0.1.0-rc.4)

  • 버전 번호: 0.1.0-rc.3 → 0.1.0-rc.4로 상향
  • 기능·동작 변경 없음 (이번 릴리즈는 버전 bump만 포함)

참고

  • rc.3에 포함된 최근 변경: 스크린샷 orientation 회전, MCP 도구 description 정리, E2E·배포·문서 정리 등은 이전 rc에서 이미 반영됨.