Mdma

io.github.MobileRealityPublished by GitHub account MobileRealityv0.3.1Updated Oct 24, 2026

MCP server for MDMA — exposes spec, prompts, docs, and package metadata to AI assistants.

VerifiedSTDIODesktop onlyKnowledge & MemoryDeveloper Tools

Overview

AI-generated overview

Local MCP server that gives an assistant the MDMA spec, authoring prompts, package metadata and live GitHub docs for building MDMA interfaces.

What you can do
  • Retrieve the full MDMA specification, including component types, JSON schemas, binding syntax and external data sources
  • Fetch named authoring prompts (author, reviewer, fixer), list model-specific prompt variants, and get a variant by id
  • Generate a custom MDMA system prompt from structured input such as domain, components, fields, steps and business rules, and validate it against MDMA conventions
  • List MDMA npm packages with purpose, install command, usage example and category
  • Browse the documentation catalog and fetch the latest version of a doc from the public GitHub repository, optionally at a branch, tag or SHA
When to use it
Useful when an assistant is authoring, reviewing or fixing MDMA interfaces and needs the current spec, prompts and docs rather than guessing. It is a documentation and prompt source, not a runtime for MDMA itself.
Requirements
Runs locally over stdio, typically started with npx from the @mobile-reality/mdma-mcp npm package, so Node.js and network access are needed. No authentication, environment variables or headers are declared. Fetching docs requires access to raw.githubusercontent.com.
Before you install
The doc-fetching tools pull content from a public GitHub repository, so the assistant receives third-party text from the network. The README's release and publishing sections describe registry tokens and warn that packing can bundle token files; those steps are for maintainers, not for installing the server.

Installation

In SourceWeft

  1. Open Mdma in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

@mobile-reality/mdma-mcp

MCP (Model Context Protocol) server for MDMA. Exposes the MDMA spec, authoring prompts, package metadata, and live GitHub documentation to AI assistants.

Tools

ToolPurpose
get-specReturns the full MDMA specification (component types, JSON schemas, binding syntax, external data sources with { source, params } refs and the rows / series / options kinds, authoring rules).
get-promptReturns a named MDMA prompt (mdma-author, mdma-reviewer, mdma-fixer). For mdma-author, accepts an optional variantId (e.g. anthropic/sonnet-5.5, openai/gpt-6-sol) to return the model-optimised variant — use list-prompt-variants to see all available ids.
list-prompt-variantsReturns all available MDMA_AUTHOR prompt variants (id, label, description) without the prompt content. Use the id with get-prompt to fetch the model-optimised prompt.
build-system-promptGenerates a custom MDMA prompt from structured input (domain, components, fields, steps, business rules). Pass dataSources (an external data-source catalog of rows / series / options entries) to get the full system prompt with the catalog and the rule to reference data via { source, params }.
validate-promptValidates a custom prompt against MDMA conventions.
list-packagesReturns all MDMA npm packages with purpose, install command, usage example, and category.
list-docsReturns the catalog of MDMA documentation files available for fetching from the public GitHub repo.
get-docFetches the latest version of a doc from raw.githubusercontent.com/MobileReality/mdma. Supports an optional ref (branch, tag, or SHA).

Install

json
{  "mcpServers": {    "mdma": { "command": "npx", "args": ["@mobile-reality/mdma-mcp"] }  }}

Distribution venues

Places where MDMA's MCP server is published or should be published. Each venue has its own submission / update flow — when releasing a new version, check each one.

