npm Registry MCP Server
npm registry MCP server — package intelligence, security audits, dependency analysis
Connector by YawLabs · GitHub account verified by the MCP Registry
Install
Works with Claude Code, Codex, VS Code, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.
npx agentmarket install connector/yawlabs-npmjs-mcp
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this server can do and what it asks for, from its tool list, install config and code. Checked Oct 25, 2026.
- Tools
- 42 read · 4 write · 18 delete
- Secrets
- None asked for
- Install scripts
- None found
- Runs as
- Node.js package
Tools by what they do 64
Read from the source code; the running server may list different tools.
Read 42 · Look things up without changing anything.
npm_auditnpm_audit_deepnpm_check_authnpm_collaboratorsnpm_comparenpm_dep_treenpm_dependenciesnpm_dist_tagsnpm_downloadsnpm_downloads_bulknpm_downloads_rangenpm_health
Show 30 more tools
npm_hook_getnpm_hook_listnpm_license_checknpm_maintainersnpm_ops_playbooknpm_org_membersnpm_org_packagesnpm_org_teamsnpm_packagenpm_package_accessnpm_profilenpm_provenancenpm_publish_preflightnpm_readmenpm_recent_changesnpm_registry_statsnpm_release_frequencynpm_searchnpm_signing_keysnpm_team_membersnpm_team_packagesnpm_tokensnpm_trusted_publishersnpm_typesnpm_user_packagesnpm_verify_tokennpm_versionnpm_version_downloadsnpm_versionsnpm_whoami
Write 4 · Create, change, send or run things.
npm_hook_addnpm_owner_addnpm_team_createnpm_team_member_add
Delete 18 · Delete, drop, revoke or wipe things.
npm_access_setnpm_access_set_mfanpm_deprecatenpm_dist_tag_removenpm_dist_tag_setnpm_hook_removenpm_hook_updatenpm_org_member_removenpm_org_member_setnpm_owner_removenpm_team_deletenpm_team_grant
Show 6 more tools
npm_team_member_removenpm_team_revokenpm_token_revokenpm_undeprecatenpm_unpublish_packagenpm_unpublish_version
Network hosts it talks to 7
api.github.com· found in codebiomejs.dev· found in codegithub.com· found in codejson.schemastore.org· found in codeoamjs.org· found in codeslsa.dev· found in codeyaw.sh· found in code
Files it touches
- Your home directory (~)
~/yaw/homebrew-yaw~/yaw/scoop-yawC:\\Windows
Tools (64)
Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].
npm_access_setSet package access levelcan change or delete dataSet package access level: 'public' or 'restricted' (private). 'private' is accepted as an alias for 'restricted' for ergonomics -- both map to the registry wire value 'restricted'. Unscoped packages are always public. Restricted access requires a paid npm account.
npm_access_set_mfaSet package 2FA publish policycan change or delete dataConfigure 2FA requirement for publishing: 'none' (off), 'publish' (2FA required), 'automation' (2FA required but automation tokens can bypass).
npm_auditAudit packagesread-onlyQuick vulnerability check for specific packages and versions using the bulk advisory API. Returns matching advisories with severity, CVEs, and patched versions. For richer detail (CVSS scores, CWEs, fix recommendations), use npm_audit_deep instead.
npm_audit_deepDeep security auditread-onlyFull security audit on a dependency set — returns detailed advisories with CVSS scores, CWEs, affected version ranges, fix recommendations, and full vulnerability metadata. Uses the npm audit v1 endpoint which provides richer detail than the bulk advisory API (npm_audit). Requires you to provide the dependency map (use npm_dependencies to get it first).
npm_check_authCheck npm auth healthread-onlyQuick auth health check — returns structured data about npm auth status, token capability, and whether headless (CI/agent) publishing is possible. Run this BEFORE attempting any publish operation. Returns canPublishHeadless boolean and a clear recommendation. MCP servers are called by AI agents which CANNOT open browsers or enter OTP codes. This tool detects that and provides the exact terminal command for the human to run instead of suggesting unworkable retries.
npm_collaboratorsPackage collaboratorsread-onlyGet all users who have access to a package and their permission levels (read-only, read-write). Useful for verifying who can publish to a package before setting up CI/CD.
npm_compareCompare packagesread-onlyCompare 2-5 packages side-by-side — downloads, version, license, maintainers, size, last publish, and security status. Great for 'should I use X or Y?' decisions.
npm_dep_treeResolve dependency treeread-onlyResolve the production dependency tree for a package version (up to a configurable depth). Shows the full transitive dependency graph with versions. Issues one registry request per discovered package (10 in flight), so a wide tree at depth 4-5 can take a while; the walk is capped at 60s and returns `truncated: true` with a warning if it runs out of budget.
npm_dependenciesGet dependenciesread-onlyGet the dependency lists for a specific package version — production deps, devDeps, peerDeps, and optionalDeps.
npm_deprecateDeprecate packagecan change or delete dataDeprecate a package or specific versions. Shows a warning message on install. Uses the HTTP API with NPM_TOKEN, so no CLI login or OTP prompt is involved; a token without 2FA bypass is refused with 401 or 403. Registry hard limit: deprecation messages must be <= 1024 characters. A message over the limit, or a versionRange matching no published version, is rejected locally as HTTP 400 before any write; a 422 from the registry describes the packument that was sent. Message punctuation is never checked.
npm_dist_tag_removeRemove dist-tagcan change or delete dataRemove a dist-tag from a package. The 'latest' tag cannot be removed, only reassigned.
npm_dist_tag_setSet dist-tagcan change or delete dataPoint a dist-tag (e.g. 'latest', 'beta', 'next') at a specific version. Common uses: promote a beta to latest, roll back latest to a prior version, maintain separate channels.
npm_dist_tagsGet dist-tagsread-onlyGet dist-tags for a package (latest, next, beta, etc).
npm_downloadsGet download countread-onlyGet total download count for a package over a period (last-day, last-week, last-month, last-year, or a custom date range like 2025-01-01:2025-12-31).
npm_downloads_bulkBulk download comparisonread-onlyCompare download counts for multiple packages over a period. Up to 128 packages. Scoped packages (@scope/name) are NOT supported by the bulk endpoint — call npm_downloads separately for each scoped package.
Show 49 more tools
npm_downloads_rangeGet daily downloadsread-onlyGet daily download counts for a package over a period. Returns per-day breakdown.
npm_healthPackage health checkread-onlyAssess the health of a package — maintenance activity, download trend, security status, deprecation, and documentation quality.
npm_hook_addAdd webhookCreate a registry webhook. Target is 'pkg' or '@scope/pkg' for a package, '@scope' for a scope, or '~user' for a user's packages. Endpoint is the HTTPS URL to POST events to; secret is used to HMAC-sign payloads. The secret is never echoed back in tool responses.
npm_hook_getGet webhookread-onlyGet a single webhook by its ID. The stored secret is redacted from the response.
npm_hook_listList webhooksread-onlyList webhooks. Optionally filter by package name. Secrets are redacted from responses.
npm_hook_removeRemove webhookcan change or delete dataDelete a webhook by ID.
npm_hook_updateUpdate webhookcan change or delete dataReplace a webhook's endpoint AND signing secret. Both are required: the registry PUT overwrites the hook config, so this call always rotates the secret to whatever you pass — supply the current secret if you only mean to change the endpoint. The returned hook object has the secret redacted.
npm_license_checkCheck licensesread-onlyCheck the license of a package and its direct production dependencies. Flags missing or non-standard licenses. Matches single SPDX license identifiers case-insensitively (so 'mit' and 'MIT' both match). SPDX expressions like '(MIT OR Apache-2.0)' are NOT decomposed — they are flagged unless added to `allowed` verbatim. Issues 2 requests per direct dependency (10 in flight), capped at 60s; deps not reached in time come back as `NOT_CHECKED` (and are flagged, never treated as allowed).
npm_maintainersPackage maintainersread-onlyGet current maintainers and their publish history for a package.
npm_ops_playbooknpm operations playbookread-onlyReturn canonical recipes for common npm operations — which MCP tool to call for which op, CLI fallbacks when the MCP server can't handle something, and message format guidance. Call this FIRST when you're not sure how to do an npm operation. Prevents reinventing approaches that don't work.
npm_org_member_removeRemove org membercan change or delete dataRemove a user from an org. Their team memberships in that org are also removed. Requires confirm: true — team memberships cascade and cannot be selectively preserved.
npm_org_member_setSet org membercan change or delete dataAdd a user to an org or change their role. Roles: 'developer', 'admin', 'owner'. If the user is already in the org, updates the role. Omitting `role` keeps the member's current role: this tool reads the roster first and re-sends the existing role explicitly, because the registry DEFAULTS an omitted role to 'developer' rather than preserving it (which would silently demote an admin or owner). For a user who is not yet a member, omitting `role` adds them as 'developer'.
npm_org_membersList org membersread-onlyList all members of an npm organization with their roles (owner, admin, developer). Requires authentication as an org member.
npm_org_packagesList org packagesread-onlyList all packages accessible to an npm organization with their access levels. Shows what the org owns or has been granted access to.
npm_org_teamsList org teamsread-onlyList all teams within an npm organization. Requires authentication as an org member.
npm_owner_addAdd package ownerAdd a user as a maintainer of a package. They will have publish and write permissions. Resolves the user's email via /-/user/ (no need to supply it). Use npm_collaborators to verify before adding.
npm_owner_removeRemove package ownercan change or delete dataRemove a user from a package's maintainer list. Refuses if it would leave the package with zero maintainers (lockout prevention).
npm_packageGet package inforead-onlyGet package metadata — description, dist-tags, latest version, maintainers, license, repository, keywords. Does not include per-version details (use npm_version for that).
npm_package_accessPackage access settingsread-onlyGet package access settings — visibility (public/private), whether publish requires 2FA, and whether automation tokens can bypass 2FA. Critical for understanding why CI publishing fails: if publish_requires_tfa is true but automation_token_overrides_tfa is false, automation tokens cannot publish.
npm_profileGet npm profileread-onlyGet the authenticated user's npm profile — name, email, 2FA status, creation date. Useful for checking whether 2FA is enabled (which affects token requirements for publishing).
npm_provenancePackage provenanceread-onlyRetrieve Sigstore attestations for a specific package version. Shows SLSA provenance (which CI built it, from which repo/commit) and publish attestations. NOTE: this tool RETRIEVES attestations from the registry -- it does NOT perform cryptographic signature, certificate-chain, or Rekor transparency-log verification. Use a dedicated Sigstore client to cryptographically verify the bundles.
npm_publish_preflightPublish preflight checkread-onlyComprehensive pre-publish validation — run before publishing ANY npm package. Returns an actionable checklist with pass/fail/warn for each item. ASSUMES NON-INTERACTIVE CONTEXT BY DEFAULT because MCP servers are called by AI agents that: - CANNOT open browsers (so --auth-type=web is useless) - CANNOT enter OTP codes - CANNOT retry with 2FA — this is a hand-off to the human Checks: auth token validity, 2FA requirements, token type inference, org-level token reuse, package name availability, maintainer access, scoped package settings. When issues are found, returns structured actions with exa…
npm_readmeGet package READMEread-onlyGet the README content of a package.
npm_recent_changesRecent registry changesread-onlyGet the most recent package publishes/updates from the npm registry via the CouchDB changes feed. Note: uses replicate.npmjs.com which may have intermittent availability.
npm_registry_statsRegistry download statsread-onlyGet total npm-wide download counts for a period. Shows overall registry activity.
npm_release_frequencyRelease frequencyread-onlyAnalyze the release cadence of a package — publish timeline, gaps, and whether the project is actively maintained.
npm_searchSearch npm packagesread-onlySearch the npm registry for packages. Supports text search and qualifiers like 'keywords:mcp', 'author:user', 'maintainer:user', 'scope:org', 'not:insecure', 'is:unstable'.
npm_signing_keysGet signing keysread-onlyGet the npm registry's ECDSA signing keys used to verify package signatures.
npm_team_createCreate teamCreate a team inside an organization. Team is passed as '@scope:team'.
npm_team_deleteDelete teamcan change or delete dataDelete a team. Team is passed as '@scope:team'. Revokes all package permissions that team held, and team memberships are also removed. Requires confirm: true — this removes the team and all its package grants in one call. List the team's current grants with npm_team_packages first if you need to preserve them.
npm_team_grantGrant team package permissioncan change or delete dataGrant a team read-only or read-write permission on a package. Scope and team are passed as @scope:team (e.g. '@yawlabs:devs'). Requires org admin or team admin.
npm_team_member_addAdd team memberAdd a user to a team. Team is '@scope:team'. User must already be in the org.
npm_team_member_removeRemove team membercan change or delete dataRemove a user from a team. Team is '@scope:team'. User remains in the org.
npm_team_membersList team membersread-onlyList all members of a team with their roles (e.g. 'developer'). Complements npm_team_member_add and npm_team_member_remove — use this to audit who is currently on the team before adding or removing members.
npm_team_packagesList team packagesread-onlyList all packages a specific team has access to and their permission levels (read-only or read-write). Useful for auditing team permissions.
npm_team_revokeRevoke team package permissioncan change or delete dataRevoke a team's access to a package. Team is passed as '@scope:team'. Does not delete the team itself — use npm_team_delete for that.
npm_token_revokeRevoke access tokencan change or delete dataRevoke an access token by its key (UUID from npm_tokens). Requires confirm: true. Revoking the token currently in use by NPM_TOKEN will break the next call. Creating tokens is NOT exposed because the endpoint requires the user password — create via https://www.npmjs.com/settings/~/tokens instead.
npm_tokensList npm tokensread-onlyList all access tokens for the authenticated npm user. Shows token type, creation date, CIDR restrictions, and read-only status. Critical for finding reusable automation/granular tokens that cover your org scope — avoids the common mistake of creating duplicate tokens or using publish tokens in CI (which still require OTP).
npm_trusted_publishersList trusted publishersread-onlyList trusted publishing configurations for a package. Shows OIDC trust relationships with CI/CD providers (GitHub Actions, GitLab CI, CircleCI) that allow tokenless publishing. Requires authentication with write access to the package.
npm_typesCheck TypeScript typesread-onlyCheck TypeScript type support for a package — whether it ships built-in types (types/typings field) or has a DefinitelyTyped companion (@types/* package).
npm_undeprecateUndeprecate packagecan change or delete dataClear the deprecation message from a package or specific versions. Equivalent to npm_deprecate with an empty message but more explicit about intent.
npm_unpublish_packageUnpublish entire packagecan change or delete dataUnpublish an ENTIRE package (all versions). DELETE /{pkg}/-rev/{rev}. IRREVERSIBLE: the name is blocked for 72 hours and cannot be re-published. For single-version unpublish prefer npm_unpublish_version. Requires confirm: true.
npm_unpublish_versionUnpublish versioncan change or delete dataUnpublish a specific version of a package. IRREVERSIBLE: once unpublished, the version cannot be re-published and will be blocked for 72 hours. Only works within 72 hours of the original publish for most packages. Requires explicit confirm: true to prevent accidents. Follows the npm CLI flow (mutate packument + delete tarball). For full-package unpublish use npm_unpublish_package. Dist-tag handling: any dist-tag that pointed at the unpublished version is removed. Only `latest` is auto-reassigned (to the highest remaining stable version). Other tags like `next`/`beta` are left unset — reassign …
npm_user_packagesList user packagesread-onlyList all packages published by a specific npm user. Shows package names and the user's access level for each. Requires authentication.
npm_verify_tokenVerify token capabilitiesread-onlyVerify the NPM_TOKEN and surface its capabilities — username, 2FA status, and whether writes are likely to succeed. Call this FIRST when debugging any write failure to rule out auth issues before trying other fixes. Faster than running writes and interpreting 401/403 errors.
npm_versionGet version detailsread-onlyGet detailed metadata for a specific version — dependencies, dist info, file count, size, deprecation status.
npm_version_downloadsPer-version downloadsread-onlyGet download counts broken down by version for the last week. Shows version adoption.
npm_versionsList versionsread-onlyList published versions of a package with their publish dates, ordered newest first. Returns up to `limit` versions (default 50). Set limit=0 to return all.
npm_whoamiCheck npm authread-onlyCheck the currently authenticated npm user. Verifies the NPM_TOKEN is valid and returns the associated username. Essential for debugging auth issues before publishing.
Compare and alternatives
Featured in
Signals
- Stars
- 2
- Forks
- 1
- Open issues
- 0
- Last commit
- Oct 15, 2026 (13 days ago)
- Last release
- Oct 9, 2026 (19 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- Registry name
io.github.YawLabs/npmjs-mcp- Version
- 0.17.0
- Auth
- No auth
- Packages
- npm @yawlabs/npmjs-mcp
- License
- MIT
- Repository
- github.com/YawLabs/npmjs-mcp
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
More from YawLabs
- 0.665score
Tailscale MCP Server
YawLabs
Tailscale MCP server for managing your tailnet from AI assistants
ConnectorAFreshness: ALocal★ 34Claude Code +5 - 0.648score
ctxlint
YawLabs
Lint AI agent context files (CLAUDE.md, AGENTS.md, etc.) against your actual codebase
ConnectorAFreshness: ALocal★ 11Claude Code +5 - 0.646score
PostgreSQL MCP Server
YawLabs
PostgreSQL MCP server - query, schema introspection, explain, and health checks for AI assistants
ConnectorAFreshness: ALocal★ 10Claude Code +5 - 0.636score
Caddy MCP Server
YawLabs
MCP server for managing Caddy web servers via the admin API
ConnectorAFreshness: ALocal★ 12Claude Code +5 - 0.634score
Yaw Labs AWS MCP
YawLabs
AWS MCP server — call any AWS API from AI assistants, with first-class SSO re-login
ConnectorAFreshness: ALocal★ 5Claude Code +5 - 0.630score
LemonSqueezy MCP Server
YawLabs
LemonSqueezy MCP server for managing your store from AI assistants
ConnectorAFreshness: ALocal★ 4Claude Code +5
Cite this page
npm Registry MCP Server. Agent Mart. https://agentmart.dev/connectors/yawlabs-npmjs-mcp (last updated 2026-10-24)