Skip to main content
Glama

@mobile-reality/mdma-mcp

MDMA 用の MCP (Model Context Protocol) サーバー。MDMA 仕様、作成用プロンプト、パッケージメタデータ、および GitHub 上のライブドキュメントを AI アシスタントに公開します。

ツール

ツール

目的

get-spec

MDMA の完全な仕様(コンポーネントタイプ、JSON スキーマ、バインディング構文、作成ルール)を返します。

get-prompt

指定された MDMA プロンプト (mdma-author, mdma-reviewer, mdma-fixer) を返します。mdma-author の場合、オプションで variantId (例: google/gemini-2.5-pro) を指定してモデル最適化されたバリアントを取得できます。利用可能な ID は list-prompt-variants で確認してください。

list-prompt-variants

利用可能なすべての MDMA_AUTHOR プロンプトバリアント(ID、ラベル、説明)をプロンプト内容なしで返します。ID を get-prompt で使用して、モデル最適化されたプロンプトを取得します。

build-system-prompt

構造化された入力(ドメイン、コンポーネント、フィールド、ステップ、ビジネスルール)からカスタム MDMA プロンプトを生成します。

validate-prompt

MDMA の慣習に従ってカスタムプロンプトを検証します。

list-packages

すべての MDMA npm パッケージを、目的、インストールコマンド、使用例、カテゴリとともに返します。

list-docs

公開 GitHub リポジトリから取得可能な MDMA ドキュメントファイルのカタログを返します。

get-doc

raw.githubusercontent.com/MobileReality/mdma からドキュメントの最新バージョンを取得します。オプションで ref (ブランチ、タグ、または SHA) をサポートします。

Related MCP server: mcp-docs

インストール

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

配布場所

MDMA の MCP サーバーが公開されている、または公開されるべき場所。各場所には独自の提出/更新フローがあるため、新しいバージョンをリリースする際はそれぞれを確認してください。

場所

識別子 / URL

備考

npm

@mobile-reality/mdma-mcp

pnpm publish --access public --no-git-checks で公開。

Official MCP Registry

io.github.MobileReality/mdma

mcp-publisher で公開。名前空間は大文字と小文字を区別します。GitHub の正規の表記と一致させる必要があります。

Glama

MobileReality/mdma

品質とセキュリティのスコアが定期的に自動評価されます。Docker ビルド設定は Glama 管理ページにあります。更新時は再デプロイと再リリースを行ってください。

awesome-mcp-servers

punkpeye/awesome-mcp-servers

エントリは Developer Tools の下にアルファベット順で配置されます。

Smithery Skills

mobilereality/mdma

スキルサーフェス用(MCP サーフェスではありません。Smithery の MCP フローは HTTP 専用であり、stdio には使用できません)。

MCPB Desktop Extensions

Anthropic 提出フォーム

Anthropic のパートナーキュー。バンドルはローカルでビルドされ、このリポジトリには同梱されません。

リリースチェックリスト — バージョンを上げる際

新しいバージョン (0.2.4 → 0.2.5 など) を公開するたびに、このチェックリストを使用してください。

1. バージョンアップとテスト

  • [ ] package.jsonversion を更新します。

  • [ ] src/index.tsversion 文字列 (McpServer({ version: ... }) 呼び出し) を更新します。

  • [ ] server.json のトップレベルの version および packages[0].version を更新します。

  • [ ] manifest.json のトップレベルの version および packages[0].version を更新します。

  • [ ] チェンジセットを追加します: リポジトリルートで pnpm changeset を実行。

  • [ ] このパッケージ内で pnpm build && pnpm test && pnpm typecheck を実行します。

2. npm への公開

  • [ ] このディレクトリから pnpm publish --access public --no-git-checks を実行します。

  • [ ] 検証: npm view @mobile-reality/mdma-mcp version mcpName — 両方が一致していることを確認します。

3. MCP Registry への公開

  • [ ] mcp-publisher が認証されていることを確認します: mcp-publisher login github (トークンが期限切れの場合は再認証)。

  • [ ] このディレクトリから mcp-publisher publish を実行します。

  • [ ] 検証: 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>) を更新 → DeployMake Release

7. 下流への周知

  • [ ] ツールが追加/名前変更/削除された場合は、ルートの README.md の MCP ツールテーブルを更新します。

  • [ ] このパッケージ自身のツールテーブル(上記)も同様に更新します。

  • [ ] 破壊的変更がある場合: チェンジセットに記載し、createMdmaMcpServer() のコンシューマーがあれば更新します。

トラブルシューティング

MCP Registry への公開が 403 Forbidden で失敗する

