@ebowwa/npm-publisher
v1.0.0
Published
MCP server for publishing packages to NPM registry with version management and validation.
Maintainers
Readme
NPM Publisher MCP Server
A Model Context Protocol (MCP) server that enables AI assistants to publish packages to NPM registry with version management and validation.
Getting Started
Cursor
In Cursor, configure MCP servers in your settings:
- Open Cursor Settings (
Cmd/Ctrl + ,) - Search for "MCP" or go to Extensions > MCP
- Add a new server with:
- Name:
npm-publish - Command:
npx - Args:
["@ebowwa/npm-publisher"]
- Name:
Claude Code
claude mcp add -s user npm-publish npx @ebowwa/npm-publisherClaude Desktop
Add to your claude_desktop_config.json:
{
"mcpServers": {
"npm-publish": {
"command": "npx",
"args": ["@ebowwa/npm-publisher"]
}
}
}Config file locations:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
Features
- Publish packages to NPM registry
- Version bumping (major, minor, patch, prerelease)
- Package validation before publishing
- Distribution tag management (latest, beta, next, etc.)
- Package search and details (from registry)
- Integration with Doppler for secrets
Available Tools
Publish Tools
publish-npm-package
Publish a package to the NPM registry.
Parameters:
authToken(string): NPM authentication tokendryRun(boolean, optional): Validate without publishing (default: false)packagePath(string, optional): Path to package directoryregistry(string, optional): Registry URL (default: https://registry.npmjs.org)tag(string, optional): Distribution tag (default: latest)access(string, optional): Package access level (default: public)
Example:
bun tool publish-npm-package '{
"authToken": "npm_xxx",
"dryRun": true
}'bump-npm-version
Bump the version in package.json.
Parameters:
releaseType(string): Type of bump - major, minor, patch, premajor, preminor, prepatch, prereleasepackagePath(string, optional): Path to package directorypreId(string, optional): Prerelease identifier (e.g., beta, alpha, rc)
Example:
bun tool bump-npm-version '{
"releaseType": "minor"
}'validate-npm-package
Validate package.json for npm publishing.
Parameters:
packagePath(string, optional): Path to package directory
Example:
bun tool validate-npm-package '{}'set-npm-dist-tag
Set a distribution tag for a package version.
Parameters:
authToken(string): NPM authentication tokenpackageName(string): Package nametag(string): Tag name (e.g., latest, beta, next)version(string): Version to tagregistry(string, optional): Registry URL
Example:
bun tool set-npm-dist-tag '{
"authToken": "npm_xxx",
"packageName": "my-package",
"tag": "beta",
"version": "1.0.0"
}'get-npm-dist-tags
Get all distribution tags for a package.
Parameters:
authToken(string): NPM authentication tokenpackageName(string): Package nameregistry(string, optional): Registry URL
Registry Tools (from package-registry-mcp)
search-npm-packages
Search the NPM registry.
Parameters:
query(string): Search termlimit(number, optional): Max results (1-100, default: 10)
get-npm-package-details
Get detailed package information.
Parameters:
name(string): Exact package name
list-npm-package-versions
List all versions of a package.
Parameters:
name(string): Exact package namelimit(number, optional): Max versions (1-1000, default: 100)
Installation
npm install -g @ebowwa/npm-publisherOr use directly with npx:
npx @ebowwa/npm-publisherDevelopment
# Install dependencies
bun install
# Build
bun run build
# Type check
bun run typecheck
# Format
bun run formatRequirements
- Node.js 22+ or Bun 1.0+
- NPM authentication token for publishing
License
MIT
Acknowledgments
Forked from package-registry-mcp by Christoffer Artmann.
