mdma
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get-specB | Returns the full MDMA specification: component types, schemas (as JSON Schema), binding syntax, external data sources ({ source, params } refs, the DataSourceDescriptor shape, and the rows / series / options kinds), and authoring rules |
| get-promptA | Returns a named MDMA prompt (mdma-author, mdma-reviewer, or mdma-fixer). For mdma-author, pass an optional variantId (e.g. "anthropic/sonnet-5.5", "openai/gpt-6-sol") to get the model-optimised variant — use list-prompt-variants to see all available ids. |
| list-prompt-variantsA | Returns all available MDMA_AUTHOR prompt variants with their id, label, and description. Pass the id to get-prompt as variantId to retrieve the model-optimised prompt. |
| build-system-promptA | Generates a custom MDMA prompt from structured input (domain, components, fields, steps). Returns only the custom prompt part — use buildSystemPrompt({ customPrompt }) in code to combine it with the base MDMA spec. When dataSources (an external data-source catalog) is passed, returns the full system prompt instead: base MDMA spec, the data-source catalog with the rule to reference it via { source, params }, and the custom part. |
| validate-promptA | Validates a custom prompt against MDMA conventions. Returns warnings for anti-patterns and suggestions for improvements. |
| list-packagesA | Returns all MDMA npm packages with their purpose, install command, usage example, and category |
| list-docsA | Returns the catalog of MDMA documentation files available for fetching from the public GitHub repo (path, title, description). Use this to discover what docs you can pass to get-doc. |
| get-docA | Fetches the latest version of an MDMA documentation file from the public GitHub repo (raw.githubusercontent.com/MobileReality/mdma) and returns its contents as text. Allowed paths: any entry from list-docs, plus any *.md file under "docs/" or "blueprints/". Defaults to the "main" branch. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 8 tools
Most tools target clearly distinct resources (spec, prompt, docs catalog, doc contents, packages, variants). However, get-spec, get-prompt, and build-system-prompt all revolve around producing prompt/spec text and could be confused at a glance, though the detailed descriptions clarify when each applies.
All names follow a kebab-case verb_noun pattern (get-*, list-*, build-*, validate-*), which is predictable and readable. Minor deviation only in that some names extend to three tokens (list-prompt-variants, build-system-prompt), but the convention holds.
Eight tools is well-scoped for a prompt/spec authoring assistant. Each tool earns its place, covering retrieval, generation, validation, and discovery without redundancy.
The surface covers the authoring lifecycle well: discovering docs and packages, fetching the spec, retrieving/building/validating prompts, and reading documentation. Minor gaps exist (no direct component-listing or search tool, no way to actually render/execute MDMA output), but the core workflow is covered.