Short answer: A registry supplies a server someone else authored; a generator compiles your contract into a server. For your own API, the generated server is correct by construction and updates on save, while a registry entry is a snapshot that must be re-published whenever the API changes.
What a registry entry is
It is a published artifact, a version of a server at a point in time. For a stable third-party service that is fine. For your own backend, it is a snapshot of a moving target, and it is stale as soon as the contract changes.
What a generated server is
| Property | Registry entry | Generated server |
|---|---|---|
| Origin | An author | Your spec |
| Timing | Published snapshot | Current on every save |
| Correctness | As authored | Valid by construction |
| Maintenance | Re-publish | Regenerate |
The failure that snapshots create
The classic bug is a stale listing: the endpoint moved, the registry still serves the old shape, and the agent trusts it. A generated server cannot serve a shape the contract does not declare.
How to use both
Generate from the contract as the source of truth, then publish or list that server when you want discovery. The listing reflects the current contract instead of a hand-maintained snapshot.
This is part of the Powerduck vs Smithery comparison. Next, read the OAuth comparison.
Top comments (0)