Skip to content

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.

@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.

Terminal window
# 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:

Terminal window
npx skills add @nyuchi/mzizi-skills # files on disk, offline
curl -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/mcp

Browse 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.

Terminal window
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.

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.

{
"mcpServers": {
"mzizi": { "type": "http", "url": "https://mcp.mzizi.dev/mcp" },
"nyuchi-docs": { "type": "http", "url": "https://docs.nyuchi.com/mcp" }
}
}

Use the official inspector rather than hand-rolling JSON-RPC:

Terminal window
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:

Terminal window
# inside mzizi-tools
pnpm --filter @nyuchi/mzizi-mcp inspect # web UI over the stdio bin
pnpm --filter @nyuchi/mzizi-mcp inspect:cli # tools/list as JSON
  1. Publish it under the @nyuchi npm scope with publishConfig.access: "public", or document why it stays private.
  2. If it’s a reusable agent skill, put it in @nyuchi/mzizi-skills rather than a repo-local .claude/skills/ — that’s what makes it installable.
  3. If it’s an MCP server, register it (io.github.nyuchi/<name>) and give it a server.json whose version stays in lockstep with package.json.
  4. 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.