Why publish a self-hosted MCP?
- Distribution: Make your MCP discoverable and installable via Smithery.
- Observability: Smithery surfaces logs so you can understand how your users are using your MCP.
Requirements
- Public HTTPS URL for your MCP over Streamable HTTP
- If your server requires user authorization, it should follow the OAuth spec your MCP advertises so users can authenticate when prompted.
- For configuration support, implement a schema via
/.well-known/mcp-config
endpoint (see Session Configuration)
Publish an External MCP on Smithery
- In Smithery, create a New Server.
- Choose to publish an External MCP.
- In the deployments page, click Deploy and enter your server’s HTTPS URL.
- Create the server to finish publishing.
Convert an External MCP to Smithery-Hosted
If you already have an External MCP on Smithery and would like to switch to a Smithery-hosted setup, simply connect your GitHub repository via your server settings page. This will switch your server to deploy from your GitHub repository.Server Scanning
Smithery performs a scan of your server to extract metadata (for example, tools and prompts) used to render your server page.- If your server is reachable and does not require authorization, the scan completes automatically and your page is populated shortly.
- If your server requires authorization or additional configuration, we’ll prompt you in the UI to authenticate. This configures a test profile and Smithery will automatically retry the scan. Once the connection succeeds, your server page will update with accurate tool information. See the in-product fix dialog when a scan requires attention.