Nyuchi tools directory
The core directory for Nyuchi tooling. Three kinds of thing live here — agent skills (doctrine an assistant loads), CLIs (things you run), and MCP servers (live data an assistant queries) — and each entry says which repo owns it and how to get it.
Agent skills
Section titled “Agent skills”@nyuchi/mzizi-skills — the published bundle
Section titled “@nyuchi/mzizi-skills — the published bundle”The design-system and engineering doctrine for the whole ecosystem. Owned by
nyuchi/mzizi-tools, authored in git
under mzizi-skills/skills/<name>/SKILL.md, published to npm, and projected
into the Mzizi registry so the same bodies serve over HTTP and MCP.
Published at 0.5.0,
carrying 9 skills. The bundle is data-only — no build step, no runtime
dependencies — so pnpm skills:validate (an offline structural check), not a
test suite, is what gates the publish.
# every skill, as files in .claude/skills/npx skills add @nyuchi/mzizi-skills# or the whole toolchain as a Claude Code plugin/plugin marketplace add nyuchi/mzizi-tools/plugin install mzizi@mzizi-tools| Skill | Use it when | Source |
|---|---|---|
nyuchi-design |
Generating any branded interface — minerals, radius, type stack | SKILL.md |
bundu-design |
Cross-brand materials and brand-voice decisions | SKILL.md |
mukoko-design |
Producing or exporting mukoko visual identity | SKILL.md |
simplify |
Before adding a component or style, and during any refactor | SKILL.md |
discoverability |
A shared link shows no preview, or you’re adding a route or site | SKILL.md |
scaffold-component |
Authoring a new component into the Mzizi registry | SKILL.md |
ecosystem-app-setup |
Bootstrapping a new ecosystem app against the registry | SKILL.md |
cloudflare-worker-rust |
Building a Worker in Rust with workers-rs |
SKILL.md |
mcp-server-cloudflare |
Adding or changing an MCP Worker | SKILL.md |
Three ways to reach the same body, depending on what you’re doing:
npx skills add @nyuchi/mzizi-skills # files on disk, offlinecurl -s https://mzizi.dev/api/v1/skills/nyuchi-design # one skill at runtime# or over MCP: list_skills / get_skill against https://mcp.mzizi.dev/mcpBrowse them rendered at mzizi.dev/skills.
@nyuchi/nyuchi-docs-skills — using these docs
Section titled “@nyuchi/nyuchi-docs-skills — using these docs”One public skill, covering how a user or an agent consumes this site.
npx skills add @nyuchi/nyuchi-docs-skills| Skill | Covers |
|---|---|
using-nyuchi-docs |
Searching, asking, and reading the docs; the MCP endpoint and its five tools; llms.txt; in-page ⌘K search and Ask AI; how to tell an authoritative page from a stub; and how to report a bad one. |
Internal — authoring and maintaining this site
Section titled “Internal — authoring and maintaining this site”Five skills live in nyuchi/nyuchi-docs
under .claude/skills/ and are deliberately not published. Each assumes a checkout in front
of you — repo paths, repo scripts, the ability to open a PR — so shipping them to npm would hand
consumers instructions they cannot act on. Claude Code loads them automatically for any session
running inside the repo, which is the audience they have.
| Skill | Kind | Use it when |
|---|---|---|
docs-drift-audit |
maintain | Sweeping for sidebar orphans, stale strings, and gotchas that no longer hold |
kweli-docs-sync |
maintain | Kweli shipped something user- or agent-visible and the guides need syncing |
agent-readiness |
verify | Probing the agent surfaces after a deploy or a Cloudflare config change |
mzizi-shell |
create | Touching the site shell, or replicating the Mzizi N7 shell contract |
release-mcp |
release | Cutting a new version of the docs MCP stdio bridge |
| CLI | Install | npm | What it does |
|---|---|---|---|
fundi (bin of @nyuchi/mzizi-cli) |
pnpm add -D @nyuchi/mzizi-cli |
0.4.0-beta.1 (last stable 0.3.0) |
Explores a project, plans a change against the Mzizi registry, applies it on request. SDK and CLI in one package; source in mzizi-cli/. |
nyuchi-docs-mcp |
npx @nyuchi/nyuchi-docs-mcp |
scoped name not yet published | stdio bridge to the hosted docs MCP, for clients that want a local process rather than an HTTP endpoint. Source in nyuchi-docs-mcp/. |
The fundi bin has three verbs — explore (offline, no key), plan <goal>
(read-only dry run), chat <message> — plus login / logout / whoami for
the WorkOS token the gated mzizi-mcp needs. plan and chat additionally
require ANTHROPIC_API_KEY. See Mzizi tools ›
mzizi-cli.
MCP servers
Section titled “MCP servers”| Server | Endpoint | Repo | Auth | Serves |
|---|---|---|---|---|
mzizi-mcp |
https://mcp.mzizi.dev/mcp |
mzizi-tools | WorkOS Connect OAuth PKCE (free signup) | The Mzizi registry — 64 tools built at startup from mcp_tool_registry: components, tokens, architecture, doctrine, skills. Also an npm stdio bin, 0.5.0-beta.6 |
| Mzizi portal | https://mzizi.dev/mcp |
mzizi | none (anon read) | The canonical document-route MCP inside the portal |
nyuchi-docs-mcp |
https://docs.nyuchi.com/mcp |
nyuchi-docs | none for reads | This docs corpus — search, ask, read, plus feedback and issue write tools |
bushtrade-mcp |
Cloudflare Worker + stdio bin | mzizi-tools | WorkOS Connect OAuth PKCE | Agentic commerce — 12 task-driven UCP/AP2 verbs. 0.2.0 in-repo; not on npm yet, ships manually |
fundi-tester |
https://tester.fundi.nyuchi.dev |
mzizi-tools | WorkOS M2M plus a forwarded X-Fundi-User-Token |
The fundi self-healing agent. Internal only: private: true, deploys as a Cloudflare Worker and is never published to npm |
Two are listed in the public MCP registry: io.github.nyuchi/mzizi-mcp and
io.github.nyuchi/nyuchi-docs.
An unauthenticated tools/list against https://mcp.mzizi.dev/mcp answers
401 invalid_token — that is the Connect OAuth gate working, not an outage.
fundi is next in line to become an A2A peer rather than only an MCP dependency, so that long security, chaos, and accessibility runs stop being modelled as blocking tool calls. That work is designed but not yet shipped.
Adding an MCP server to a client
Section titled “Adding an MCP server to a client”{ "mcpServers": { "mzizi": { "type": "http", "url": "https://mcp.mzizi.dev/mcp" }, "nyuchi-docs": { "type": "http", "url": "https://docs.nyuchi.com/mcp" } }}Inspecting one
Section titled “Inspecting one”Use the official inspector rather than hand-rolling JSON-RPC:
npx @modelcontextprotocol/inspector --web <command-or-url>Note the argument order the launcher wants — mode flag, then target, then
options — and that OAuth-gated endpoints answer an unauthenticated
tools/list with 401, so point it at a local stdio bin or a wrangler dev
instance instead of production:
# inside mzizi-toolspnpm --filter @nyuchi/mzizi-mcp inspect # web UI over the stdio binpnpm --filter @nyuchi/mzizi-mcp inspect:cli # tools/list as JSONAdding a tool to this directory
Section titled “Adding a tool to this directory”- Publish it under the
@nyuchinpm scope withpublishConfig.access: "public", or document why it stays private. - If it’s a reusable agent skill, put it in
@nyuchi/mzizi-skillsrather than a repo-local.claude/skills/— that’s what makes it installable. - If it’s an MCP server, register it (
io.github.nyuchi/<name>) and give it aserver.jsonwhose version stays in lockstep withpackage.json. - Add a row above. Link the source and the npm page. If you quote a version, date it — an undated version number reads as current forever.