MobileReality/mdma

View on GitHub ↗

Interactive documents from Markdown. Extends MD with forms, approvals, webhooks, and more — built for next gen apps

61 ★3 forksTypeScriptUpdated 25d ago

What you need to know

MDMA (Markdown Document with Mounted Applications) lets LLMs respond with interactive components such as forms, tables, and approval gates defined in fenced mdma code blocks, shipped with parser, runtime, renderers, validator, and an MCP server.

Install

npm install @mobile-reality/mdma-parser @mobile-reality/mdma-runtime
npm install @mobile-reality/mdma-renderer-react (or renderer-vue)
npx @mobile-reality/mdma-cli for the prompt builder
MCP server: npx @mobile-reality/mdma-mcp

Usage

  • Parse markdown with the remark plugin and render with MdmaDocument
  • Author mdma blocks for forms, tables, approval gates, webhooks, and more
  • Let the AI agent use the MCP server tools get-spec, get-prompt, build-system-prompt, and validate-prompt

Key features

  • 10 built-in component types
  • Deterministic parsing with no runtime JS in documents
  • PII detection and redaction with tamper-evident audit log
  • Model-specialized authoring prompts for OpenAI, Anthropic, Google, and xAI
  • Validator with 17 lint rules and 6 auto-fix strategies
  • React, Vue 3, and React Native renderers
  • MCP server exposing spec, prompts, and tooling
  • Portable Agent Skill for integration guidance

Best for

Developers building AI chat interfaces that need structured, interactive, rendered output instead of plain text.

Caveats

  • Chart component renders as a table by default unless a custom renderer is registered
  • Not yet v1.0; webhook execution engine still in progress
Platforms: Web · React NativeClients: Claude Desktop · VS Code · Cursor · Any MCP-compatible client

Reviewed 2026-08-11

Topics

agent-skillsai-agentsclaude-skillgenerative-uiinteractive-markdownllmmcpmcp-servermdmamodel-context-protocolreactremark-plugintypescript
Stars
61★
Forks
3
Language
TypeScript
License
MIT
Created
2026-03-04
Last push
2026-08-10