mcpField
N
npm

npm

ローカル
github.com/mikusnuz開発ツール12 週間前に更新

npm について

npm-mcpは、AIアシスタントやMCPクライアントからnpmパッケージを管理するMCPサーバーです。公開、依存関係の保守、セキュリティ確認、アカウント設定を開発環境内で実行できます。

主な機能

  1. 01パッケージの公開・ステージング・バージョン管理
  2. 02パッケージ検索と詳細確認
  3. 03依存関係のインストールと保守
  4. 04監査とSBOMの生成
  5. 05アカウント・アクセス権・設定の管理

活用シーン

  1. 01プロジェクトからnpmパッケージを公開
  2. 02古い依存関係を調べて更新
  3. 03依存関係を監査してSBOMを生成
  4. 04パッケージを検索してバージョンを確認

MCP 対応

MCPサーバーとして、npmパッケージの公開、バージョンや依存関係の管理、セキュリティ診断、アカウント設定のツールをMCPクライアントに提供します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"mikusnuz-npm": {
"command": "npx",
"args": [
"-y",
"@mikusnuz/npm-mcp"
],
"env": {
"NPM_TOKEN": "<NPM_TOKEN>"
}
}
}
}
起動コマンドnpx -y @mikusnuz/npm-mcp
設定が必要な環境変数
NPM_TOKENシークレットnpm granular access token; stage-only tokens use the stage tool

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npm@mikusnuz/npm-mcp1.4.0

ツール

39

掲載時のツール一覧 · 2 週間前に更新

パラメーター型必須説明
otpstringいいえ2FA のワンタイムパスワード
tagstringいいえDist-tag(デフォルト:latest)
pathstringはいパッケージディレクトリの絶対パス
accessenumいいえスコープ付きパッケージのアクセスレベルpublic | restricted
dryRunbooleanいいえ実際には公開せずに公開処理を実行します

詳細

English | 한국어 | 中文 | 日本語

npm-mcp

npm version MCP Badge

AI アシスタントが npm パッケージを管理できる MCP サーバーです。Claude Code または任意の MCP クライアントを通じて、公開、バージョン管理、検索、監査、インストールなどを行えます。

MCP サーバーには Node.js 20 以降が必要です。個々の npm CLI 機能で、以下に記載のとおり、より新しい Node.js/npm の組み合わせが必要になる場合があります。

使用する場面

タスクツール
「このパッケージを npm に公開して」publish
「古くなった依存関係を確認して」outdated
「パッケージのセキュリティ監査を実行して」audit
「npm で認証ライブラリを検索して」search
「バージョンを上げて公開して」version の後に publish
「この npm パッケージの所有者を確認して」owner
「パッケージのダウンロード統計を表示して」view

AI エージェント向け: 機械可読な概要については、llms.txt を参照してください。エージェントにこの MCP について教えるには、templates/CLAUDE.md または templates/AGENTS.md をプロジェクトにコピーしてください。

理由

Claude Code でライブラリを開発しています。コードを書き終え、次は公開する必要があります。ターミナルに切り替える代わりに、次のようにします。

You: publish this package to npm with public access
Claude: [calls publish tool] Published @yourorg/[email protected] successfully

これだけです。コンテキストを切り替える必要はありません。

セットアップ

1. インストール
git clone https://github.com/mikusnuz/npm-mcp.git
cd npm-mcp
npm install
npm run build
2. npm トークンを取得

npmjs.com > Account > Access Tokens に移動し、必要なパッケージへのアクセス権を持つ granular access token を作成してください。Classic トークンと Automation トークンはサポートされなくなりました。ステージング専用のトークンでは、以下の stage ワークフローを使用します。既存の npm login 認証情報も使用できます。

3. Claude Code に追加

~/.claude/settings.json を編集します。

{
  "mcpServers": {
    "npm-mcp": {
      "command": "node",
      "args": ["/path/to/npm-mcp/dist/index.js"],
      "env": {
        "NPM_TOKEN": "npm_xxxxxxxxxxxx"
      }
    }
  }
}

または、すでにローカルで npm login を実行している場合は、NPM_TOKEN を省略してください。自動的に ~/.npmrc が使用されます。

ツール

公開とバージョン管理
ツール説明
publishパッケージを npm レジストリに公開します
stage保留中のパッケージバージョンをステージング、一覧表示、検査、ダウンロード、承認、または却下します
versionパッケージのバージョンを上げます(patch/minor/major/pre*)
unpublishパッケージのバージョンを削除します
deprecateバージョンを非推奨にします(空のメッセージで非推奨を解除)
pack公開される内容をプレビューします
パッケージ情報
ツール説明
viewレジストリからパッケージ情報を表示します
searchnpm レジストリを検索します
bugsパッケージのバグトラッカー URL を取得します
repoパッケージのリポジトリ URL を取得します
docsパッケージのドキュメント URL を取得します
diffパッケージのバージョン間の差分を表示します
依存関係の管理
ツール説明
installパッケージをインストールします
pending-scriptsポリシーを変更せずに、未レビューの依存関係インストールスクリプトを一覧表示します(npm 12+)
approve-scripts名前を指定したレビュー済みの依存関係を、バージョンを固定して承認します(npm 12+)
deny-scripts名前を指定した依存関係のインストールスクリプトを、すべてのバージョンで拒否します(npm 12+)
uninstallパッケージを削除します
updateパッケージを最新の semver 互換バージョンに更新します
outdated古くなったパッケージを確認します
lsインストール済みパッケージを一覧表示します
explainパッケージがインストールされている理由を説明します
dedupe依存関係ツリー内の重複を減らします
prune不要なパッケージを削除します
fund依存関係の資金援助情報を表示します
queryCSS のようなセレクターを使ってパッケージを検索します
セキュリティと診断

