How to Publish an MCP Server Without a Registry
Short answer: You do not need a registry to expose your own API. Keep the spec in the repo, generate the server, run it over a local transport for development, and host it over HTTP for remote agents. A registry is optional discovery, not a requirement to publish.
What publishing actually requires
An MCP server needs a transport and a reachable endpoint. For local development, stdio or a local HTTP port is enough. For remote agents, host the server over HTTPS. None of this requires a catalog.
The minimal path
- Compile the OpenAPI file into a server in the studio.
- Run it locally over stdio or HTTP and confirm the tools in the call log.
- For remote agents, host the server over HTTPS, alongside the docs.
- Point the agent at the endpoint; list it in a catalog only if you want discovery.
Why teams skip the registry
For a private or internal API, a public catalog is not useful and the server is reached directly. Keeping the docs and the server on the same host means they are always in sync.
When to add a listing
List the server when you want external agents to discover it. Treat the listing as a pointer to the generated server, not as a separately maintained copy.
This is part of the Powerduck vs Smithery comparison. Next, read provenance and skipped tools.