mzizi-mcp
Server Details
Mzizi design system MCP: components, tokens, skills and docs. Free; sign-in only for Fundi.
- Status
- Healthy
- Uptime
- 100.0% over the last 24 hours
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 14 tools
Most tools target clearly distinct objects: docs search vs docs filesystem read vs registry search vs component fetch vs brand tokens. The fuzziest boundary is between the design-rule tools (mzizi_get_tokens, mzizi_get_doctrine, mzizi_check_accessibility, mzizi_get_architecture), which all restate parts of the same Bundu-floor/spacing doctrine, and between mzizi_search and mzizi_list_components, though descriptions do explain when to pick each.
The verb_noun pattern (get_component, list_components, check_accessibility, report_issue, submit_feedback) is broadly followed, but the prefix/suffix scheme is mixed: docs tools use a `docs_` prefix with an inconsistent `_mzizi` suffix (docs_search_mzizi, docs_query_docs_filesystem_mzizi) while the rest use an `mzizi_` prefix with no site suffix. There are also bare-verb/noun outliers (mzizi_search, mzizi_fundi) and one tool that repeats 'docs' twice in its name.
Fourteen tools across docs, registry, brand tokens, doctrine, skills, accessibility, issue reporting and agent delegation is reasonable and within a sane band. A couple are marginal — mzizi_mcp_describe is pure metadata and could be a resource — so the set is slightly heavy but nothing is clearly filler.
The surface covers the main lifecycle: discover docs (search/tree), read pages (cat/head), search and enumerate components, fetch a component in full with version history, load skills and doctrine, and file/track issues. Gaps are minor — there is no direct 'get release' or 'get node' list endpoint distinct from the aggregate architecture call, and no way to read a doc page as a structured object (only via shell commands), but agents can work around both.
Available Tools
14 toolsdocs_query_docs_filesystem_mziziDocs: Query documentation filesystemARead-onlyIdempotentInspect
[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 layoutrg -il "rate limit" /— find all files mentioning "rate limit"rg -C 3 "apiKey" /some-directory/— show matches with 3 lines of context around each hithead -80 /some/page.mdx— read the top 80 lines of a specific pagehead -80 /page-one.mdx /page-two.mdx /section/page-three.mdx— read multiple pages in one callcat /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.
Inputs: command (required).
docs_search_mziziDocs: Search documentationARead-onlyIdempotentInspect
[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).
Inputs: query (required).
docs_submit_feedbackDocs: Submit documentation feedbackAInspect
[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.
Inputs: path (required), feedback (required).
mzizi_check_accessibilityCheck accessibilityARead-onlyIdempotentInspect
Check a design against the Mzizi floors. Colours: the WCAG 2.x contrast ratio of a foreground on a background (#RRGGBB), with the AA-large, AA and AAA verdicts and whether it meets the Mzizi floor of 7:1. Spacing: pass any of insetPx (text to container edge), controlGapPx, labelGapPx, itemGapPx (gaps) and leading (body line height) and each is compared with the spacing floor the pinned registry states (nothing may go under it): the spacing floor (14px inset, 7px gaps between controls, 7px between a label and its field, 7px between items, 1.5 body leading). Give colours, spacing values, or both. Computed locally, no network. It does not compute APCA Lc or simulate colour-vision deficiency; read the Mzizi accessibility doctrine (mzizi_get_tokens family=accessibility) for those rules. To check a project's source rather than values, run mzizi check (@nyuchi/mzizi-cli).
Inputs: insetPx, leading, itemGapPx, background, +3 more. Returns: passes, spacing, background, foreground, +3 more
mzizi_fundifundiADestructiveInspect
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.
Inputs: action (required), skill, taskId, instruction.
mzizi_get_architectureGet the architectureBRead-onlyIdempotentInspect
The Mzizi DNA double helix — nodes, rungs and strands — with live counts. Pass node for one node's covenant, stakeholder and implementation rules.
Inputs: node.
mzizi_get_componentGet a componentARead-onlyIdempotentInspect
Fetch one component in full, Rust first. When the component has a Mzizi Roots (Rust) implementation, rust comes first: its crate, the cargo add line, its CONTRACT clause block and the .rs source inline. astro follows when the component has a pure Astro implementation (mzizi-registry#397): its mzizi add --target astro line, the files it installs into src/components/mzizi/ and their dependencies; null otherwise. react follows: the React build (deprioritised; it keeps working, new work goes to Rust), shadcn-shaped with files[] inline, its npx shadcn add line, and vendor: the registry commit, each file's install target, sha256 and a raw URL pinned to that commit, each @/ import with the dependency that installs it, and the live API item URL (labelled live: it can serve a different commit). Each sha256 is of the registry source at path@ref; a file shadcn add writes can differ (it strips "use client" under rsc: false and rewrites aliases). 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.
Inputs: name (required), include.
mzizi_get_doctrineGet doctrineBRead-onlyIdempotentInspect
How to build here: Ubuntu pillars and principles, mzizi conventions, the AI instruction sets, and the Bundu floor (topic bundu-floor): the minimums nothing can go under, including the spacing floor (14px inset, 7px gaps between controls, 7px between a label and its field, 7px between items, 1.5 body leading), how they are enforced and what to do.
Inputs: topic (required), name.
mzizi_get_skillsGet agent skillsARead-onlyIdempotentInspect
List the published Mzizi agent skills, or fetch one in full. Skills are what an agent loads first. Each skill has a category: dev (how every agent works in every repo: digital-hygiene, progress-report, ship-release, registry-propagation and pr-gates — load these before any dev work), design, language or build. Pass category to get every skill in it in full (e.g. category=dev), or name for one skill. A skill's answer lists the files it ships beside its SKILL.md (scripts such as hygiene.sh, token stylesheets); pass name and file to get one file's content. Each skill is also an MCP resource (mzizi://skills/, files at mzizi://skills//) and a prompt (skill-). 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.
Inputs: file, name, category.
mzizi_get_tokensGet design tokensARead-onlyIdempotentInspect
The Mzizi brand system: 21 colour families (7 minerals, 7 heritage, 7 experimental), semantic colours, typography, spacing, radii and the ecosystem brands, and the Bundu floor: the minimums nothing can go under (17px body, 14px captions, 49px hit region, 7:1 body contrast, and the spacing floor (14px inset, 7px gaps between controls, 7px between a label and its field, 7px between items, 1.5 body leading)). Ask for floors for the floor in one call (the spacing floor is also under accessibility), and for colors to get every colour family in one call. For text, use each family's textLight / textDark on the base surface, and onContainerLight / onContainerDark on its container; never use hex, lightHex or darkHex as a text colour (they are accents).
Inputs: family.
mzizi_list_componentsList componentsARead-onlyIdempotentInspect
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 and at most 25000 characters per call; total, has_more and next_offset say how to get the rest.
Inputs: node, rust, type, astro, +4 more. Returns: hint, count, items, total, +8 more
mzizi_mcp_describeDescribe this serverARead-onlyIdempotentInspect
What this MCP server exposes: its tools, which are free and which need sign-in, what each replaces, and where its data comes from.
Inputs: no named parameters.
mzizi_report_issueReport an issueAInspect
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.
Inputs: kind, limit, skill, action, +4 more.
mzizi_searchSearch MziziARead-onlyIdempotentInspect
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; use mzizi_get_component once you have a component's name. 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. Paged: up to 50 hits per call and at most 25000 characters; meta.has_more and meta.next_offset say how to get the rest.
Inputs: query (required), limit, offset. Returns: results
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
Related MCP Connectors
Mlola UI components, tokens and design rules for coding agents, with a markup checker
Accessible React components, tokens, usage guidance, and install commands for product interfaces.
Access and maintain design system docs, tokens, components, skills, and contexts across any project.
African intelligence infrastructure for AI apps, developers, and data products via MCP.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceMCP server that exposes your design system components and tokens to AI agents, preventing duplicate component creation and hardcoded token values.9 npm9MIT
- AlicenseAqualityBmaintenanceDesign system MCP server. 20 tools: extract design tokens from any URL, pull from Figma or Penpot, generate React + shadcn/ui components from specs, run WCAG audits, sync tokens bidirectionally.50240 npm50MIT
- AlicenseNot gradedqualityCmaintenanceA read-only MCP server that provides AI coding agents with a queryable contract for design system tokens, components, patterns, and anti-patterns.10 npm1Apache 2.0
- AlicenseAqualityBmaintenanceServes the complete Sekura Design System—tokens, components, layouts, UX patterns, accessibility contract, and paste-ready code—to MCP-capable tools, enabling agents to build accessible, dark-mode-first interfaces with verified values.21MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.