mzizi-mcp

Mzizi design system MCP: components, tokens, skills and docs. Free; sign-in only for Fundi.

使うべきか

品質と安全性

B
説明の品質
91%
スキーマの完全性
91%
命名の品質
79%
ポイズニングのリスク
60%
権限の一致
100%
プロトコルへの準拠
100%

検出事項(7)

  • HIGHTool description contains system tag or markermzizi_get_tokens 内
  • HIGHTool poisoning patterns detected
  • MEDIUMTool 'docs_query_docs_filesystem_mzizi' description contains placeholder textdocs_query_docs_filesystem_mzizi 内
  • LOWTool 'mzizi_mcp_describe' description lacks action verbmzizi_mcp_describe 内
  • LOWTool 'docs_submit_feedback' description lacks action verbdocs_submit_feedback 内
  • LOWTool 'docs_query_docs_filesystem_mzizi' name length outside 3-30 rangedocs_query_docs_filesystem_mzizi 内
  • INFOTool description contains placeholder or incomplete textdocs_query_docs_filesystem_mzizi 内

ツール定義とプロトコルへの準拠に関する自動分析に基づいています。

コンテキストコスト

~3,500トークン数(ツール定義)
~1.1 KB一般的なレスポンスサイズ
注意への影響は大きい(128k コンテキストの 2.73%)

これは、サーバーのツールがモデルのコンテキストに読み込まれるたびに消費されるおおよそのトークン数です。数が多いほど、ほかのタスクに使える注意が減ります。

インストール

ワンクリックインストール

これを `claude_desktop_config.json` ファイルに追加してください:

{
  "mcpServers": {
    "mzizi-mcp": {
      "command": "npx",
      "args": [
        "@nyuchi/mzizi-mcp"
      ]
    }
  }
}

実行可能なパッケージ

npm@nyuchi/mzizi-mcp0.11.2stdio

リモートエンドポイント

https://mcp.mzizi.dev/mcpstreamable-http

できること

ツール一覧

ツール(14)

🟢 読み取り専用🟡 書き込み🔴 削除⚪ 不明
🟢mzizi_search(query)

Search the registry by words: components, conventions, AI instruction sets and releases. Start here when you do not know the exact name of what you want. A component hit with `rustCrate` has a Mzizi Roots (Rust) implementation, which is the lead; at an equal score it ranks first. Documentation pages are searched by the docs_* tools.

