- Install dependencies:
pnpm install- Run the release flow:
pnpm releaserelease-it will:
- prompt for the new version
- update
package.json - create the release commit and git tag
- publish to npm
Before the release starts, the before:init hook runs:
pnpm release:checkrelease:check runs pnpm check, pnpm build, and pnpm pack --pack-destination /tmp.
prepublishOnly still enforces pnpm check && pnpm build as a final guard during npm publish.
The MCP Registry only stores metadata; npm still hosts the package. The server id must be a semantic name such as io.github.bugfender/mcp (it must match mcpName in package.json and name in server.json).
Before publishing to npm: package.json must include mcpName. The registry verifies the published tarball on npm.
release-it runs node scripts/sync-server-json-version.mjs on after:bump, which aligns server.json versions with package.json. If you change the npm package name or registry id, update server.json and mcpName manually.
After @bugfender/mcp is on npm:
- Install the official CLI (Homebrew or binary releases):
brew install mcp-publisher- Optionally validate metadata:
mcp-publisher validate-
If you need a fresh template, run
mcp-publisher init, then restore Bugfender-specific fields from the committedserver.jsonin git. -
Authenticate (GitHub device flow is typical):
mcp-publisher login github- Publish:
mcp-publisher publish- Verify (registry API uses
v0.1; search by full server id):
curl "https://registry.modelcontextprotocol.io/v0.1/servers?search=io.github.bugfender/mcp"