MDMA MCP Server
An agent gets the MDMA spec, prompts and validation so it can answer with forms, tables and approvals right inside Markdown
- 73 ★ on the repository
- Last commit
- MIT
Extended access
Why this level
- `get-doc` downloads files from GitHub, and their text enters the agent's context
- Generated forms can collect personal data, and fields holding it must be marked `sensitive`
Install
- Works in
In your terminal, with SkillFoxx CLI
npx skillfoxx add mcp/mdma-mcp-serverDetects the agents on your machine, shows the access level and pins the version.
Other ways to install
Access and checks
How we reviewExtended accessThe tool runs code or makes network calls and only reads external data.
- `get-doc` downloads files from GitHub, and their text enters the agent's context
- Generated forms can collect personal data, and fields holding it must be marked `sensitive`
This is third-party code. Review the repository files before installing.
What it does
MDMA extends Markdown with interactive components in `mdma` blocks: forms, tables, buttons, approvals and webhooks. The `@mobile-reality/mdma-mcp` MCP server explains to an agent how to write them and wire them into an application. There are eight tools. `get-spec` returns the full specification with JSON schemas, `get-prompt` returns the `mdma-author`, `mdma-reviewer` and `mdma-fixer` prompts, `list-prompt-variants` lists prompt variants for different models, `build-system-prompt` assembles a prompt for a business domain, and `validate-prompt` checks such a prompt. `list-packages` describes nine packages with install commands, and `list-docs` and `get-doc` serve documentation from the repository. The repository also has an `mdma-integration` skill. It walks an agent from choosing packages to wiring the parser, store and React renderer, streaming model output and CI validation. The skill goes into `.claude/skills/`, and the server is connected separately.
Who it is for. Front-end developers who build chats or documents with interactive MDMA components and hand an agent the wiring of the packages.
Good fit when
- A chat application has to show model answers as forms and approvals
- An agent picks MDMA packages for a project and gets install commands in one `list-packages` call
- A custom prompt for a domain such as HR onboarding is assembled with `build-system-prompt`
- MDMA documents are validated in CI, and the agent sets up the validation command
Not a fit when
- You want ready UI components without MDMA: the server knows only this format's specification
- The agent has no network: `get-doc` fetches documentation files from GitHub on demand
- The application is not written in React: the renderer in the repository is for React only
Example request
Add a chat to my React app that receives MDMA forms from the model as a stream, and check the answers with the validator.MCP
- Transport
- stdio
- Authentication
- not required
Limitations
The server supplies knowledge of the format and does not draw an interface: parsing, store and rendering are separate npm packages. The prompts were checked on a test suite across models, but in long dialogues small models drift away from the spec.
`gpt-5.4` and `gemini-3.1-pro-preview` have documented unstable cases in roughly 7–15 percent of runs. For Zhipu, Moonshot, Alibaba and MiniMax models the results in the table are not filled in yet.
How to disable. Remove the `mdma` block from the MCP configuration and the `mdma-integration` folder from `.claude/skills/`.
FAQ
How do I connect MDMA MCP to Cursor or Claude Desktop?
Add an `mdma` server to the MCP configuration with the command `npx` and the argument `@mobile-reality/mdma-mcp`: a ready JSON snippet is in the documentation. Then restart the client.
What is MDMA?
Markdown Document with Mounted Applications: `mdma` blocks in plain Markdown turn a file into an application with forms, tables, buttons and approvals.
Why use the server if the documentation exists?
The agent gets the spec, prompts and package list in three calls: `list-packages`, `get-spec`, `get-prompt`. In the authors' comparison, the agent without the server spent noticeable time studying the repository.
Which models have prompts?
OpenAI, Anthropic, Google and xAI have `mdma-author` prompt variants with evaluation results. `list-prompt-variants` returns the list, and the variant is picked through `variantId` in `get-prompt`.
Is the skill needed together with the server?
Not required. The skill explains how to think about the integration, and the server provides the current spec and documentation. By the authors' account, together they give a more accurate result.
Discussion
No questions or reviews yet.
Related
MCP serversSvelte's official MCP server and plugin: current docs, component autofixing and Svelte 5 skills
Ant Design Components MCP
antd-components-mcp
An MCP server that hands an agent Ant Design component docs, API, code examples and changelogs so it stops inventing props
A design-system MCP server and linter: the agent reads tokens and rules before generating UI, and a check returns violations
Connects an agent to a running Next.js 16+ dev server: errors, routes, logs and docs for your installed version
Figma MCP Server (Antonytm)
Figma MCP Server
A community MCP server with a Figma plugin: the agent creates frames, text and components in the open file, not just reads them
An MCP server that lets an agent read and edit Figma designs: colors, typography, components and export
README in short
The documentation opens with an explanation of the format and a form example, followed by prompt matrices per model, the package descriptions, CLI validation and a section on the MCP server. The integration skill and a promptfoo evaluation suite are described separately.