← knowledge.oriz.in

agent-mcps: 5th canonical pure-data submodule (2026-07-04)

decision mcpcanonicalsubmodulesyncfleet-paritySat Jul 04 2026 00:00:00 GMT+0000 (Coordinated Universal Time)

agent-mcps — the 5th canonical submodule

Locked

Six new MCPs (2026-07-04)

Selected via grill against 1,500+-entry punkpeye/awesome-mcp-servers list under filters: no card-required, no x402/micropayment, no crypto/web3, no aggregators, layered redundancy allowed.

MCP Purpose Layered with
shrimp-task-manager Persistent coding-agent task memory + dependency mgmt superpowers writing-plans + executing-plans
pandoc Universal doc format conversion markitdown
mermaid 22+ Mermaid diagram types with SVG/PNG/PDF diagram-generator skill (Graphviz)
oxidize-pdf Rust PDF toolkit — create/read/split/merge/rotate/encrypt fills gap
mcp-observatory MCP config regression tests, tool-schema drift detection fills gap
mcp-doctor MCP diagnostics — auto-discovers CC/Cursor/VSCode configs fills gap

All 6 verified as published on npm/pypi. All zero-secret (or graceful degradation if env unset).

Registry format

Each server entry:

"<name>": {
  "type": "stdio" | "http",
  "command": "npx" | "uvx" | "node" | "<abs-path>",
  "args": ["..."],
  "env": { "KEY": "${env:KEY}" },
  "categories": ["coding", "web", ...],
  "agents": ["*"] | ["cc", "opencode"],
  "_source": "https://github.com/...",
  "_added": "YYYY-MM-DD",
  "_purpose": "..."
}

Adding a new MCP

  1. Edit repos/own/infra/agent-mcps/mcps.json
  2. Add entry with _source, _added, _purpose for audit
  3. Set agents: ["*"] if universal, or explicit list
  4. If secrets needed: add to .env.enc via add-env-key.ps1, reference via ${env:KEY}
  5. Commit + push agent-mcps repo
  6. Bump submodule pointer in umbrella, commit + push
  7. Oriz-SyncMCPs fires on next logon (or run node scripts/sync-mcp-to-agents.mjs manually)

Why this exists

Before: MCP servers were duplicated across workspace .mcp.json + ~/.claude.json + ~/.config/opencode/opencode.jsonc + ~/.config/kilo/kilo.jsonc. Adding a new MCP required 4 file edits + manual sync.

After: single source at agent-mcps/mcps.json, one script fans to all agents. Follows the exact same pattern as chirag127/agent-skills + chirag127/agent-configs — the 5-canonical-submodule model per canonical-repo-pure-data-orchestrator-in-umbrella.

Rejected alternatives

The 5 canonical pure-data submodules

Complete list of umbrella's canonical registries as of 2026-07-04:

  1. agent-skills (chirag127/agent-skills) — skill definitions per skills-cli-canonical
  2. agent-configs (chirag127/agent-configs) — per-agent settings.json / opencode.jsonc / kilo.jsonc per agent-configs-workspace-canonical-2026-07-03
  3. claude-memory (private, chirag127/claude-memory) — MEMORY.md + memory/*.md per memory-cross-machine-sync-2026-07-03
  4. backup (private, chirag127/backup) — bootstrap scripts + age keys
  5. agent-mcps (new today) — MCP server registry per this decision

Sync scripts live in umbrella scripts/, scheduled tasks named Oriz-Sync*. Cross-machine parity per cross-machine-parity-via-sync.

Cross-refs