지원되는 API에 필드, 작업, 권한이 모두 있으면 API를 사용합니다. 화면에만 있는 조작이나 시각 검사가 필요하면 승인된 브라우저를 사용합니다. 커넥터는 두 경로 중 하나를 도구로 제공할 수 있습니다. 먼저 업무 완료 조건을 정합니다.
필요한 결과부터 정하기
레코드 ID, 예상 상태, 변경 권한, 사후 확인 방법을 적습니다. 실험은 주문을 검토 완료로 표시합니다. 대상 ID, reviewed, 리비전 2를 모두 확인해야 합니다. HTTP 응답만으로는 세 항목을 확인하기 어렵습니다.
인터페이스와 권한 선택하기
문서화된 API는 요청과 응답 계약을 제공합니다. 브라우저는 승인된 세션의 화면 요소를 사용합니다. MCP는 에이전트가 이름이 있는 도구를 찾고 호출하는 방식입니다. 내부 구현과 권한을 확인하고 되돌리기 어려운 쓰기는 대상과 변경 내용을 승인합니다.
| 경로 | 적합한 상황 | 전제 | 독립 확인 |
|---|---|---|---|
| API | 문서화된 동작 | 계정 또는 서비스 권한 | 레코드와 리비전 조회 |
| MCP | 필요한 동작을 제공 | 도구 계약 · 도구 승인과 내부 권한 | 기초 레코드 다시 조회 |
| Browser | 화면 전용 동작 또는 시각 확인 | 승인된 브라우저 세션 | 새로고침 후 화면 상태 읽기 |
MCP Tools · Playwright MCP 설정 · 브라우저 에이전트
같은 요구로 두 경로 비교하기
API에서 API-01의 리비전 1과 ETag를 읽고 조건부 갱신을 요청해 200을 받았습니다. 오래된 If-Match를 다시 쓰자 412가 나왔고 별도 조회는 reviewed, 리비전 2였습니다. Tabbit에서는 UI-01을 열어 Mark reviewed를 한 번 누르고 새로고침해 같은 상태를 확인했습니다.
| 시험 | 결과 |
|---|---|
| API 갱신 | API-01 · HTTP 200 · reviewed · r2 |
| 오래된 If-Match | API-01 · HTTP 412 · reviewed · r2 |
| Tabbit 클릭과 새로고침 | UI-01 · reviewed · r2 |
| 독립 API 조회 | UI-01 · reviewed · r2 |

RFC 9110 If-Match · 브라우저 자동화 · UI 테스트
안정된 ID로 혼합 흐름 설계하기
대량 조회나 최종 확인에 승인된 API를 사용합니다. 화면에서만 되는 작업은 브라우저에 맡기고 같은 ID를 다음 단계로 전달합니다. UI-01의 독립 API 조회가 새로고침한 화면과 일치했습니다. 승인된 조회 API가 없으면 화면에서 레코드를 다시 엽니다.
Playwright API testing · AI 에이전트로 브라우저 제어 · 기존 브라우저 연결
변경과 실패에 대비하기
API는 스키마, 권한, 동시성 규칙에 의존합니다. UI는 경로, 화면 요소, 세션에 의존합니다. 시간 초과 후에는 재시도 전에 상태를 읽습니다. 오래된 조건이 거부되면 현재 상태를 확인합니다. 버튼이 사라지거나 의미가 바뀌면 멈춥니다.
QA 참여자는 브라우저에서 조작하고 API로 단언한다고 설명했습니다. 한 n8n 사용자는 API가 없는 사이트의 브라우저 스크립트를 호출 가능한 형태로 감쌌습니다. 호출이 단순해져도 페이지 의존성은 남습니다. Reddit QA · Reddit n8n
완료 증거 정하기
대상 ID, 사용 경로, 최종 상태와 가능한 경우 별도 조회 결과를 반환합니다. 세션을 해제하기 전에 기록을 보관합니다. 로그에 자격 증명이나 개인정보를 넣지 않습니다. 결과가 확인되지 않으면 미확인으로 남깁니다.
자주 묻는 질문
언제 API를 먼저 써야 하나요?
지원 범위가 승인된 작업과 결과 확인을 포함할 때입니다.
MCP 커넥터는 항상 API인가요?
MCP는 도구를 제공하는 방식입니다. 도구 내부는 API, 브라우저 동작 등일 수 있습니다.
API와 브라우저를 함께 쓸 수 있나요?
안정적인 ID를 전달하고 최종 업무 상태를 별도로 확인합니다.
Web UI만 있는 시스템을 자동화할 수 있나요?
승인된 세션과 요소를 사용하고 예상 상태와 중지 조건을 정합니다.
HTTP 200이면 완료인가요?
가능하면 대상 ID와 업무 상태를 별도 조회로 검증합니다.
조건 실패나 시간 초과가 나면 어떻게 하나요?
현재 상태를 읽고 다시 쓸 필요가 있는지 판단합니다.