Skip to main content
This page documents tooling for the Mzizi registry — the shipping design system — not Mzizi-lang. The language’s own toolchain is mz; see the compiler.
Three published packages let an agent work against the Mzizi registry. They are built in a private tooling repository, so this page links the published artefacts rather than the source. Versions read from the npm registry on 11 September 2026.

The MCP server

Covered in full on the MCP server. In one line: one endpoint at https://mcp.mzizi.dev/mcp, eleven consolidated tools, a free signup gate, and no database credential of its own — it reads the same public HTTP API you can curl.

The fundi CLI

The binary is fundi. Its job is to take a project from “I want to use Mzizi” to “Mzizi is wired in correctly”, and the loop is explore → plan → apply.
This no-key behaviour is merged to main in the tooling repository but not yet published — the npm package is still 0.4.0 (see the table above), which does not have it. The SDK’s typed createFundi() contract is unchanged either way and still requires a key as a library — only the CLI layer gains the no-key fallback once a new version publishes.
As a library:
Two safety properties are worth knowing before pointing it at a repository:
  • Planning is read-only. Writing to a file and running a shell command are blocked during planning, and reachable only through an explicit non-dry-run apply.
  • Everything is sandboxed to projectRoot. A path that escapes it is rejected, in both the planning and the apply phase.

The skills bundle

The design-system and engineering doctrine ships as a public npm package of agent skills. Install it into a repository so an agent has the doctrine on hand rather than guessing:
Nine skills, verified against GET https://mzizi.dev/api/v1/skills on 11 September 2026:

Git is the source of truth

Skills are authored in git as skills/<name>/SKILL.md — YAML frontmatter carrying name and description, then the body — and listed in an index.json. That bundle is the single home for skill content; it is projected into the registry’s skills collection, which the API serves at /api/v1/skills and the MCP serves through mzizi_get_skills.
Never edit a skill anywhere but the bundle. Not a copy vendored into a consumer repository, not a .claude/skills/*.md file, and not the registry row directly — the next sync overwrites all three. This reverses an older “authored once in the database” model, which broke down precisely because two syncs wrote to the same collection in opposite directions.

Two things called fundi

The name appears twice and means different things. Keeping them apart saves an argument.

N9 fundi — the rung

The self-healing rung of the helix. It consumes N8 assurance signals, classifies failures, deduplicates them and remediates the root cause. It runs as a Cloudflare Worker, not as something you install. Its covenant: failure is a learning event, not a user-facing incident.

fundi — the CLI

The binary shipped by @nyuchi/mzizi-cli, described above. You install it into your own project and it sets Mzizi up there. It does not run the self-healing loop.
A third use of the word exists outside this site: the charter names the Mzizi console “Fundi” as a Nyuchi-owned product line. See the console and the ecosystem for that ownership line.
Older documentation described fundi as an agent shipping inside a package called mzizi-sdk, in a monorepo named nyuchi/fundi. Neither the package nor that repository name is current: the agent ships in @nyuchi/mzizi-cli, and the monorepo has moved and is private.