VenueIdentifier / URLNotes
npm@mobile-reality/mdma-mcpPublish via pnpm publish --access public --no-git-checks.
Official MCP Registryio.github.MobileReality/mdmaPublished via mcp-publisher. Namespace is case-sensitive — must match GitHub's canonical capitalization.
GlamaMobileReality/mdmaQuality + Security scores auto-evaluated periodically. Docker build config lives in the Glama admin page — re-deploy + re-release when bumping.
awesome-mcp-serverspunkpeye/awesome-mcp-serversEntry sits under Developer Tools alphabetically.
Smithery Skillsmobilereality/mdmaSkills surface — not the MCP surface (Smithery's MCP flow is HTTP-only, unusable for stdio).
MCP.somcp.so/server/mdmaSubmitted by Mateusz Sadowski (shown as "Submitted by" on the public page), so Title / Description / Tags / Content are edited from that account. Without access, ask Mateusz Sadowski to edit it, or use the "Claim" button next to the server name (sign in first; the verification MCP.so requires is not documented here). The page lists the tools and the npx @mobile-reality/mdma-mcp command but no version, so a new release needs no change there unless the tool set or description changes.
MCPB Desktop ExtensionsAnthropic intake formPartner queue at Anthropic. Bundle built locally; not shipped in this repo.

Release checklist — when bumping the version

Use this checklist every time you publish a new version (0.2.4 → 0.2.5, etc.).

1. Bump + test

  • Update version in package.json.
  • Update version string in src/index.ts (the McpServer({ version: ... }) call).
  • Update top-level version and packages[0].version in server.json.
  • Update top-level version and packages[0].version in manifest.json.
  • Add a changeset: pnpm changeset at repo root.
  • Run pnpm build && pnpm test && pnpm typecheck in this package.
  • Run pnpm smoke:pack in this package — it packs, installs the tarball into a clean directory and checks tools/list and get-spec over stdio; it must print PASS before you publish.

2. Publish to npm

  • pnpm publish --access public --no-git-checks from this directory.
  • Verify: npm view @mobile-reality/mdma-mcp version mcpName — both should match.

3. Publish to the MCP Registry

  • Ensure mcp-publisher is authenticated: mcp-publisher login github (re-auth if tokens expired).
  • mcp-publisher publish from this directory.
    • Alternative: run the "Publish to MCP Registry" workflow from the Actions tab on main after the npm publish. Interactive mcp-publisher login github fails when the organization restricts OAuth apps; the workflow uses GitHub OIDC instead.
  • Verify: curl "https://registry.modelcontextprotocol.io/v0.1/servers?search=io.github.MobileReality/mdma" shows the new version.

Do not commit .mcpregistry_github_token / .mcpregistry_registry_token — they are in .gitignore. GitHub's push protection will block the push anyway; this is a belt-and-braces reminder.

4. Tag the release

bash
git tag '@mobile-reality/mdma-mcp@<version>'git push origin '@mobile-reality/mdma-mcp@<version>'

5. Build a fresh MCPB bundle (only if submitting a Desktop Extension update)

pnpm's virtual store (.pnpm/) gets stripped by mcpb pack, so you must build the bundle from a clean npm-installed directory or transitive deps (e.g. ajv) will be missing.

Output: <name>-<version>.mcpb. Test-install in Claude Desktop, then attach as a GitHub Release asset.

6. Glama — if tool descriptions or Dockerfile config changed

  • If you added / renamed / changed descriptions of tools: Glama's Quality score will re-evaluate on its next periodic scan. No manual trigger.
  • If packages[0].version bumped: go to the Glama admin page → update Build steps (npm install -g @mobile-reality/mdma-mcp@<version>) → Deploy → Make Release.

7. Downstream awareness

  • Update the MCP tools table in the root README.md if tools were added / renamed / removed.
  • Update this package's own tools table (above) the same way.
  • If tools changed: update the MCP.so listing, which is owned by another account (see the MCP.so row in Distribution venues).
  • If a breaking change: note in the changeset; update consumers of createMdmaMcpServer() if any.

Troubleshooting

MCP Registry publish fails with 403 Forbidden

If the error says permission to publish: io.github.gitsad/*, io.github.MobileReality/*. Attempting to publish: io.github.mobilereality/mdma (lowercase mismatch): the registry is case-sensitive and your mcpName / server.json name must exactly match GitHub's canonical MobileReality capitalization. Fix both files and republish to npm (versions on npm are immutable).

If the error says permission to publish: io.github.gitsad/* (org missing entirely): your MobileReality GitHub membership is private. Make it public at https://github.com/orgs/MobileReality/people, then mcp-publisher logout && mcp-publisher login github to refresh the JWT.

MCPB .mcpb crashes on install in Claude Desktop

Usually "missing module" errors in the Developer tab logs. Cause: pnpm's nested .pnpm/ virtual store got stripped at pack time, so transitive deps are missing. Fix: build the bundle from a clean npm-installed directory (see step 5 above). Do not run mcpb pack directly against packages/mcp/node_modules.

Secrets leaking into the bundle

mcpb pack does not respect .gitignore. Any .mcpregistry_*_token file next to the manifest at pack time gets zipped into the .mcpb. Always delete these before packing, and prefer the /tmp/mcpb-build workflow above which has no tokens in its directory.

Files in this package

FilePurposeTracked?
src/TypeScript source for the server + tools.✅
dist/Compiled JavaScript.❌ (gitignored)
tests/Vitest unit tests for tool logic.✅
package.jsonContains the mcpName field required by the MCP Registry.✅
server.jsonMCP Registry manifest consumed by mcp-publisher.✅
manifest.jsonMCPB (Desktop Extension) manifest.✅
icon.png1024×1024 square icon for the MCPB submission.✅
screenshots/Screenshots bundled with the MCPB for the Claude Desktop install dialog.✅
*.mcpbBuilt Desktop Extension bundle (build artifact).❌ (gitignored)

Source: packages/mcp/README.md at commit bda10a7

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

2
  1. v0.3.1LatestOct 13, 2026
  2. v0.2.4Sep 16, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts