AI 채팅 호스트를 위한 도구 구축을 시작했다면, 아마도 동일한 갈림길에 서게 되었을 것입니다. 현재 도구에 사용자 인터페이스 (UI)를 추가하는 방법에는 두 가지가 있습니다. 첫 번째는 Model Context Protocol (MCP)에서 제공하는 개방형 표준인 MCP Apps입니다. 두 번째는 OpenAI가 ChatGPT 앱 스토어를 위해 출시한 프레임워크인 OpenAI Apps SDK입니다.
두 방식 모두 채팅 내에서 도구의 UI를 렌더링할 수 있게 해줍니다. 둘 다 샌드박스 처리된 iframe 내부에서 실행됩니다. 둘 다 JSON-RPC를 통해 서버와 통신합니다. 따라서 거의 모든 개발자가 던지는 질문은 자명합니다: 이들은 서로 경쟁하는 표준인가?
짧은 답변
아니요. OpenAI Apps SDK는 MCP를 기반으로 구축되었습니다. 이는 전송 형식 (wire format), 도구 정의, UI 렌더링 및 보안 모델에 MCP를 사용합니다. 그런 다음 ChatGPT 전용 확장 기능을 포함하는 얇은 계층을 추가합니다: 결제 훅 (window.openai.requestCheckout), 스토어 디렉토리, 그리고 ChatGPT 내부에서만 실행되는 몇 가지 헬퍼 (helpers) 기능입니다.
따라서 선택은 "둘 중 하나를 고르는 것"이 아닙니다. 솔직한 프레임워크는 다음과 같습니다:
- 먼저 MCP Apps를 기준으로 구축하세요. 그러면 귀하의 도구는 Claude, Claude Desktop, VS Code, Goose, Postman, MCPJam 및 개방형 표준을 지원하는 모든 호스트에서 작동합니다.
- ChatGPT 전용 기능이 필요할 때만 OpenAI Apps SDK 확장을 활성화하세요. 이는 주로 결제 및 ChatGPT 앱 스토어를 의미합니다.
네 가지 실질적인 차이점
마케팅 요소를 제외하면, MCP Apps가 제공하지 않고 OpenAI Apps SDK가 제공하는 것은 단 네 가지뿐입니다:
- 스토어 및 디렉토리 — ChatGPT 앱 스토어에 귀하의 앱이 나열되어 ChatGPT 사용자들에게 노출됩니다. 개방형 MCP 사양에는 중앙 집중식 검색 기능이 없습니다.
- 채팅 내 결제 —
window.openai.requestCheckout()는 채팅을 떠나지 않고 결제 흐름을 실행합니다. MCP Apps는 현재 결제 프리미티브 (primitive)를 가지고 있지 않습니다.
- 대화 인지형 헬퍼 (Conversation-aware helpers) — 주변 대화 상태에 대한 더 긴밀한 접근 권한을 제공합니다.
- ChatGPT 사용자에게 특화된 배포 — ChatGPT는 수억 명의 사용자를 보유하고 있습니다. Apps SDK는 OpenAI의 인터페이스를 통해 이들에게 도달할 수 있는 유일한 방법입니다.
그 외의 모든 것 — 샌드박싱 (sandboxing), iframe 렌더링 (iframe rendering), JSON-RPC 감사 추적 (audit trail), 도구 선언 (tool declarations) — 은 양쪽 모두 동일합니다. Apps SDK가 이 기능들을 위해 MCP를 사용하기 때문입니다.
어떤 것을 선택해야 할까
만약 타겟 대상이 구체적으로 ChatGPT 사용자이고 채팅 내 결제 (in-chat payments) 기능이 필요하다면, OpenAI Apps SDK로 구축하십시오. 그 외의 모든 경우에는 MCP Apps를 대상으로 구축하십시오. 그러면 귀하의 도구는 오픈 표준 (open standard)을 지원하는 모든 호스트에서 실행됩니다.
저는 양측의 코드 예시, 스마트 점진적 향상 (progressive-enhancement) 패턴, 의사 결정 트리 (decision tree), 그리고 대부분의 팀이 겪는 두 가지 함정 (pitfalls)을 포함한 전체 비교 내용을 제 블로그에 작성했습니다.
moeed.app에서 전체 가이드 읽기 →