
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.
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.
Installation
In SourceWeft
- Open Mdma in the dashboard and add it to a workspace.
- 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
Install
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.
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
versionin package.json. - Update
versionstring in src/index.ts (theMcpServer({ version: ... })call). - Update top-level
versionandpackages[0].versionin server.json. - Update top-level
versionandpackages[0].versionin manifest.json. - Add a changeset:
pnpm changesetat repo root. - Run
pnpm build && pnpm test && pnpm typecheckin this package. - Run
pnpm smoke:packin this package — it packs, installs the tarball into a clean directory and checkstools/listandget-specover stdio; it must printPASSbefore you publish.
2. Publish to npm
-
pnpm publish --access public --no-git-checksfrom this directory. - Verify:
npm view @mobile-reality/mdma-mcp version mcpName— both should match.
3. Publish to the MCP Registry
- Ensure
mcp-publisheris authenticated:mcp-publisher login github(re-auth if tokens expired). -
mcp-publisher publishfrom this directory.- Alternative: run the "Publish to MCP Registry" workflow from the Actions tab on
mainafter the npm publish. Interactivemcp-publisher login githubfails when the organization restricts OAuth apps; the workflow uses GitHub OIDC instead.
- Alternative: run the "Publish to MCP Registry" workflow from the Actions tab on
- 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
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].versionbumped: 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
Source: packages/mcp/README.md at commit bda10a7
Tools
0Version history
2- v0.3.1LatestOct 13, 2026
- 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