npm-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| NPM_PATH | No | Path to the npm binary. Use this if npm is not in your system PATH. | npm |
| NPM_TOKEN | No | npm authentication token. Can be generated from npmjs.com > Account > Access Tokens. If omitted, the server will use credentials from your ~/.npmrc (from running npm login). |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| prompts | {
"listChanged": true
} |
| resources | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| publishC | Publish a package to the npm registry |
| versionB | Bump the package version |
| viewC | View package information from the registry |
| searchC | Search npm registry for packages |
| unpublishB | Remove a package version from the registry |
| deprecateC | Deprecate a version of a package |
| ownerC | Manage package owners |
| dist-tagC | Manage distribution tags |
| packB | Create a tarball from a package (preview what would be published) |
| whoamiA | Check which npm user is currently authenticated. If not logged in, set NPM_TOKEN env var in MCP config. |
| initB | Initialize a new package.json |
| auditB | Run a security audit on the package |
| outdatedC | Check for outdated packages in a project |
| lsC | List installed packages in a project |
| installC | Install packages in a project |
| uninstallB | Remove packages from a project |
| updateB | Update packages in a project to their latest semver-compatible version |
| accessC | Set or view access level on published packages |
| tokenC | Manage npm access tokens (list or revoke) |
| pingA | Check connectivity to the npm registry |
| bugsA | Get the bug tracker URL for a package |
| repoB | Get the repository URL for a package |
| docsB | Get the documentation URL for a package |
| diffB | Show diff between package versions or between local and registry |
| pkgB | Manage package.json fields programmatically |
| fundC | Show funding information for installed packages |
| dedupeB | Reduce duplication in the dependency tree |
| explainB | Explain why a package is installed (show dependency chain) |
| sbomB | Generate a Software Bill of Materials (SBOM) for a project |
| profileB | View or modify npm user profile settings |
| ciA | Clean install dependencies from lockfile (for CI environments) |
| run-scriptB | Run a script defined in package.json |
| doctorB | Run diagnostics to check npm environment health |
| cacheC | Manage the npm cache |
| configA | View npm configuration (read-only for safety) |
| pruneB | Remove extraneous packages not listed in package.json |
| linkB | Symlink a local package for development |
| queryB | Query installed packages using CSS-like selectors |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| publish_package | Guide through publishing a new npm package version: version bump, build, pack preview, publish, and git tag |
| audit_package | Audit a package: check vulnerabilities, outdated dependencies, and download stats |
| dependency_health | Comprehensive dependency health check: outdated, audit, explain, and cleanup recommendations |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| npm-whoami | Current authenticated npm user |
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/mikusnuz/npm-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server