MCP Apps 출시: 대화 속 AI 답변이 ‘조작 가능한 UI’가 된다
MCP Apps는 Model Context Protocol(MCP)의 첫 공식 확장으로, AI가 텍스트로만 답하던 방식을 바꿔 “대화 안에서 바로 만지고 조작하는 화면”을 띄울 수 있게 해줍니다.1 한 줄 요약을 넘어, 대시보드에서 필터를 눌러보고, 양식을 채우고, 그래프를 드래그하는 식으로 사용자가 직접 탐색하는 흐름을 대화에 붙여 넣는 개념이에요.
이번 글에서는 “MCP Apps가 뭔지”, “왜 지금 필요해졌는지”, “어떻게 동작하는지(개념만)”, “쓸 만한 사례”, “보안에서 주의할 점”, “어디서 이미 지원되는지”까지 한 번에 정리해보겠습니다.
MCP Apps란? AI 응답을 ‘대화형 미니앱’으로 바꾸는 확장
기존 MCP에서 도구(tool)는 보통 텍스트나 구조화된 결과(JSON 등)를 돌려줬습니다. 그래서 모델이 결과를 요약해주는 건 잘했지만, 사용자가 “내가 직접 눌러서 더 보고 싶다”는 순간 대화가 갑자기 불편해졌죠.
MCP Apps는 여기서 한 발 더 나아갑니다. 도구가 결과와 함께 “이 결과를 보여줄 UI도 있어요”라고 선언하면, MCP 클라이언트(호스트)가 대화창 안에 그 UI를 렌더링해줍니다.1 느낌은 ‘채팅에 웹앱 한 조각이 들어온다’에 가깝습니다.
왜 필요한가: 요약은 AI가, 탐색은 사람이 하고 싶을 때
예를 들어 데이터베이스 쿼리 결과가 수백 줄이라면 AI 요약은 도움이 되지만, 실제 업무는 보통 “정렬”, “기간 필터”, “특정 행 클릭해서 상세 보기” 같은 탐색에서 결정이 나요. 텍스트 대화로 이걸 하려면 “지난주만 보여줘”, “매출순으로 정렬해줘”, “47번째 행 자세히” 같은 추가 프롬프트가 끝없이 쌓입니다.
MCP Apps는 이 ‘맥락의 간극’을 줄입니다. 화면은 실시간으로 업데이트되고, 상태가 유지되고, PDF나 미디어를 네이티브에 가깝게 보여줄 수도 있습니다.1 그리고 중요한 점: 사용자가 UI에서 뭘 눌렀는지 모델이 감지하고, 그 다음 행동을 이어갈 수 있다는 겁니다.1 즉, 대화가 끊기지 않습니다.
어떻게 동작하나: ui:// 리소스 + 샌드박스 + 메시지 통신
구현 디테일을 몰라도 핵심 구조는 단순합니다.
도구는 UI 리소스 위치를 메타데이터로 알려줍니다. 그러면 호스트는 ui:// 같은 스킴으로 제공되는 HTML/JS 번들을 가져와 대화창 안에 띄웁니다.1
이 UI는 샌드박스된 iframe에서 실행됩니다. 그리고 UI와 호스트는 postMessage 기반의 JSON-RPC 메시지로 양방향 통신합니다.1 쉽게 말해 “대화창 속 미니앱이 버튼 클릭 이벤트를 호스트에 보내고, 호스트는 도구 호출 결과를 다시 미니앱에 전달”하는 구조입니다.
개발자 입장에서는 @modelcontextprotocol/ext-apps 패키지로 UI↔호스트 연결, 도구 호출, 모델 컨텍스트 업데이트 같은 기본 동작을 처리할 수 있습니다.1
어디에 쓰나: 마법사, 문서 검토, 실시간 모니터링이 특히 강하다
MCP Apps의 장점은 “말로 설명하기 번거로운 일”에서 폭발합니다.
배포나 설정 작업은 전형적인 ‘구성 마법사’ 형태가 많습니다. 운영(Production)을 고르면 보안 옵션이 추가로 나오고, 스테이징(Staging)을 고르면 기본값이 달라지는 식의 의존 필드가 흔하죠. 이걸 대화로만 하면 질문-답변 핑퐁이 길어집니다. UI로는 몇 번 클릭이면 끝납니다.1
문서 검토도 마찬가지예요. 계약서나 정책 PDF를 AI가 요약해줘도, 최종 승인/보류는 사람이 “그 조항 원문을 눈으로 확인”해야 하는 경우가 많습니다. MCP Apps는 PDF를 인라인으로 보여주고, 중요한 섹션을 강조 표시한 뒤 사용자가 바로 체크할 수 있는 흐름을 지원합니다.1
그리고 실시간 모니터링. 서버 메트릭처럼 시간에 따라 바뀌는 데이터는 “다시 실행해서 새로 요약”보다, 화면 자체가 업데이트되는 편이 훨씬 자연스럽습니다.1
클라이언트 지원 현황: Claude·Goose·VS Code, 그리고 ChatGPT
표준이 강력해지는 지점은 “여러 곳에서 똑같이 돈다”는 데 있습니다.
MCP Core 유지보수팀 발표에 따르면 Claude, Goose, Visual Studio Code Insiders가 이미 지원하고 있고, ChatGPT도 지원이 시작되는 흐름이라고 밝혔습니다.1 이 말은 곧, MCP 도구 개발자가 특정 클라이언트 전용 UI를 따로 만들지 않아도 “대화 속 인터랙티브 경험”을 넓은 범위로 배포할 수 있다는 뜻입니다.1
보안 포인트: ‘서버 검증’과 ‘도구 체이닝’ 시대의 기본기
UI를 띄운다는 건, 결국 외부에서 제공된 코드를 내 대화 환경에서 실행한다는 의미이기도 합니다. 그래서 MCP Apps는 기본적으로 샌드박스 iframe, 사전 검토 가능한 템플릿, 로그 가능한 JSON-RPC 메시지, UI가 시작한 도구 호출에 대한 사용자 동의 같은 장치를 둡니다.1
하지만 여기서 끝이 아닙니다. MCP 생태계가 커지면서 “도구를 조합했을 때” 문제가 되는 사례가 이미 보고됐습니다. 예컨대 여러 MCP 서버를 함께 쓸 때, 각자 단독으로는 안전해 보이는데 조합(체이닝)으로 공격 경로가 열릴 수 있다는 지적이 나왔죠.2 따라서 실무에서는 “연결하기 전에 MCP 서버를 신중히 검증하라”는 권고를 그냥 문구로 넘기면 안 됩니다.1
시작 단계에서 할 수 있는 현실적인 체크는 간단합니다. 서버 출처(공식/검증된 배포처) 확인, 권한 범위 최소화, 민감 작업은 사용자 승인 필수로 설정, 그리고 메시지/로그 감사가 가능한 환경에서 먼저 테스트—이 네 가지만 지켜도 사고 확률이 확 내려갑니다.
시사점 내용 (핵심 포인트 정리 + 개인적인 생각 또는 실용적 조언)...
MCP Apps는 “AI가 요약해주는 시대”에서 “AI와 사람이 같은 화면을 보며 함께 처리하는 시대”로 넘어가는 신호탄에 가깝습니다. 특히 데이터 탐색, 문서 검토, 실시간 관제처럼 ‘사람의 확인과 조작’이 본질인 업무라면, 대화형 UI는 곧 생산성의 기본 옵션이 될 가능성이 큽니다.
개발자라면 지금은 거창한 앱부터 만들기보다, 기존 MCP 도구 하나를 골라 “텍스트로는 불편했던 딱 한 장면”을 UI로 바꿔보는 게 가장 빠른 학습 루트입니다. 예를 들어 쿼리 결과를 표로 보여주고 필터만 넣어도, 사용자는 즉시 “아, 이게 미래네”를 체감하거든요.
참고
1MCP Apps - Bringing UI Capabilities To MCP Clients | Model Context Protocol Blog
2Anthropic quietly fixed flaws in its Git MCP server • The Register
이 노트는 요약·비평·학습 목적으로 작성되었습니다. 저작권 문의가 있으시면 에서 알려주세요.