エラーメッセージに permission to publish: io.github.gitsad/*, io.github.MobileReality/*. Attempting to publish: io.github.mobilereality/mdma (小文字の不一致) とある場合: レジストリは大文字と小文字を区別します。mcpName / server.jsonname は、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 でインストール時にクラッシュする

通常、開発者タブのログに「missing module」エラーが表示されます。原因: pnpm のネストされた .pnpm/ 仮想ストアがパック時に削除され、推移的依存関係が欠落しています。修正: クリーンな npm インストールディレクトリからバンドルをビルドしてください(上記のステップ 5 を参照)。packages/mcp/node_modules に対して直接 mcpb pack を実行しないでください

バンドルへのシークレットの漏洩

mcpb pack.gitignore尊重しません。パック時にマニフェストの隣にある .mcpregistry_*_token ファイルはすべて .mcpb に圧縮されます。パック前に必ずこれらを削除してください。ディレクトリ内にトークンが存在しない /tmp/mcpb-build ワークフローの使用を推奨します。

このパッケージ内のファイル

ファイル

目的

追跡対象?

src/

サーバーとツールの TypeScript ソース。

dist/

コンパイル済み JavaScript。

❌ (gitignored)

tests/

ツールロジックの Vitest ユニットテスト。

package.json

MCP Registry に必要な mcpName フィールドが含まれています。

server.json

mcp-publisher が使用する MCP Registry マニフェスト。

manifest.json

MCPB (Desktop Extension) マニフェスト。

icon.png

MCPB 提出用の 1024×1024 正方形アイコン。

screenshots/

Claude Desktop インストールダイアログ用のスクリーンショット。

*.mcpb

ビルドされた Desktop Extension バンドル(ビルド成果物)。

❌ (gitignored)

Available Tools

7 tools
build-system-promptB

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
domainNoDomain context (e.g. "HR onboarding", "expense approval")
componentsNoComponent types to use (e.g. ["form", "approval-gate", "webhook"])
fieldsNoForm field definitions
stepsNoMulti-step flow definitions — each step becomes a separate conversation turn
businessRulesNoBusiness rules or constraints

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden for behavioral disclosure. It states the tool 'Generates a custom MDMA prompt' and 'Returns only the custom prompt part', which covers basic output behavior. However, it doesn't address important aspects like whether this is a read-only operation, potential side effects, error conditions, or performance characteristics. The description provides minimal behavioral context beyond the core functionality.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is appropriately concise with two sentences that each serve distinct purposes: the first states what the tool does, the second explains output usage. It's front-loaded with the core functionality. While efficient, it could be slightly more structured by separating behavioral details from integration instructions.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 5 parameters with 100% schema coverage but no annotations or output schema, the description provides adequate but minimal context. It covers the basic purpose and output format, but doesn't address the complexity of generating MDMA prompts from multiple structured inputs. For a tool with no output schema, it should ideally describe the return format more thoroughly beyond 'only the custom prompt part'.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all 5 parameters thoroughly. The description mentions the parameters generically ('structured input (domain, components, fields, steps)') but doesn't add meaningful semantic context beyond what the schema provides. The baseline of 3 is appropriate when the schema does the heavy lifting, though the description could have explained relationships between parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Generates a custom MDMA prompt from structured input' with specific components listed (domain, components, fields, steps). It distinguishes from siblings by focusing on building system prompts rather than retrieving or validating them. However, it doesn't explicitly contrast with all sibling tools like 'get-prompt' or 'validate-prompt'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage context through the example of building MDMA prompts and mentions how to integrate the output ('use buildSystemPrompt({ customPrompt }) in code'). However, it lacks explicit guidance on when to choose this tool over alternatives like 'get-prompt' or 'validate-prompt', and doesn't specify prerequisites or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYesRepo-relative path to the doc, e.g. "docs/getting-started/quick-start.md" or "blueprints/kyc-case/README.md"
refNoGit ref (branch, tag, or commit SHA). Defaults to "main".

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It adds useful context like the source URL, allowed paths, and default branch, but lacks details on error handling, rate limits, or authentication needs. It adequately describes the operation but misses some behavioral traits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the core purpose in the first sentence, followed by essential details in subsequent clauses. Every sentence adds value—specifying allowed paths and defaults—with zero waste, making it efficiently structured and easy to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's moderate complexity (fetching files from a repo), no annotations, and no output schema, the description is fairly complete. It covers purpose, source, allowed paths, and defaults, but could improve by mentioning the return format (text contents) or potential errors. It's adequate but has minor gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents both parameters thoroughly. The description adds marginal value by mentioning the default branch for 'ref' and examples for 'path', but does not provide additional semantic meaning beyond what the schema specifies. Baseline 3 is appropriate here.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the specific action ('Fetches the latest version'), resource ('MDMA documentation file'), and source ('public GitHub repo'), distinguishing it from siblings like 'list-docs' (which lists files) or 'get-prompt' (which fetches prompts). It precisely defines what the tool does without ambiguity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context on when to use this tool by specifying allowed paths ('any entry from list-docs, plus any *.md file under "docs/" or "blueprints/"'), which implicitly guides usage. However, it does not explicitly state when not to use it or name alternatives among siblings, such as 'get-prompt' for prompt files.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get-promptC

Returns a named MDMA prompt (mdma-author, mdma-reviewer, or mdma-fixer)

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesPrompt name: mdma-author, mdma-reviewer, or mdma-fixer

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It only states what the tool returns, without mentioning any behavioral traits such as whether it's read-only, has rate limits, requires authentication, returns structured data, or handles errors. For a retrieval tool with zero annotation coverage, this leaves significant gaps in understanding how it behaves.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise and front-loaded in a single sentence that directly states the tool's core function. Every word earns its place without any redundancy or unnecessary elaboration, making it efficient for quick comprehension.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the lack of annotations and output schema, the description is incomplete for a retrieval tool. It doesn't explain what the return value looks like (e.g., prompt text, metadata, or structure), error conditions, or any behavioral context. The agent is left guessing about the output format and operational characteristics.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema description coverage is 100%, with the parameter 'name' fully documented in the schema as accepting one of three specific prompt names. The description adds no additional parameter semantics beyond what's already in the schema, such as format details or usage examples. With high schema coverage, the baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose with a specific verb ('Returns') and resource ('named MDMA prompt'), and identifies the three possible prompt names. However, it doesn't explicitly differentiate this tool from sibling tools like 'get-doc' or 'validate-prompt' that might also retrieve content, leaving some ambiguity about when to use this specific prompt-retrieval tool.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention sibling tools like 'get-doc' or 'validate-prompt', nor does it specify any prerequisites, contexts, or exclusions for usage. The agent receives no help in choosing between retrieval options.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get-specA

Returns the full MDMA specification: component types, schemas (as JSON Schema), binding syntax, and authoring rules

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It discloses the tool's behavior as a read-only operation that returns comprehensive specification data, but does not mention potential limitations like rate limits, authentication needs, or response format details. It adds basic context but lacks depth on operational traits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that front-loads the core purpose ('Returns the full MDMA specification') and lists key components without redundancy. Every word earns its place, making it highly concise and well-structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (0 parameters, no annotations, no output schema), the description is complete enough for a read-only specification retrieval tool. It clearly states what is returned, though it could benefit from mentioning the return format or any behavioral constraints to fully cover context without annotations.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has 0 parameters with 100% schema description coverage, so the schema fully documents the lack of inputs. The description does not need to add parameter semantics, but it implicitly confirms no parameters are required by not mentioning any. This meets the baseline for zero-parameter tools.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the specific action ('Returns') and resource ('full MDMA specification'), listing exactly what it includes: component types, schemas, binding syntax, and authoring rules. It distinguishes itself from siblings like get-doc or get-prompt by specifying it returns the specification itself rather than documentation or prompts.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage when the full specification is needed, but does not explicitly state when to use this tool versus alternatives like get-doc for documentation or validate-prompt for validation. No exclusions or prerequisites are mentioned, leaving usage context somewhat open-ended.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden for behavioral disclosure. It effectively describes the tool's behavior: it returns a catalog with specific fields (path, title, description) from a public GitHub repository. However, it doesn't mention potential limitations like rate limits, authentication requirements, or pagination behavior, which would be valuable for a read operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is perfectly concise with two sentences that each serve distinct purposes: the first explains what the tool does and what it returns, the second explains when to use it. There is zero wasted language or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter read operation with no annotations and no output schema, the description provides good context about what the tool returns (catalog with path, title, description) and its relationship to other tools. However, without an output schema, additional details about the return format structure would be helpful for completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has 0 parameters with 100% schema description coverage, so the baseline would be 4. The description appropriately doesn't waste space discussing parameters that don't exist, maintaining focus on the tool's purpose and usage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the specific action ('Returns the catalog'), resource ('MDMA documentation files'), and scope ('available for fetching from the public GitHub repo'). It explicitly distinguishes from its sibling 'get-doc' by explaining this tool is for discovery while 'get-doc' is for fetching specific documents.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit guidance on when to use this tool ('Use this to discover what docs you can pass to get-doc') and names the alternative tool ('get-doc') for the subsequent action. This clearly establishes the workflow relationship between these two tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list-packagesA

Returns all MDMA npm packages with their purpose, install command, usage example, and category

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden for behavioral disclosure. While it states what data is returned, it doesn't describe important behavioral aspects like whether results are paginated, sorted, filtered, or cached. It also doesn't mention performance characteristics, error conditions, or authentication requirements.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that communicates the core functionality without any wasted words. It's appropriately sized for a zero-parameter tool and front-loads the essential information about what the tool returns.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter read operation with no output schema, the description adequately covers what data is returned. However, it lacks important contextual information about the return format (array structure, field types), potential limitations (number of packages, sorting), and how this tool relates to sibling tools in the MDMA ecosystem.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters with 100% schema description coverage, so the baseline is 4. The description appropriately doesn't waste space discussing non-existent parameters, though it could theoretically mention that no filtering options are available.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the specific action ('Returns') and resource ('all MDMA npm packages'), including the exact data fields returned (purpose, install command, usage example, category). It distinguishes itself from siblings like 'list-docs' by focusing specifically on npm packages rather than documentation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention when this tool is appropriate versus using 'get-doc' or 'list-docs', nor does it specify any prerequisites or contextual constraints for its use.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

validate-promptA

Validates a custom prompt against MDMA conventions. Returns warnings for anti-patterns and suggestions for improvements.

ParametersJSON Schema
NameRequiredDescriptionDefault
promptYesThe custom prompt text to validate

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It states the tool validates and returns warnings/suggestions, which clarifies it's a read-only analysis tool (not destructive). However, it omits details like error handling, performance characteristics, or authentication requirements, leaving gaps in behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, well-structured sentence that efficiently conveys the tool's purpose and output. Every word earns its place, with no redundancy or unnecessary elaboration, making it highly concise and front-loaded with essential information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's moderate complexity (validation with conventions), lack of annotations, and no output schema, the description is minimally adequate. It covers the core purpose but lacks details on output format (e.g., structure of warnings/suggestions), error cases, or MDMA convention specifics, leaving room for improvement in completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents the single parameter 'prompt' as 'The custom prompt text to validate'. The description adds no additional meaning beyond this, such as format examples or constraints. Baseline 3 is appropriate when the schema handles parameter documentation adequately.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the specific action ('validates'), resource ('a custom prompt'), and purpose ('against MDMA conventions'), distinguishing it from siblings like 'get-prompt' or 'list-docs' which retrieve rather than validate. It precisely defines the tool's function without being vague or tautological.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for validating custom prompts against MDMA conventions, but provides no explicit guidance on when to use this tool versus alternatives like 'get-prompt' or 'build-system-prompt'. It lacks any mention of prerequisites, exclusions, or comparative scenarios with sibling tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 7 tool updatesv0.1.0
    • First observedbuild-system-prompt
    • First observedget-doc
    • First observedget-prompt
    • First observedget-spec
    • First observedlist-docs
    • First observedlist-packages
    • First observedvalidate-prompt

TDQS

A3.8/5.0

Scored across 7 tools

Disambiguation5/5

Each tool has a distinct, non-overlapping purpose: build-system-prompt creates prompts, get-doc fetches documentation, get-prompt retrieves named prompts, get-spec provides the full specification, list-docs catalogs available docs, list-packages lists npm packages, and validate-prompt validates custom prompts. The descriptions clearly differentiate their functions, eliminating ambiguity.

Naming Consistency5/5

All tools follow a consistent verb_noun naming pattern (e.g., build-system-prompt, get-doc, list-docs, validate-prompt). The naming is uniform across all seven tools, with no mixing of conventions like camelCase or snake_case, making it highly predictable and readable.

Tool Count5/5

With 7 tools, the count is well-scoped for the MDMA domain, covering key operations like prompt generation, documentation retrieval, specification access, and validation. Each tool serves a clear purpose without redundancy, and the set feels complete yet not overwhelming for the server's scope.

Completeness4/5

The tool set provides comprehensive coverage for MDMA-related tasks, including prompt building, documentation access, specification retrieval, and validation. Minor gaps exist, such as no tools for updating or deleting prompts or docs, but agents can work around this using the available tools for core workflows like authoring and reviewing.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    D
    maintenance
    Enables AI assistants to discover, fetch, and search through Tambo documentation from docs.tambo.co. Provides intelligent content parsing with caching for improved performance when accessing technical documentation.
    4
    1
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Generic MCP server that exposes Markdown documentation to LLMs, enabling them to search and answer questions about any software documentation.
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    MCP server for structured document management of markdown and YAML files, with RBAC, git-based approval workflows, and semantic search, enabling agents to read, edit, and maintain documents under governance.
    MIT
  • F
    license
    Not graded
    quality
    B
    maintenance
    MCP server that exposes one or more documentation folders (Markdown, MDX, TXT) to AI agents, enabling listing, reading, and searching of documentation files.
    -