Content
# mcp-registry
Community-updatable catalog of MCP servers for [**mcp-brew**](https://github.com/TheYashGautam/mcp-cli)
(the `mcp` CLI — Homebrew for MCP).
This repo exists so the registry can be fixed and extended **without
waiting for a new mcp-brew release**. mcp-brew ships its own bundled
snapshot for offline/zero-network use by default; this repo is the
canonical, continuously-validated source you can opt into.
## Use it
```bash
mcp registry add https://raw.githubusercontent.com/TheYashGautam/mcp-registry/main/registry.json
```
Entries here that share a name with one of mcp-brew's built-in servers are
**ignored** — a registry can never shadow a trusted built-in entry. That's
enforced by mcp-brew itself (`addExternalRegistry` in `src/registry.js`),
not by anything in this repo.
## Schema
`registry.json` is a JSON array. Each entry:
```json
{
"name": "my-server",
"description": "One line describing what it does.",
"command": "npx",
"package": "@scope/my-mcp-server",
"version": "1.2.3",
"extraArgs": ["--some-flag"],
"env": { "MY_SERVER_TOKEN": "${MY_SERVER_TOKEN}" }
}
```
- `command` is `"npx"` or `"uvx"`.
- `version` is pinned to an **exact** version that has actually been
published — CI checks this on every push/PR (see below), so an entry
pointing at a renamed/unpublished/nonexistent package or version gets
caught automatically, before it reaches anyone's machine.
- `extraArgs` (optional) and `env` (optional) may reference secrets with
`${VAR_NAME}` placeholders; mcp-brew resolves those from its own secret
store at install time. Nothing here ever holds a real secret value.
## Contributing
Open a PR adding or updating an entry in `registry.json`. CI
(`.github/workflows/validate.yml`) runs `npm run validate`, which:
1. Checks every entry has the required fields and a supported `command`.
2. Rejects duplicate names.
3. Calls the real npm registry / PyPI JSON API to confirm the pinned
`package`+`version` actually exists.
A PR that fails any of these won't merge. Run it locally before opening a
PR:
```bash
npm run validate
```
## License
MIT © [TheYashGautam](https://github.com/TheYashGautam)