npm 12 では、承認されていない依存関係のインストールスクリプトがブロックされます。絶対パスのプロジェクト path を指定して pending-scripts を呼び出し、パッケージを確認したうえで、明示的なパッケージ名を approve-scripts または deny-scripts に渡してください。これらのコマンドはスクリプトを実行せずにポリシーを更新します。対象のインストールやビルドは、別途あらためて実行してください。一括承認のオプションはありません。信頼できる解決済みバージョンがある場合、npm は承認をそのバージョンに固定します。古いロックファイルのために名前のみの承認が必要になる場合は、警告を確認してください。グローバルインストールの場合に限り、install.allowScripts に確認済みの名前を明示的に指定できます。古い npm バージョンはこれらのオプションをサポートしていません。NPM_PATH を使って npm 12 以降を選択してください。npm スクリプトの承認を参照してください。

ツール説明
auditセキュリティ監査を実行します(自動修正は任意)
sbomソフトウェア部品表(CycloneDX/SPDX)を生成します
doctornpm 環境の状態を確認します
pingレジストリへの接続を確認します
設定と認証
ツール説明
whoami現在認証されているユーザーを確認します
tokenアクセストークンを管理します(一覧表示/失効)
accessパッケージのアクセスレベルを設定または表示します
ownerパッケージの所有者を管理します(ls/add/rm)
dist-tag配布タグを管理します(ls/add/rm)
profilenpm のプロフィール設定を表示または変更します
confignpm の設定を表示します(読み取り専用)
プロジェクトのセットアップ
ツール説明
init新しい package.json を初期化します
pkgpackage.json のフィールドをプログラムで管理します
ciロックファイルからクリーンインストールします(CI 用)
run-scriptpackage.json で定義されたスクリプトを実行します
link開発用にローカルパッケージをシンボリックリンクします
cachenpm キャッシュを管理します

使用例

スコープ付きパッケージを公開する:

publish({ path: "/home/user/my-lib", access: "public" })

バージョンを上げて公開する:

version({ path: "/home/user/my-lib", bump: "patch" })
publish({ path: "/home/user/my-lib" })

公開前に内容を確認する:

pack({ path: "/home/user/my-lib", dryRun: true })

既存のパッケージを検索する:

search({ query: "react state management", limit: 5 })

パッケージの詳細を表示する:

view({ package: "@yourorg/lib", field: "versions" })

パッケージをインストールする:

install({ path: "/home/user/my-app", packages: ["express", "cors"], saveDev: false })

更新が必要な依存関係を確認する:

outdated({ path: "/home/user/my-app" })

バージョンを比較する:

diff({ specs: ["[email protected]", "[email protected]"] })

SBOM を生成する:

sbom({ path: "/home/user/my-app", format: "spdx", production: true })

依存関係を照会する:

query({ path: "/home/user/my-app", selector: ":root > .prod" })

認証

段階的な公開

段階的な公開には npm CLI 11.15.0 以降と Node.js 22.14.0 以降が必要です。npm stage --help を確認してください。別の npm インストールを選択するには NPM_PATH を使用できます。段階的な公開の前提条件を参照してください。

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" })

ステージングではパッケージは公開されません。公開されるのは承認後です。 承認と却下には、メンテナーの 2FA が必要です。dryRun が適用されるのは、 action: "publish" を指定した stage の場合のみです。 ステージング専用トークンで直接公開すると、E_STAGE_REQUIRED が返されます。 npm は 2027 年 1 月に、詳細な権限を持つトークンでの直接公開を廃止する予定です。 npm のステージングと トークンの要件を参照してください。

pkg は JSON 値を直接受け取ります。value: "my-package"、value: true、 value: ["keyword"]、または value: { test: "node --test" } のように指定します。 文字列は文字列のまま渡してください。配列やオブジェクトを文字列化してから渡してはいけません。

方法手順
NPM_TOKEN(推奨)MCP 設定で環境変数 NPM_TOKEN を設定します。トークンは npmjs.com の「Access Tokens」から取得します
npm loginまずターミナルで npm login を実行します。~/.npmrc に保存されたトークンが自動的に使用されます

npm で 2FA が求められる場合は、ステージングの承認/却下や、パッケージのメンテナーまたはトークンの変更も含め、otp を渡してください。2026 年 8 月以降、2FA 回避トークンではアカウントやガバナンスに関する操作の二要素認証を回避できません。トークンには有効期限があります。必要に応じて設定済みのトークンを更新するか、npm login でローカルの認証情報を更新してください。

環境変数

変数デフォルト説明
NPM_TOKEN--npm 認証トークン
NPM_PATHnpmnpm バイナリへのパス(PATH にない場合)

ライセンス

MIT

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。