한국정보기술진흥원
한국정보기술신문
thumbnail

인공지능 ·

OpenAI·Anthropic, AI 모델과 상호작용하는 'MCP Apps' 확장 제안...대화형 UI 표준화 나서

발행일
읽는 시간3분 38초

MCP 서버가 대화형 사용자 인터페이스 제공 가능해져, AI 에이전트 앱 생태계 확장 기대

[한국정보기술신문] OpenAI와 Anthropic이 Model Context Protocol(MCP)에 대화형 사용자 인터페이스를 표준화하여 지원하는 확장 기능을 제안했다. 이번 제안은 MCP 커뮤니티에서 가장 많이 요청된 기능 중 하나를 다루며, MCP-UI 프로젝트와 OpenAI Apps SDK의 검증된 작업을 기반으로 한다.

11월 21일 공개된 MCP Apps는 서버가 호스트에 대화형 사용자 인터페이스를 제공할 수 있도록 하는 선택적 확장 기능이다. UI 리소스를 선언하고, 도구와 연결하며, 임베디드 인터페이스와 호스트 애플리케이션 간 양방향 통신을 가능하게 하는 표준화된 패턴을 도입한다. 이번 제안서는 OpenAI와 Anthropic의 MCP 핵심 관리자들이 MCP-UI 개발자 및 MCP UI 커뮤니티 워킹 그룹의 주요 관리자들과 함께 작성했다.

대화형 인터페이스 표준화의 필요성

현재 MCP 서버는 호스트와 텍스트 및 구조화된 데이터 교환에만 제한되어 있다. 이는 많은 사용 사례에 적합하지만, 도구가 시각적 정보를 제시하거나 복잡한 사용자 입력을 수집해야 할 때 마찰을 일으킨다.

예를 들어, 차트 데이터를 JSON으로 반환하는 데이터 시각화 서버의 경우, 호스트 애플리케이션이 해당 데이터를 해석하고 렌더링해야 하는 부담이 모든 클라이언트 구현에 떨어진다. 또한 여러 관련 설정을 사용자로부터 수집해야 하는 구성 도구의 경우, UI 지원이 없으면 이러한 상호작용이 어색한 텍스트 프롬프트와 응답의 교환이 된다.

커뮤니티는 이러한 제한을 해결하기 위해 창의적인 방법을 사용해왔지만, 서로 다른 구현이 서로 다른 접근 방식을 사용하여 서버가 호스트 간에 일관되게 작동하기 어렵게 만들었다. 표준화가 부족하면 생태계의 분열이라는 실질적인 위험이 있다.

커뮤니티와의 협력

Ido Salomon과 Liad Yosef가 만들고 헌신적인 커뮤니티가 유지하는 MCP-UI 프로젝트는 대화형 인터페이스를 갖춘 에이전트 앱의 비전을 선도했다. 이 프로젝트는 풍부한 사용자 인터페이스를 일급 MCP 리소스로 제공하는 패턴을 개발하여, 에이전트 앱이 MCP 아키텍처 내에 자연스럽게 맞는다는 것을 증명했다. 대규모 커뮤니티의 지원과 풍부한 SDK 제공으로 Postman, Shopify, HuggingFace, Goose, ElevenLabs 등 주요 기업과 프로젝트에서 채택을 주도했다.

OpenAI Apps SDK는 대화형 AI 인터페이스 내에서 풍부한 UI 경험에 대한 수요를 더욱 검증했다. Apps SDK는 개발자가 MCP를 백본으로 사용하여 ChatGPT 내부에 풍부하고 대화형 애플리케이션을 구축할 수 있게 한다. 상호 운용성을 보장하고 생태계 전반에 걸쳐 일관된 보안 및 사용 패턴을 확립하기 위해 Anthropic, OpenAI, MCP-UI가 협력하여 대화형 인터페이스를 위한 공식 MCP 확장을 만들고 있다.

MCP Apps 사양 및 주요 설계 결정

