agent-mcps: 5th canonical pure-data submodule (2026-07-04)
agent-mcps — the 5th canonical submodule
Locked
- Repo:
chirag127/agent-mcps— public, MIT, MCP registry pure-data. - Submodule:
repos/own/infra/agent-mcpsin the umbrella. - Sync script:
scripts/sync-mcp-to-agents.mjs— Node ESM, stdlib only. Readsagent-mcps/mcps.json, fans to 5 targets:<workspace>/.mcp.json(Claude Code workspace)~/.claude.jsonmcpServers(Claude Code user, preserves other keys)~/.config/opencode/opencode.jsoncmcp(OpenCode, preserves other keys)~/.config/kilo/kilo.jsoncmcpServers(Kilo Code, preserves other keys)~/.config/gh-copilot/mcp.json(GH Copilot CLI)
- Scheduled Task:
Oriz-SyncMCPs(logon + daily 09:00). CC SessionStart hook can also invoke. - 17 servers in registry: 11 migrated from workspace
.mcp.json+ 6 new per superpowers-fleet grill.
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": "..."
}
_-prefixed keys are metadata, stripped from output.categories+agentsused by the sync filter, stripped from output.- Env vars must use
${env:VAR}refs. Literal secret patterns (sk-, ghp_, AIza, xox_, PEM) fail-close the script.
Adding a new MCP
- Edit
repos/own/infra/agent-mcps/mcps.json - Add entry with
_source,_added,_purposefor audit - Set
agents: ["*"]if universal, or explicit list - If secrets needed: add to
.env.encviaadd-env-key.ps1, reference via${env:KEY} - Commit + push agent-mcps repo
- Bump submodule pointer in umbrella, commit + push
Oriz-SyncMCPsfires on next logon (or runnode scripts/sync-mcp-to-agents.mjsmanually)
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
- Add MCPs directly to
.mcp.json— violates single-source-of-truth. Would need manual duplication to per-agent configs. - Store as npm package — heavier release cycle for what's essentially a JSON config file.
- Store in
agent-configssubmodule — mixes MCP registry with agent settings. Separate concerns. - Auto-install all 1,500+ awesome-mcp-servers — token bloat, most irrelevant, many require paid access.
The 5 canonical pure-data submodules
Complete list of umbrella's canonical registries as of 2026-07-04:
agent-skills(chirag127/agent-skills) — skill definitions perskills-cli-canonicalagent-configs(chirag127/agent-configs) — per-agent settings.json / opencode.jsonc / kilo.jsonc peragent-configs-workspace-canonical-2026-07-03claude-memory(private,chirag127/claude-memory) — MEMORY.md + memory/*.md permemory-cross-machine-sync-2026-07-03backup(private,chirag127/backup) — bootstrap scripts + age keysagent-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.