Repository navigation
Releasing
Pavel Erokhin edited this page Oct 19, 2026
·
1 revision
A release goes to three places: a GitHub release with the Claude Desktop bundle, npm as @mairwunnx/minecraft-mcp, and the MCP Registry as com.mairwunnx/minecraft-mcp.
-
Add a
## X.Y.Zsection toCHANGELOG.md. Patch for fixes, minor for features, major for breaking changes. -
Run the “Release” workflow:
gh workflow run release.yml -R MairwunNx/minecraft-mcp -f version=X.Y.Z -f npm=true -f registry=true
-
Watch it with
gh run watch. -
Check every place: the GitHub release,
npm view @mairwunnx/minecraft-mcp, and the registry search.
- Refuses a version that's already tagged.
- Takes the release notes from the version's section in
CHANGELOG.md, or from thechangeloginput. - Runs lint, typecheck, and tests.
- Stamps the version into
package.json,manifest.json, andserver.json. The repository keeps0.0.0-devin all three. - Packs
minecraft-mcp-X.Y.Z.mcpband publishes a GitHub release taggedvX.Y.Zwith it, plus a version-less copyminecraft-mcp.mcpb. That copy keepsreleases/latest/download/minecraft-mcp.mcpbpointing at the newest bundle. - With
npm, drops the “Try it live” section from the README and publishes to npm with provenance. The Moonlands invitation stays on GitHub. - With
registry, waits until npm serves the new version, then publishesserver.jsonto the MCP Registry.
-
NPM_TOKEN: a granular npm token that can bypass 2FA. npm's trusted publishing would replace it once set up on npmjs.com. -
MCP_REGISTRY_KEY: the hex ed25519 key whose public half sits in a DNS TXT record on mairwunnx.com.
Publish by hand: stamp server.json with the version, then run mcp-publisher login dns --domain mairwunnx.com --private-key <hex> and mcp-publisher publish. Never delete or re-tag a published release; finish a half-failed one by hand.
Players and server owners
- Installation
- Claude Desktop
- Claude Code
- Cursor
- Other clients
- Configuration
- Tokens and permissions
- Tools
- Example prompts
- Security
- Troubleshooting
Developers