Distribute an MCP server
Publish your MCP package and Registry metadata, then prepare client-directory listings.
Distribute your generated MCP server through its package, a hosted endpoint, or a registry listing.
You need a generated MCP package, permission to publish its npm identity, and ownership of the Registry namespace you intend to use. Build the package and verify a client connection before publishing. For a hosted listing, also configure and test its HTTPS endpoint and authentication.
Choose a distribution
Publish the npm package for local stdio use, offer a hosted HTTPS endpoint for remote connections, or provide both. A Registry entry makes those distributions discoverable; it does not publish or host them for you.
Client setup
Use Connect MCP clients for client requirements, configuration locations, and connection checks. Share the generated README’s Connect and read-only blocks after replacing publishing placeholders.
Validate and publish server.json
Every package that ships an MCP executable also ships server.json. Its server name and version match package.json#mcpName and package.json#version; it declares the npm stdio package plus hosted and /readonly remotes when the Project has a hosted Delivery.
Before publishing, set config.mcp.registry_name to a namespace you can prove, such as io.github.parcel/mcp or example.parcel/mcp. Without it, Typeship uses a schema-valid repository-derived name (or io.github.your-org/<package> when no repository is configured) and emits a warning so a placeholder cannot pass unnoticed.
Install the official mcp-publisher, publish the npm package first, then run:
npm run mcp:validate # mcp-publisher validate server.json; no registry write
mcp-publisher login github
npm run mcp:publishThe npm package's mcpName is the ownership proof and must equal server.json#name. GitHub login proves an io.github.<owner>/* namespace; domain namespaces use the Registry's DNS or HTTP verification flow. The version in server.json must already exist in npm before the Registry listing is published.
Prepare client-directory listings
An install link is immediately shareable; a public directory listing is a separate review.
Anthropic Connectors Directory
Submit a remote HTTPS server through the Claude connector submission portal. The submitting account needs a Team or Enterprise organization and Directory management access. Authenticated services use OAuth 2.0. Tools need titles and the applicable read-only/destructive annotations, and the submission needs public setup documentation, a privacy-policy URL, support contact, icon, and reviewer test credentials. Test every tool before submitting. Generated servers already derive titles and safety annotations from the API Spec; you provide the organization, auth, legal, and listing assets.
Cursor
Connect locally with .cursor/mcp.json or mcp install --cursor, then verify that tools appear in Cursor’s MCP settings. The server accepts Cursor’s default handshake. Community servers can be discovered through cursor.directory. For the reviewed Cursor Marketplace, wrap the MCP entry in an Agent Plugin (plugin.json) or Cursor Plugin (.cursor-plugin/plugin.json), host it in a public Git repository, document configuration, test locally, then submit the repository at cursor.com/marketplace/publish. Register Cursor's web/cloud and desktop OAuth callback URLs when the hosted service authenticates with OAuth.
Verify the connection
After publishing, follow Check it works using the published package version or endpoint. Verify discovery and a read before sharing the listing.
parcel mcp install --all. Never write a literal token into a client configuration. Validate server.json before proposing a registry publish.