Context7
Up-to-date docs for AI agents
作者による説明(英語の原文)
MCP server for npm package management — publish, version, search, audit, and more
この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。
このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。
使っているAIアプリを選んで、設定をコピーしてください。
NPM_TOKEN「秘密」と表示された値は、あなたのアカウントの鍵です。絶対に人に教えたり、チャットに貼り付けたりしないでください。
必要なもの
どのアプリを使っていますか?
上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。
Claude Desktop → Settings → Developer → Edit Config を開き、claude_desktop_config.json にこれを貼り付けます
{
"mcpServers": {
"npm": {
"command": "npx",
"args": [
"-y",
"@mikusnuz/npm-mcp"
],
"env": {
"NPM_TOKEN": "your-value"
}
}
}
}ターミナルでこれを実行します
claude mcp add npm --env NPM_TOKEN=your-value -- npx -y @mikusnuz/npm-mcp動かす前に、空欄の値を入力してください。
プロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます
{
"mcpServers": {
"npm": {
"command": "npx",
"args": [
"-y",
"@mikusnuz/npm-mcp"
],
"env": {
"NPM_TOKEN": "your-value"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
プロジェクトの .vscode/mcp.json に貼り付けます
{
"servers": {
"npm": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@mikusnuz/npm-mcp"
],
"env": {
"NPM_TOKEN": "your-value"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
これはパソコンで動くサーバーですが、ChatGPTがつなげるのはインターネット上のサーバーだけです。ほかのアプリを選んでください。
選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。
この設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。
パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。
誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月7日にチェック
レジストリ名は、リポジトリを所有するGitHubアカウント mikusnuz で確認済みです
このリポジトリはまだGitHubから読み取っていません
このリポジトリはまだGitHubから読み取っていません
これはパソコンで動くため、インターネット上のエンドポイントはありません
パソコンで動き、代わりにローカルの設定を使います
パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです
レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。
当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。
入力が必要なもの:NPM_TOKEN
あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。
GitHubリポジトリの最終更新は–、最新バージョン(1.4.0)がレジストリに届いたのは18 日前です。
Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにNode.jsも必要です。
同じカテゴリには:Context7, Codebase Memory, Exa
同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。
カードの見方:★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i
Up-to-date docs for AI agents
Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.
Connect AI agents to Exa for web search, content fetching, and multi-step research.
作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。
English | 한국어 | 中文 | 日本語
MCP server that lets AI assistants manage npm packages. Publish, version, search, audit, install, and more -- all through Claude Code or any MCP client.
The MCP server requires Node.js 20 or newer. Individual npm CLI features may require a newer Node.js/npm combination as noted below.
| Task | Tool |
|---|---|
| "Publish this package to npm" | publish |
| "Check for outdated dependencies" | outdated |
| "Run a security audit on my packages" | audit |
| "Search npm for authentication libraries" | search |
| "Bump the version and publish" | version then publish |
| "Check who owns this npm package" | owner |
| "View download stats for my package" | view |
For AI agents: See
llms.txtfor a machine-readable summary. Copytemplates/CLAUDE.mdortemplates/AGENTS.mdinto your project to teach your agent about this MCP.
You're in Claude Code building a library. You finish the code, and now you need to publish it. Instead of switching to a terminal:
You: publish this package to npm with public access
Claude: [calls publish tool] Published @yourorg/lib@1.0.0 successfully
That's it. No context switching.
git clone https://github.com/mikusnuz/npm-mcp.git
cd npm-mcp npm install npm run build
Go to npmjs.com > Account > Access Tokens and create a granular access token with access to the packages you need. Classic and Automation tokens are no longer supported. A stage-only token uses the stage workflow below. Existing npm login credentials also work.
Edit ~/.claude/settings.json:
{
"mcpServers": { "npm-mcp": { "command": "node", "args": ["/path/to/npm-mcp/dist/index.js"], "env": { "NPM_TOKEN": "npm_xxxxxxxxxxxx" } } } }
Or if you've already run npm login locally, skip NPM_TOKEN -- it uses your ~/.npmrc automatically.
| Tool | Description |
|---|---|
publish | Publish a package to npm registry |
stage | Stage, list, inspect, download, approve, or reject a pending package version |
version | Bump package version (patch/minor/major/pre*) |
unpublish | Remove a package version |
deprecate | Deprecate a version (or undeprecate with empty message) |
pack | Preview what would be published |
| Tool | Description |
|---|---|
view | View package info from registry |
search | Search npm registry |
bugs | Get bug tracker URL for a package |
repo | Get repository URL for a package |
docs | Get documentation URL for a package |
diff | Show diff between package versions |
| Tool | Description |
|---|---|
install | Install packages |
pending-scripts | List unreviewed dependency install scripts without changing policy (npm 12+) |
approve-scripts | Approve named, reviewed dependencies with version pinning (npm 12+) |
deny-scripts | Deny install scripts for named dependencies across versions (npm 12+) |
uninstall | Remove packages |
update | Update packages to latest semver-compatible version |
outdated | Check for outdated packages |
ls | List installed packages |
explain | Explain why a package is installed |
dedupe | Reduce duplication in dependency tree |
prune | Remove extraneous packages |
fund | Show funding info for dependencies |
query | Query packages using CSS-like selectors |
npm 12 blocks unapproved dependency install scripts. Call pending-scripts with an absolute project path, review the packages, then pass explicit package names to approve-scripts or deny-scripts. These commands update policy without running scripts; rerun the intended install/build separately. There is no bulk approval option. npm pins approvals when a trusted resolved version is available; check its warnings if an older lockfile forces a name-only approval. For global installs only, install.allowScripts accepts an explicit list of reviewed names. Older npm versions do not support these options; select npm 12+ using NPM_PATH. See npm script approval.
| Tool | Description |
|---|---|
audit | Run security audit (with optional auto-fix) |
sbom | Generate Software Bill of Materials (CycloneDX/SPDX) |
doctor | Check npm environment health |
ping | Check registry connectivity |
| Tool | Description |
|---|---|
whoami | Check current authenticated user |
token | Manage access tokens (list/revoke) |
access | Set or view access level on packages |
owner | Manage package owners (ls/add/rm) |
dist-tag | Manage distribution tags (ls/add/rm) |
profile | View or modify npm profile settings |
config | View npm configuration (read-only) |
| Tool | Description |
|---|---|
init | Initialize a new package.json |
pkg | Manage package.json fields programmatically |
ci | Clean install from lockfile (for CI) |
run-script | Run scripts defined in package.json |
link | Symlink a local package for development |
cache | Manage the npm cache |
Publish a scoped package:
publish({ path: "/home/user/my-lib", access: "public" })
Bump version and publish:
version({ path: "/home/user/my-lib", bump: "patch" })
publish({ path: "/home/user/my-lib" })
Check what's inside before publishing:
pack({ path: "/home/user/my-lib", dryRun: true })
Search for existing packages:
search({ query: "react state management", limit: 5 })
View package details:
view({ package: "@yourorg/lib", field: "versions" })
Install packages:
install({ path: "/home/user/my-app", packages: ["express", "cors"], saveDev: false })
Check outdated dependencies:
outdated({ path: "/home/user/my-app" })
Compare versions:
diff({ specs: ["lodash@4.17.20", "lodash@4.17.21"] })
Generate SBOM:
sbom({ path: "/home/user/my-app", format: "spdx", production: true })
Query dependencies:
query({ path: "/home/user/my-app", selector: ":root > .prod" })
Staged publishing requires npm CLI 11.15.0 or later and Node.js 22.14.0 or later. Check npm stage --help; NPM_PATH can select a separate npm installation. See the staged publishing prerequisites.
stage({ action: "publish", path: "/home/user/my-lib", access: "public" })
stage({ action: "list", package: "@yourorg/lib" }) stage({ action: "view", stageId: "returned-stage-id" }) stage({ action: "download", stageId: "returned-stage-id", path: "/home/user/review" }) stage({ action: "approve", stageId: "returned-stage-id", otp: "123456" }) // Or reject the staged version: stage({ action: "reject", stageId: "returned-stage-id", otp: "123456" })
Staging does not publish the package; approval does. Approval and rejection require maintainer 2FA. dryRun applies only to stage with action: "publish". A direct publish with a stage-only token returns E_STAGE_REQUIRED. npm plans to remove direct publishing with granular tokens in January 2027. See npm staging and token requirements.
pkg accepts JSON values directly: value: "my-package", value: true, value: ["keyword"], or value: { test: "node --test" }. Strings stay strings; do not stringify arrays or objects before passing them.
| Method | How |
|---|---|
| NPM_TOKEN (recommended) | Set NPM_TOKEN env var in MCP config. Get token from npmjs.com > Access Tokens |
| npm login | Run npm login in terminal first. Token saved in ~/.npmrc is used automatically |
Pass otp when npm requires 2FA, including staged approval/rejection and package maintainer or token changes. Since August 2026, bypass-2FA tokens cannot bypass the second factor for account or governance operations. Tokens expire; renew the configured token when needed or refresh local credentials with npm login.
| Variable | Default | Description |
|---|---|---|
NPM_TOKEN | -- | npm authentication token |
NPM_PATH | npm | Path to npm binary (if not in PATH) |
MIT