Contribute
Add your plugin
A listing is one JSON entry in the canonical registry, submitted as a GitHub pull request and reviewed in the open. Listings are free for everyone — trust tiers are earned through review, never sold.
-
Write your entry
Listing an MCP server is deliberately light: a small unsigned JSON entry. No signing, no bundle, no upload — the registry stores your server's config, and nothing is ever downloaded from the registry itself. This example is validated verbatim by the catalogue's test suite:
{ "id": "acme/postgres-inspector", "kind": "inline-mcp", "name": "Postgres Inspector", "publisher": { "name": "Acme Tools" }, "summary": "Read-only Postgres schema and query inspection over MCP.", "categories": ["data", "development"], "tags": ["postgres", "sql", "database"], "sourceUrl": "https://github.com/acme/postgres-inspector-mcp", "mcp": { "transport": "stdio", "command": "npx", "args": ["-y", "@acme/postgres-inspector-mcp@latest"], "envVarNames": ["DATABASE_URL"], "auth": "None", "setupNotes": "Runs the published package through npx. Point DATABASE_URL at the database you want to inspect." } }Shipping downloadable content — skill packs, CLI plugins, capability modules — is a bundle entry instead: it needs an
httpssource, an integrity pin (commit SHA or per-file digests) whenever it carries executable content, and may carry an ed25519 signature. A valid signature earns your publisher the verified signal; it is never required to list.Never author
tier,provenance, orverified— the catalogue computes trust signals at ingest and rejects entries that claim them. -
Open a pull request
Add your entry to
index.jsonin the canonical curated registry — theregistry/directory of the catalogue repository, moderated entirely through pull requests. The catalogue service never writes there; a merged PR is the only way content changes. -
CI checks your entry, reviewers merge it
Every PR runs the registry verifier: schema validation, controlled-vocabulary categories,
https-only URLs, integrity pins on code-bearing bundles, signature verification when one is present, and no secrets —envVarNamesholds names only. Once merged, the catalogue picks your entry up on its next sync.
The full field reference, both entry kinds, and the submission checklist live in the author docs: docs/plugin-authors/.