섹션별 상세
기존 LLM 대화는 텍스트 기반으로 사용자가 수동으로 작업을 수행해야 하는 비효율이 존재한다. MDMA는 마크다운에 폼, 버튼, 승인 게이트 등 대화형 컴포넌트를 정의하여 LLM 응답을 즉시 실행 가능한 인터페이스로 변환한다.

MDMA는 fenced code block(```mdma)을 사용하여 구조화된 데이터를 전달한다. 런타임은 이를 파싱하여 React 컴포넌트로 렌더링하며, 폼 데이터 수집, 승인 워크플로, 웹훅 트리거 등 복잡한 상호작용을 처리한다.
markdown
```mdma
type: form
id: intake-form
fields:
- name: patient-name
type: text
label: "Full Name"
required: true
sensitive: true
- name: email
type: email
label: "Email"
required: true
sensitive: true
- name: reason
type: textarea
label: "Reason for Visit"
required: true
```MDMA를 사용하여 마크다운 내에 정의한 대화형 폼 컴포넌트 예시
생태계는 파서, 런타임, 검증기, MCP 서버 등으로 구성된다. 특히 MCP 서버는 AI 에이전트가 MDMA 사양, 프롬프트, 도구를 이해하고 활용하도록 지원하여 개발 생산성을 높인다.
typescript
import { unified } from 'unified';
import remarkParse from 'remark-parse';
import { remarkMdma } from '@mobile-reality/mdma-parser';
import { createDocumentStore } from '@mobile-reality/mdma-runtime';
const processor = unified().use(remarkParse).use(remarkMdma);
const tree = processor.parse(markdown);
const ast = (await processor.run(tree)) as MdmaRoot;
const store = createDocumentStore(ast, {
documentId: 'my-doc',
sessionId: crypto.randomUUID(),
});마크다운을 파싱하여 MDMA AST를 생성하고 상태 저장소를 초기화하는 과정
모델별 최적화된 프롬프트 팩을 제공하여 LLM이 올바른 MDMA 문법을 생성하도록 유도한다. 검증 도구는 YAML 구조, ID 고유성, 바인딩 구문 등을 정적 분석하여 LLM 생성물의 오류를 방지한다.
용어 해설
- 모델 컨텍스트 프로토콜(MCP)
- — AI 모델과 외부 데이터, 도구, 시스템을 표준화된 방식으로 연결하기 위한 개방형 프로토콜입니다. 에이전트가 별도의 복잡한 연동 없이도 사양, 프롬프트, 도구에 접근할 수 있게 합니다.
- 생성형 UI(Generative UI)
- — LLM이 텍스트 응답 대신 사용자의 의도에 맞는 UI 컴포넌트(폼, 버튼, 차트 등)를 실시간으로 생성하여 렌더링하는 인터페이스 방식입니다. 사용자 경험을 텍스트 기반에서 대화형 애플리케이션으로 확장합니다.
- 추상 구문 트리(AST)
- — 소스 코드의 구조를 트리 형태로 표현한 자료구조입니다. MDMA 파서는 마크다운 문서를 AST로 변환하여 컴포넌트 간의 의존성, 바인딩, 유효성을 분석하고 렌더링합니다.
기술
- TypeScript
- React
- MCP
- Zod
- Remark
활용 사례
- 환자 정보 입력 폼
- 승인 워크플로
- 버그 추적 시스템
- 데이터 테이블 및 차트 시각화
언급된 리소스
GitHubMDMA GitHub Repository
AI 분석 전체 내용 보기
AI 요약 · 북마크 · 개인 피드 설정 — 무료
출처 · 인용 안내
원문 발행 2026. 06. 02.수집 2026. 06. 02.출처 타입 RSS
인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.