license-compliance について
license-compliance は、npm 依存関係のライセンスを既定またはカスタムの SPDX ポリシーに照らして確認する MCP サーバーです。問題のあるパッケージの依存経路を追跡し、重大度別のレポートを作成します。
主な機能
- 01ポリシーに基づく npm 依存関係の確認
- 02既定ポリシーまたはカスタム SPDX 式の利用
- 03問題パッケージの依存経路の追跡
- 04重大度別の Markdown レポート生成
- 05SPDX ライセンスの条件とリスクの説明
活用シーン
- 01npm プロジェクトのライセンスポリシー違反の確認
- 02問題のあるライセンスが入った経路の追跡
- 03SPDX ライセンスの許可事項と制限の把握
MCP 対応
MCP クライアントに `check-licenses` と `explain-license` ツールを提供します。前者はプロジェクトのパスをスキャンしてポリシーへの適合状況を報告し、後者は SPDX ライセンスを説明します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
2掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| path | string | はい | プロジェクトルートの絶対パス(package.json と node_modules が必要) |
| policy | string | いいえ | ポリシーのプリセット("permissive"、"weak-copyleft"、"copyleft")またはカスタム SPDX 式(例:"(MIT OR Apache-2.0)") |
詳細
license-compliance-mcp
npm プロジェクトの依存関係をスキャンし、ライセンスコンプライアンス上の問題を検出する MCP サーバーです。コードを出荷する前に GPL の混入を検出できます。
ツール
check-licenses
プロジェクトの npm 依存関係をライセンスポリシーに照らしてスキャンし、詳細なコンプライアンスレポートを取得します。
パラメーター:
path(必須)— プロジェクトルートの絶対パスpolicy(任意、デフォルト値:"permissive")— ポリシープリセットまたはカスタム SPDX 式"permissive"— MIT、ISC、BSD、Apache-2.0 などのみ"weak-copyleft"— LGPL、MPL-2.0、EPL-2.0 を追加します"copyleft"— GPL、AGPL を追加します- カスタム:
"(MIT OR Apache-2.0)"— 有効な SPDX 式を指定できます
explain-license
任意の SPDX ライセンスについて、許可事項、条件、制限、互換性、注意点を平易な言葉で説明します。
パラメーター:
license(必須)— SPDX 識別子(例:"MIT"、"GPL-3.0-only"、"Apache-2.0")
インストール
Claude Code
claude mcp add license-compliance -- npx -y license-compliance-mcp
Claude Desktop / Cursor
設定ファイル(claude_desktop_config.json または .cursor/mcp.json)に追加します:
{
"mcpServers": {
"license-compliance": {
"command": "npx",
"args": ["-y", "license-compliance-mcp"]
}
}
}
仕組み
license-checker-rseidelsohnを使ってnode_modulesをスキャンしますspdx-correctを使ってライセンス文字列を有効な SPDX 形式に正規化しますspdx-satisfiesを使って各パッケージをポリシーに照らして評価します- 依存関係のチェーンをたどり、問題のあるパッケージがプロジェクトに取り込まれた経路を示します
- 重大度(重大 > 警告 > 情報)ごとにまとめた Markdown レポートを生成します
要件
- Node.js >= 18
- プロジェクトに
node_modulesがインストールされていること(npm install)
コメント
Markdown 対応
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。