제안된 사양은 MCP의 UI 리소스에 대한 것이지만, 그 의미는 더 나아간다. MCP Apps는 에이전트 앱 런타임처럼 보이기 시작하고 있으며, AI 모델, 사용자, 애플리케이션 간의 새로운 상호작용을 위한 기반이 된다. 제안은 의도적으로 간결하며, 시간이 지남에 따라 확장할 계획인 핵심 패턴으로 시작한다.

주요 설계 결정 사항으로는 사전 선언된 리소스 방식이 있다. UI 템플릿은 ui:// URI 스키마를 가진 리소스로, 도구 메타데이터에서 참조된다. 이 접근 방식을 통해 호스트는 도구 실행 전에 템플릿을 미리 가져오고 검토할 수 있어 성능과 보안이 모두 향상된다. 또한 정적 프레젠테이션(템플릿)과 동적 데이터(도구 결과)를 분리하여 더 나은 캐싱이 가능하다.

통신을 위해 사용자 정의 메시지 프로토콜을 만드는 대신, UI 구성 요소는 postMessage를 통해 MCP의 기존 JSON-RPC 기본 프로토콜을 사용하여 호스트와 통신한다. 이는 UI 개발자가 표준 SDK를 사용할 수 있고, 모든 통신이 구조화되고 감사 가능하며, 향후 MCP 기능이 자동으로 UI 확장과 함께 작동한다는 것을 의미한다.

초기 사양은 샌드박스 iframe에서 렌더링되는 text/html 콘텐츠만 지원한다. 이는 범용 브라우저 지원, 잘 이해된 보안 모델, 스크린샷 및 미리보기 생성 기능, 향후 확장을 위한 명확한 기준선을 제공한다. 외부 URL, 원격 DOM, 네이티브 위젯과 같은 다른 콘텐츠 유형은 향후 반복으로 명시적으로 연기된다.

보안 우선 접근

MCP 서버의 대화형 콘텐츠를 호스팅하려면 신중한 보안 고려가 필요하다. 제안서는 여러 계층을 통해 이를 해결한다. 모든 UI 콘텐츠는 제한된 권한을 가진 샌드박스 iframe에서 실행되며, 호스트는 렌더링 전에 HTML 콘텐츠를 검토할 수 있다. 모든 UI-호스트 간 통신은 로깅 가능한 JSON-RPC를 거치며, 호스트는 UI가 시작한 도구 호출에 대해 명시적 승인을 요구할 수 있다.

이러한 완화 조치는 개발자가 필요로 하는 유연성을 유지하면서 악의적인 서버에 대한 심층 방어를 생성한다. 또한 MCP Apps는 선택적 확장이다. 기존 구현은 변경 없이 계속 작동하며, 호스트는 자체 속도로 점진적으로 UI 지원을 채택할 수 있다. 서버는 모든 UI 지원 도구에 대해 텍스트 전용 대체를 제공해야 하며, UI를 사용할 수 없을 때도 의미 있는 콘텐츠를 반환하여 UI 지원 및 텍스트 전용 호스트 모두에 서비스를 제공할 수 있어야 한다.

향후 계획

UI 커뮤니티 워킹 그룹은 광범위한 피드백과 토론을 통해 이 제안을 형성하는 데 중요한 역할을 했다. 제안서에 설명된 패턴과 유형을 시연하기 위한 조기 액세스 SDK가 구축되었으며, MCP-UI 클라이언트 및 서버 SDK가 이러한 패턴을 지원한다.

커뮤니티는 GitHub의 SEP-1865에서 전체 사양을 검토하고, GitHub 이슈에서 피드백과 우려 사항을 공유하며, MCP Discord의 ui-cwg 채널에서 토론에 참여하고, 프로토타입 구현을 테스트하여 경험을 공유할 수 있다.

이번 제안은 MCP-UI, OpenAI, Anthropic의 관리자들의 작업 없이는 존재하지 않았을 것이다. Ido Salomon과 Liad Yosef는 MCP-UI와 ui-cwg 채널의 중재를 통해 MCP Apps가 이제 표준화하는 많은 패턴을 인큐베이션하고 옹호했으며, 기여자들과 함께 UI 리소스가 MCP의 자연스러운 부분이 될 수 있음을 입증했다.

한국정보기술신문 인공지능분과 박정후 기자 news@kitpa.org