入力スキーマ

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "minLength": 1,
      "description": "Free-text search term."
    }
  },
  "required": [
    "query"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢mzizi_get_component(name, include)

Fetch one component in full, Rust first. When the component has a Mzizi Roots (Rust, Dioxus) implementation, `rust` comes first: its crate, the `cargo add` line, its CONTRACT clause block and the `.rs` source inline. `react` follows: the React build (deprioritised; it keeps working, new work goes to Rust), shadcn-shaped with files[] inline and its `npx shadcn add` line. With no Rust, `rust` is null and `lead` is "react". Add docs (use cases, variants, a11y: the documented contract) and version history (from the changelog) with `include`. Former nyuchi-* names resolve to their mzizi-* successors.

入力スキーマ

{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "minLength": 1,
      "description": "Component name, e.g. 'button'."
    },
    "include": {
      "description": "Extra sections to fetch. Omit for the implementations only.",
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "docs",
          "versions"
        ]
      }
    }
  },
  "required": [
    "name"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢mzizi_list_components(node, owner, collection, type, rust, ...)

The registry index, optionally filtered by node, owner, collection, type or rust. Returns a lean row per component (name, type, node, owner, collection, and rustCrate when it has a Mzizi Roots (Rust) implementation, which is the lead) — use get_component for one component in full, or search when you only have words. Paged: up to 400 rows per call, with total and hasMore reported.

入力スキーマ

{
  "type": "object",
  "properties": {
    "node": {
      "description": "Filter by node number (uncapped).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "owner": {
      "description": "Filter by owner: mzizi | nyuchi | bundu | framework.",
      "type": "string"
    },
    "collection": {
      "description": "Filter by collection, e.g. primitives | brand | pages | resilience.",
      "type": "string"
    },
    "type": {
      "description": "Filter by registry type, e.g. registry:ui | registry:lib | registry:block.",
      "type": "string"
    },
    "rust": {
      "description": "true: only components with a Mzizi Roots (Rust) implementation; false: only those without.",
      "type": "boolean"
    },
    "limit": {
      "description": "Rows per call (default 400).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "offset": {
      "description": "Rows to skip, for paging.",
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢mzizi_get_tokens(family)

The Mzizi brand system: 21 colour families (7 minerals, 7 heritage, 7 experimental), semantic colours, typography, spacing, radii and the ecosystem brands. Ask for `colors` to get every colour family in one call.

入力スキーマ

{
  "type": "object",
  "properties": {
    "family": {
      "description": "One of: colors (all 21 colour families at once), minerals, heritage, experimental, semantic, backgrounds, typography, spacing, radii, ecosystem, componentSpecs, accessibility, voiceAndTone, philosophy. Common aliases resolve (status/semanticColors, radius, type/fonts, exp). Omit for everything.",
      "type": "string"
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢mzizi_get_architecture(node)

The Mzizi DNA double helix — nodes, rungs and strands — with live counts. Pass `node` for one node's covenant, stakeholder and implementation rules.

入力スキーマ

{
  "type": "object",
  "properties": {
    "node": {
      "description": "One node's detail (uncapped).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢mzizi_get_doctrine(topic, name)

How to build here: Ubuntu pillars and principles, mzizi conventions, and the AI instruction sets.

入力スキーマ

{
  "type": "object",
  "properties": {
    "topic": {
      "type": "string",
      "enum": [
        "ubuntu-pillars",
        "ubuntu-principles",
        "ai-instructions",
        "conventions"
      ],
      "description": "Which doctrine to read."
    },
    "name": {
      "description": "For ai-instructions, the name or target to fetch; for conventions, the convention's name. Omit to list.",
      "type": "string"
    }
  },
  "required": [
    "topic"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢mzizi_get_skills(name)

List the published Mzizi agent skills, or fetch one in full. Skills are what an agent loads first. Served from the skill files bundled into this server at build time, so they are exactly the text in mzizi-dev/agent-tools at the deployed commit.

入力スキーマ

{
  "type": "object",
  "properties": {
    "name": {
      "description": "Skill name. Omit to list all.",
      "type": "string"
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢mzizi_check_accessibility(foreground, background)

Contrast and colour-vision checks against the Mzizi APCA/AAA floor. Computed locally — no network, no upstream dependency.

入力スキーマ

{
  "type": "object",
  "properties": {
    "foreground": {
      "type": "string",
      "description": "Foreground colour as #RRGGBB."
    },
    "background": {
      "type": "string",
      "description": "Background colour as #RRGGBB."
    }
  },
  "required": [
    "foreground",
    "background"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
⚪mzizi_report_issue(action, kind, component, message, severity, ...)

Report a problem with a component or the registry. It goes to your own issue desk — a Durable Object holding your reports — which reproduces it via fundi, drafts an issue body including what the reproduction actually returned, and logs it to fundi. fundi files the GitHub issue with its proposed fix in it and tracks that issue afterwards, so action 'get' shows where yours got to: filed, picked up, closed. Use 'list' to see your earlier reports and 'retry' to re-attempt one that drafted but could not be logged. Your history is included in each new issue, because a repeated complaint from one reporter is often one bug. Needs sign-in: the desk belongs to your Mzizi console user.

入力スキーマ

{
  "type": "object",
  "properties": {
    "action": {
      "default": "file",
      "description": "What to do. Defaults to filing a new report.",
      "type": "string",
      "enum": [
        "file",
        "list",
        "get",
        "retry"
      ]
    },
    "kind": {
      "description": "Report kind. Required for action 'file'.",
      "type": "string",
      "enum": [
        "feedback",
        "observability",
        "chaos"
      ]
    },
    "component": {
      "description": "Component the report concerns.",
      "type": "string"
    },
    "message": {
      "description": "What happened. Required for action 'file'.",
      "type": "string"
    },
    "severity": {
      "type": "string",
      "enum": [
        "low",
        "medium",
        "high",
        "critical"
      ]
    },
    "skill": {
      "description": "fundi skill to run for the reproduction. fundi never infers a skill from text, so omit this to let the report kind choose one.",
      "type": "string"
    },
    "reportId": {
      "description": "Report id. Required for actions 'get' and 'retry'.",
      "type": "string"
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🔴mzizi_fundi(action, skill, instruction, taskId)

Delegate a task to the fundi agent, or check on one. Submit-and-poll: `submit` returns a task id immediately and never waits for the run. Needs sign-in: fundi runs as your Mzizi console user.

入力スキーマ

{
  "type": "object",
  "properties": {
    "action": {
      "type": "string",
      "enum": [
        "submit",
        "task_status",
        "cancel"
      ]
    },
    "skill": {
      "description": "Required for submit.",
      "type": "string",
      "enum": [
        "security-scan",
        "chaos-run",
        "a11y-audit",
        "heal-issue"
      ]
    },
    "instruction": {
      "description": "What fundi should do. Required for submit.",
      "type": "string"
    },
    "taskId": {
      "description": "Required for task_status and cancel.",
      "type": "string"
    }
  },
  "required": [
    "action"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢mzizi_mcp_describe

What this MCP server exposes: its tools, which are free and which need sign-in, what each replaces, and where its data comes from.

入力スキーマ

{
  "type": "object",
  "properties": {}
}
🟢docs_search_mzizi(query)

[docs.mzizi.dev] Search across the Mzizi knowledge base to find relevant information, code examples, API references, and guides. Use this tool when you need to answer questions about Mzizi, find specific documentation, understand how features work, or locate implementation details. The search returns contextual content with titles and direct links to the documentation pages. If you need the full content of a specific page, use the query_docs_filesystem tool to `head` or `cat` the page path (append `.mdx` to the path returned from search — e.g. a result at `/some/page` is read with `head -200 /some/page.mdx`).

入力スキーマ

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "Search query"
    }
  },
  "required": [
    "query"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟢docs_query_docs_filesystem_mzizi(command)

[docs.mzizi.dev] Run a read-only shell-like query against a virtualized, in-memory filesystem rooted at `/` that contains ONLY the Mzizi documentation pages. This is NOT a shell on any real machine — nothing runs on the user's computer, the server host, or any network. The filesystem is a sandbox backed by documentation chunks. This is how you read documentation pages: there is no separate "get page" tool. To read a page, pass its `.mdx` path to `head` or `cat` — a page at the URL path `/some/page` lives at `/some/page.mdx`. To search the docs with exact keyword or regex matches, use `rg`. To understand the docs structure, use `tree` or `ls`. **Paths are specific to this site — never guess them.** Discover real paths with `tree / -L 2`, `ls /`, or the search tool before reading. If a path does not exist, that only means the guess was wrong; it does NOT mean the topic is undocumented — use `rg -il "keyword" /` to find where it is covered. **Workflow:** Start with the search tool for broad or conceptual queries like "how to authenticate" or "rate limiting". Use this tool when you need exact keyword/regex matching, structural exploration, or to read the full content of a specific page by path. Supported commands: rg (ripgrep), grep, find, tree, ls, cat, head, tail, stat, wc, sort, uniq, cut, sed, awk, jq, plus basic text utilities. No writes, no network, no process control. Run `--help` on any command for usage. Each call is STATELESS: the working directory always resets to `/` and no shell variables, aliases, or history carry over between calls. If you need to operate in a subdirectory, chain commands in one call with `&&` or pass absolute paths (e.g., `cd /some-directory && ls` or `ls /some-directory`). Do NOT assume that `cd` in one call affects the next call. Examples (replace the placeholder paths with real ones from `tree` or search): - `tree / -L 2` — see the top-level directory layout - `rg -il "rate limit" /` — find all files mentioning "rate limit" - `rg -C 3 "apiKey" /some-directory/` — show matches with 3 lines of context around each hit - `head -80 /some/page.mdx` — read the top 80 lines of a specific page - `head -80 /page-one.mdx /page-two.mdx /section/page-three.mdx` — read multiple pages in one call - `cat /some/page.mdx` — read a full page when you need everything Output is truncated to 30KB per call. Prefer targeted `rg -C` or `head -N` over broad `cat` on large files. To read only the relevant sections of a large file, use `rg -C 3 "pattern" /path/file.mdx`. Batch multiple file reads into a single `head` or `cat` call whenever possible. When referencing pages in your response to the user, convert filesystem paths to URL paths by removing the `.mdx` extension. For example, `/some/page.mdx` becomes `/some/page`.

入力スキーマ

{
  "type": "object",
  "properties": {
    "command": {
      "type": "string",
      "description": "A shell command to run against the virtualized documentation filesystem (e.g., `rg -il \"keyword\" /`, `tree / -L 2`, `head -80 /path/file.mdx`)."
    }
  },
  "required": [
    "command"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟡docs_submit_feedback(path, feedback)

[docs.mzizi.dev] Report a problem with this documentation site so the docs team can fix it. Use when a documentation page is incorrect, outdated, confusing, incomplete, or has a broken example. This is for feedback about the documentation content itself — not for product support requests or feedback about this tool or assistant.

入力スキーマ

{
  "type": "object",
  "properties": {
    "path": {
      "type": "string",
      "minLength": 1,
      "description": "The URL path of the documentation page the feedback is about (the page you were reading, without the `.mdx` extension)."
    },
    "feedback": {
      "type": "string",
      "minLength": 1,
      "description": "A clear description of the documentation issue or suggestion — what is incorrect, outdated, missing, or confusing."
    }
  },
  "required": [
    "path",
    "feedback"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}

コミュニティ

このサーバーを評価する

エビデンス

最近の観測

検証済みバージョンは記録されていませんツール 14 件