mzizi-mcp Cloudflare
Worker, published as @nyuchi/mzizi-mcp
(0.9.1, read from npm on 29 September 2026).
Connecting
mzizi.dev/mcp answers 308 to this endpoint, so old clients keep
working, but point new ones here directly.
To run it locally over stdio, with no network for anything but the docs tools:
Who can use it
Rolling out. The owner decided on 29 September 2026 that the MCP server is free with no
gate. Every tool except the Fundi tools is to be served without sign-in. On 29 September
2026 the hosted endpoint still answers an unsigned request with
401 {"error":"invalid_token"}, because the change is landing in the tooling repository
now. Until it deploys, use the stdio build above, which has never needed sign-in.
The Fundi tools stay gated because they tie into the console at
app.mzizi.dev:
mzizi_report_issue files into the Fundi issue desk, and mzizi_fundi delegates work to
Fundi on a user’s behalf. Both need to know who the user is. The server advertises its OAuth
metadata at
/.well-known/oauth-protected-resource,
so MCP clients can run the sign-in flow for those tools themselves.
Discovering the tools
Ask the server, not a page. A list written down anywhere, this one included, is only as fresh as its last edit.tools/listover MCP is the live answer.https://mcp.mzizi.dev/catalogue.jsonis the same list over plain HTTP, with no sign-in, including which older tools each one replaces.- The
mzizi_mcp_describetool, and themzizi://toolsresource, describe the tools and the data sources.
catalogue.json listed fourteen tools:
Start with
mzizi_search when you do not know the name of the thing you want, and
mzizi_get_component when you do.
Where its data comes from
Nothing is read from a database, and no registry data is fetched at request time.
Because the generator runs the registry’s route handlers rather than re-deriving their
output, a tool answers with the payload
api.mzizi.dev/v1 would give at the same commit.
catalogue.json names the pinned registry commit in source.registry. Moving to newer
registry content is a change to that pin, so it is a reviewed commit.
The server holds no database credential. Former nyuchi-* component names resolve to their
mzizi-* names through the registry’s rename map, bundled with the rest.
The docs tools
These docs run their own MCP server, which Mintlify hosts athttps://docs.mzizi.dev/mcp.
It is public and needs no sign-in. The Mzizi MCP server lists its tools under a docs_
prefix and forwards each call unchanged:
- it caches the upstream tool list for five minutes;
- if a refresh fails it reuses the last good list, and with nothing cached it falls back to a built-in snapshot of the upstream definitions;
- a failed call comes back as a tool error naming the docs server and the reason.
docs_* names mirror whatever docs.mzizi.dev/mcp lists, so they can change when these
docs change. You can also connect to https://docs.mzizi.dev/mcp directly.
The Fundi tools
Fundi is the self-healing agent behind the console, run under Nyuchi. Two tools reach it.mzizi_report_issue reproduces and drafts an issue, then logs it to Fundi’s issue desk.
Fundi files the GitHub issue with its healing plan, and records the issue’s lifecycle, which
is how the desk and the console can tell you whether your report was picked up.
mzizi_fundi delegates long runs, such as a security, chaos or accessibility run, to
Fundi over the Agent2Agent (A2A) protocol. A run is a task with a lifecycle, not a
blocking tool call: you submit it and get a task id back at once, then poll its status or
cancel it. It replaces the older fundi_status, fundi_submit_test, fundi_task_status
and fundi_cancel_task tools.
The A2A bridge is built through its second stage: the agent card, task submission, status
and cancellation. The runs behind it, streaming updates and push notifications are still
design. A submitted task can come back parked as accepted but not executed.
Use cases
Building against the registry
mzizi_list_components, filtered to the node you are building at.mzizi_get_componentfor the full document of anything that looks right. Where a Rust implementation exists, prefer it (see Mzizi Roots).- Install it (see consuming the registry).
Reviewing a change
mzizi_get_tokensto check a component uses published tokens, not raw values.mzizi_get_architectureto check it sits where its imports say it does.mzizi_check_accessibilityfor contrast on any new colour pairing.
Answering a question about Mzizi
docs_search_mzizi, then docs_query_docs_filesystem_mzizi to read the page it found.