Mdma

io.github.MobileReality由 GitHub 帳號 MobileReality 發布v0.3.1更新於 Oct 24, 2026

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

已驗證STDIO僅桌面知識與記憶開發者工具

概覽

AI 產生的概覽

本機 MCP 伺服器,向 AI 助理提供 MDMA 規格、撰寫提示詞、套件中繼資料與 GitHub 即時文件,用來建構 MDMA 介面。

可以做什麼
  • 取得完整的 MDMA 規格,包含元件類型、JSON schema、綁定語法與外部資料來源
  • 取得具名提示詞(author、reviewer、fixer),列出針對不同模型最佳化的提示詞變體,並依 id 取用
  • 依領域、元件、欄位、步驟與業務規則等結構化輸入產生自訂 MDMA 系統提示詞,並依 MDMA 慣例進行驗證
  • 列出 MDMA 的 npm 套件,含用途、安裝指令、用法範例與分類
  • 瀏覽文件目錄,並從公開 GitHub 儲存庫取得文件最新版本,可指定分支、標籤或 SHA
適用情境
適合助理在撰寫、審查或修正 MDMA 介面時需要最新規格、提示詞與文件,而不是憑猜測作答的情況。它是文件與提示詞來源,本身並不執行 MDMA。
執行需求
以 stdio 在本機執行,通常透過 npx 啟動 @mobile-reality/mdma-mcp 這個 npm 套件,因此需要 Node.js 與網路存取。未宣告任何驗證、環境變數或標頭。取得文件需要能連線 raw.githubusercontent.com。
安裝前請注意
文件工具會從公開 GitHub 儲存庫抓取內容,助理因此會收到來自網路的第三方文字。README 中關於發佈與上架的章節涉及登錄檔權杖,並提醒打包可能把權杖檔案一併包入;這些步驟是給維護者看的,與安裝使用無關。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Mdma,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

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)

來源:packages/mcp/README.md,提交 bda10a7

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

2
  1. v0.3.1最新Oct 13, 2026
  2. v0.2.4Sep 16, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分