MDMA について
MDMAは、インタラクティブなMarkdown文書の仕様とツール群です。MCPサーバーは仕様、作成用プロンプト、パッケージ情報、GitHubドキュメントをAIアシスタントに提供し、MDMA文書を開発・レビューする人を支援します。
主な機能
- 01MDMA仕様とJSON Schemaの取得
- 02プロンプトの取得とバリアント一覧
- 03構造化入力からシステムプロンプトを生成
- 04独自プロンプトを規約に照らして検証
- 05パッケージ一覧とGitHubドキュメントの参照
活用シーン
- 01MDMA文書の作成用プロンプトを生成
- 02プロンプトがMDMA規約に沿うか確認
- 03MDMAコンポーネントの仕様や文書を検索
- 04npmパッケージの用途とインストール方法を確認
MCP 対応
MDMA仕様、プロンプト、パッケージ情報、GitHubドキュメントを扱うツールをMCPクライアントに公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
8掲載時のツール一覧 · 2 週間前に更新
このツールにパラメーターはありません。
詳細
@mobile-reality/mdma-mcp
MDMA 用の MCP(Model Context Protocol)サーバーです。MDMA の仕様、作成用プロンプト、パッケージのメタデータ、GitHub の最新ドキュメントを AI アシスタントに提供します。
ツール
| ツール | 目的 |
|---|---|
get-spec | MDMA の仕様全体(コンポーネントの種類、JSON スキーマ、バインディング構文、{ source, params } 参照を含む外部データソースと、rows/series/options の種類、作成ルール)を返します。 |
get-prompt | 名前を指定した MDMA プロンプト(mdma-author、mdma-reviewer、mdma-fixer)を返します。mdma-author では、モデルに最適化されたバリアントを返すために variantId(例:anthropic/sonnet-5.5、openai/gpt-6-sol)を任意で指定できます。利用可能な ID をすべて確認するには list-prompt-variants を使用してください。 |
list-prompt-variants | 利用可能な MDMA_AUTHOR プロンプトのバリアント(ID、ラベル、説明)を、プロンプトの内容なしで返します。モデルに最適化されたプロンプトを取得するには、その ID を get-prompt で使用してください。 |
build-system-prompt | 構造化された入力(ドメイン、コンポーネント、フィールド、手順、ビジネスルール)から、カスタム MDMA プロンプトを生成します。dataSources(rows/series/options のエントリを含む外部データソースのカタログ)を渡すと、カタログと、{ source, params } を使ってデータを参照するルールを含むシステムプロンプト全体を取得できます。 |
validate-prompt | カスタムプロンプトが MDMA の規約に準拠しているか検証します。 |
list-packages | すべての MDMA npm パッケージについて、目的、インストールコマンド、使用例、カテゴリを返します。 |
list-docs | 公開 GitHub リポジトリから取得できる MDMA ドキュメントファイルのカタログを返します。 |
get-doc | raw.githubusercontent.com/MobileReality/mdma からドキュメントの最新バージョンを取得します。任意で ref(ブランチ、タグ、SHA)を指定できます。 |
インストール
{
"mcpServers": {
"mdma": { "command": "npx", "args": ["@mobile-reality/mdma-mcp"] }
}
}
配布先
MDMA の MCP サーバーが公開されている、または公開予定の場所です。各配布先には独自の申請/更新手順があります。新しいバージョンをリリースする際は、それぞれを確認してください。
| 配布先 | 識別子/URL | 備考 |
|---|---|---|
| npm | @mobile-reality/mdma-mcp | pnpm publish --access public --no-git-checks で公開します。 |
| 公式 MCP Registry | io.github.MobileReality/mdma | mcp-publisher で公開します。名前空間は大文字と小文字を区別するため、GitHub の正式な大文字・小文字表記と一致させる必要があります。 |
| Glama | MobileReality/mdma | 品質とセキュリティのスコアは定期的に自動評価されます。Docker のビルド設定は Glama の管理ページにあります。バージョンを上げる際は、再デプロイして再リリースしてください。 |
| awesome-mcp-servers | punkpeye/awesome-mcp-servers | エントリーは開発者ツールの項目にアルファベット順で掲載されています。 |
| Smithery Skills | mobilereality/mdma | Skills の掲載枠であり、MCP の掲載枠ではありません(Smithery の MCP 手順は HTTP 専用のため、stdio では利用できません)。 |
| MCP.so | mcp.so/server/mdma | Mateusz Sadowski が申請しました(公開ページに「Submitted by」として表示)。そのため、タイトル/説明/タグ/コンテンツはそのアカウントから編集します。アクセスできない場合は Mateusz Sadowski に編集を依頼するか、サーバー名の横にある「Claim」ボタンを使用してください(先にサインインしてください。MCP.so が要求する認証については、ここでは説明されていません)。このページにはツールと npx @mobile-reality/mdma-mcp コマンドが掲載されていますが、バージョンは記載されていないため、ツールのセットまたは説明に変更がない限り、新しいリリースに伴う更新は不要です。 |
| MCPB デスクトップ拡張機能 | Anthropic intake form | Anthropic のパートナー審査キューです。バンドルはローカルでビルドされ、このリポジトリでは配布されません。 |
リリースチェックリスト — バージョンを上げる際
新しいバージョンを公開するたびに、このチェックリストを使用してください(0.2.4 → 0.2.5 など)。
1. バージョンを上げてテストする
- package.json の
versionを更新します。 - src/index.ts の
version文字列(McpServer({ version: ... })の呼び出し)を更新します。 - server.json のトップレベルの
versionとpackages[0].versionを更新します。 - manifest.json のトップレベルの
versionとpackages[0].versionを更新します。 - 変更セットを追加します。リポジトリのルートで
pnpm changesetを実行します。 - このパッケージで
pnpm build && pnpm test && pnpm typecheckを実行します。 - このパッケージで
pnpm smoke:packを実行します。パッケージを作成し、クリーンなディレクトリにインストールして、stdio 経由でtools/listとget-specを確認します。公開前にPASSが出力される必要があります。
2. npm に公開する
- このディレクトリで
pnpm publish --access public --no-git-checksを実行します。 -
npm view @mobile-reality/mdma-mcp version mcpNameで確認します。どちらも一致している必要があります。
3. MCP Registry に公開する
-
mcp-publisher login githubを実行してmcp-publisherの認証を確認します(トークンの有効期限が切れている場合は再認証します)。 - このディレクトリで
mcp-publisher publishを実行します。- 別の方法として、npm への公開後に、
mainの Actions タブから「Publish to MCP Registry」ワークフローを実行します。組織が OAuth アプリを制限している場合、対話型のmcp-publisher login githubは失敗します。このワークフローでは代わりに GitHub OIDC を使用します。
- 別の方法として、npm への公開後に、
-
curl "https://registry.modelcontextprotocol.io/v0.1/servers?search=io.github.MobileReality/mdma"で新しいバージョンが表示されることを確認します。
コミットしないでください
.mcpregistry_github_token/.mcpregistry_registry_tokenは .gitignore に含まれています。GitHub のプッシュ保護によってプッシュはブロックされますが、念のための注意です。
4. リリースにタグを付ける
git tag '@mobile-reality/mdma-mcp@<version>'
git push origin '@mobile-reality/mdma-mcp@<version>'
5. 新しい MCPB バンドルをビルドする(Desktop Extension の更新を申請する場合のみ)
pnpm の仮想ストア(.pnpm/)は mcpb pack によって取り除かれるため、クリーンな npm インストール済みディレクトリからバンドルをビルドする必要があります。そうしないと、推移的依存関係(例:ajv)が不足します。
出力:<name>-<version>.mcpb。Claude Desktop にテストインストールしてから、GitHub Release のアセットとして添付します。
6. Glama — ツールの説明または Dockerfile の設定を変更した場合
- ツールを追加、名前変更、または説明を変更した場合:Glama の品質スコアは、次回の定期スキャンで再評価されます。手動での実行は不要です。
-
packages[0].versionを更新した場合:Glama の管理ページを開き、Build steps(npm install -g @mobile-reality/mdma-mcp@<version>)を更新してから、Deploy → Make Release を実行します。
7. 下流への周知
- ツールを追加、名前変更、または削除した場合は、ルートの README.md にある MCP ツール一覧を更新します。
- 同様に、このパッケージ内のツール一覧(上記)も更新します。
- ツールを変更した場合は、別のアカウントが管理する MCP.so の掲載情報を更新します(Distribution venues の MCP.so の行を参照)。
- 破壊的変更がある場合は、変更セットに記載し、該当する場合は
createMdmaMcpServer()の利用側を更新します。
トラブルシューティング
MCP Registry への公開が 403 Forbidden で失敗する
エラーに permission to publish: io.github.gitsad/*, io.github.MobileReality/*. Attempting to publish: io.github.mobilereality/mdma(大文字・小文字の不一致)と表示される場合:Registry では大文字と小文字が区別されるため、mcpName / server.json の name は GitHub の正式な表記である MobileReality と完全に一致している必要があります。両方のファイルを修正してから npm に再公開します(npm のバージョンは変更できません)。
エラーに permission to publish: io.github.gitsad/*(組織がまったく含まれていない)と表示される場合:MobileReality の GitHub メンバーシップが非公開になっています。https://github.com/orgs/MobileReality/people で公開に変更してから、mcp-publisher logout && mcp-publisher login github を実行して JWT を更新します。
MCPB .mcpb のインストール時に Claude Desktop がクラッシュする
通常、Developer タブのログに「missing module」エラーが表示されます。原因は、パッケージ化の際に pnpm のネストされた .pnpm/ 仮想ストアが除外され、推移的依存関係が不足することです。解決方法:クリーンな npm インストール済みディレクトリからバンドルをビルドしてください(上記の手順 5 を参照)。mcpb pack を packages/mcp/node_modules に対して直接実行しないでください。
バンドルへのシークレットの混入
mcpb pack は .gitignore を考慮しません。パッケージ化時にマニフェストの隣にある .mcpregistry_*_token ファイルは、すべて .mcpb に ZIP 化されます。パッケージ化の前に必ずこれらを削除し、ディレクトリ内にトークンがない上記の /tmp/mcpb-build ワークフローを推奨します。
このパッケージ内のファイル
| ファイル | 用途 | 追跡対象? |
|---|---|---|
| src/ | サーバーとツールの TypeScript ソースです。 | ✅ |
| dist/ | コンパイル済み JavaScript です。 | ❌(gitignore 対象) |
| tests/ | ツールロジックの Vitest ユニットテストです。 | ✅ |
| package.json | MCP Registry で必要な mcpName フィールドを含みます。 | ✅ |
| server.json | mcp-publisher が読み込む MCP Registry マニフェストです。 | ✅ |
| manifest.json | MCPB(デスクトップ拡張機能)のマニフェストです。 | ✅ |
| icon.png | MCPB の申請用の 1024×1024 の正方形アイコンです。 | ✅ |
| screenshots/ | Claude Desktop のインストールダイアログ用に MCPB に同梱するスクリーンショットです。 | ✅ |
*.mcpb | ビルド済みデスクトップ拡張機能バンドル(ビルド成果物)です。 | ❌(gitignore 対象) |
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。