A small collection of Model Context Protocol servers and a catalog file describing how to install them under obot.
Each server lives in its own subdirectory with its own build, image, and (where applicable) npm package. The repo-level catalog.yaml declares one or more obot-compatible catalog entries per server, covering the runtimes that server supports (npx, containerized, remote, uvx, composite).
mcp-zoo/
├── catalog.yaml # obot catalog entries — one document, list of entries
├── reflect-mcp/ # debug MCP server: echoes argv, env, headers
│ ├── src/ # TypeScript sources
│ ├── Dockerfile # multi-stage chainguard build
│ ├── package.json # publishes as @njhale/reflect-mcp
│ └── README.md
└── .github/workflows/ # CI: docker build/push, optional npm publish
| Server | What it does | Runtimes |
|---|---|---|
| reflect-mcp | Single echo tool that returns the launch command/args, env, and inbound HTTP headers. Useful for verifying obot/nanobot wiring (secret bindings, header propagation, env-var visibility). |
npx, containerized, remote |
Point an obot MCPCatalog at this repo:
- In Admin → MCP Servers → Catalogs, add a catalog source with URL
https://github.com/njhale/mcp-zoo. - obot's
mcpcatalogcontroller clones the repo, walkscatalog.yaml, and creates oneMCPServerCatalogEntryper list element. - The entries become available in the regular MCP server picker.
Catalog entries in this repo are GitOps-managed — they're code-reviewed via PR and synced from git. Per the external-secrets feature, this is the only place secretBinding references on env vars / headers are accepted.
- Create a top-level directory with the server's source, Dockerfile, and language-specific build files.
- Add a CI workflow under
.github/workflows/<server>-<purpose>.yaml(use thereflect-mcpworkflows as a template). - Append one or more entries to
catalog.yaml— one per runtime variant you want to expose. - Open a PR. The catalog entries are validated on the obot side at sync time, so unsupported runtime configurations are rejected before they hit users.
MIT — see individual subdirectories for any per-package license overrides.