mcpField
L
license-sentinel

license-sentinel

ローカル
github.com/wgd5678法務・行政16 週間前に更新

license-sentinel について

license-sentinelは、AIコーディングエージェント向けにPythonとnpmの依存ライセンスを公開前に監査するMCPサーバーです。配布形態に応じてCLEAN、REVIEW、BLOCKを判定し、ローカルで動作してデータを送信しません。

主な機能

  1. 01Pythonとnpmの依存関係をスキャン
  2. 02配布形態に応じてライセンスリスクを判定
  3. 03指定パッケージやライセンス表記を確認
  4. 04サードパーティ帰属表示を生成
  5. 05公開前レビュー用プロンプトを提供

活用シーン

  1. 01公開前の依存ライセンス監査
  2. 02インストール前のパッケージ確認
  3. 03引き渡し用のサードパーティ表示作成

MCP 対応

MCPクライアントにプロジェクト監査、パッケージ確認、表示文書生成のツールと、公開前レビュー用プロンプトを提供します。スキャンはネットワーク通信なしで、stdio経由でローカル実行されます。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"wgd5678-license-sentinel": {
"command": "uvx",
"args": [
"license-sentinel"
]
}
}
}
起動コマンドuvx license-sentinel

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

パッケージ
pypilicense-sentinel0.1.0

ツール

3

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

パラメーター型必須説明
pathstringいいえ
contextstringいいえ

詳細

license-sentinel

wgd5678/license-sentinel MCP server

リリース前に Python と npm の依存関係のライセンスを監査して、コンプライアンスを確認できます — AI コーディングエージェント向けの MCP サーバーです。

AI エージェントは、1 秒でプロジェクトに pdf-renderer を追加できます。しかし、pdf-renderer が AGPL-3.0 であり、クローズドソース製品に組み込んでリリースするとライセンス違反になることは教えてくれません。ライセンス情報や互換性ルールをモデルが確実に記憶しているとは限りません。パッケージはバージョン間でライセンスを変更することがあり(MongoDB → SSPL、Redis → BUSL、Elasticsearch → Elastic-2.0)、「ソースコードが GitHub にある」からといって「自由にリリースできる」とは限りません。

license-sentinel は、実際にディスク上にあるものを読み取り、あなたの製品の配布方法に照らして判定します。

  • Python と npm を一度に確認できます — 混在するスタックの両方を一度のスキャンで確認します。
  • stdio 経由でローカル実行します。ネットワーク呼び出しもテレメトリもなく、何もマシンの外に送信されません。
  • 生データではなく判定結果を返します:CLEAN / REVIEW / BLOCK。それぞれの理由を平易な言葉で説明します。

ツール

ツール機能
audit_project(path, context)プロジェクトの依存関係をスキャンし、件数と、理由付きのすべての BLOCKING および REVIEW 項目を返します。
check_package(names, context)インストール前に、特定のパッケージや不明瞭なライセンス文字列を確認します。AGPL-3.0、BUSL-1.1、GPLv3、Apache License 2.0、MIT OR Apache-2.0 を受け付けます。
generate_notices(path, output)クライアントへの引き渡し用に、帰属表示をまとめた THIRD-PARTY-NOTICES.md を作成します。

監査をリリース可否のレビューにつなげる pre_release_license_review プロンプトもあります。

インストール

# run without installing (recommended)
uvx --from license-sentinel license-sentinel

# or install
uv pip install license-sentinel
# or
pip install license-sentinel

クライアントの設定

Claude Desktop / Cursor / Windsurf / VS Code Copilot / Zed はすべて同じ形式を読み込みます:

{
  "mcpServers": {
    "license-sentinel": {
      "command": "uvx",
      "args": ["--from", "license-sentinel", "license-sentinel"]
    }
  }
}

pip でインストールした場合は、args を指定せずに "command": "license-sentinel" を使用してください。 クライアントを再起動すると、3 つのツールが表示されます。

配布コンテキスト

同じ依存関係でも、コンテキストによって問題ない場合と致命的な場合があるため、すべてのツールで context 引数を指定します:

コンテキスト意味ブロック対象
proprietary(デフォルト)配布するクローズドソース製品GPL/AGPL/SSPL、BUSL/Elastic、非商用
saas-backend配布せず、自社サーバー上でのみ実行AGPL/SSPL(ネットワーク利用時のトリガー)、BUSL/Elastic
permissive自身のプロジェクトが MIT/Apache/BSDライセンス条件を汚染するコピーレフト
copyleft-ok自身のプロジェクトが GPL 系ソース利用可能および非商用のみ

読み取り対象

  • Python:インストール済みパッケージの .venv/ / venv/ / env/(dist-info/METADATA)、requirements.txt、pyproject.toml(PEP 621、poetry、dependency-groups)
  • npm:node_modules/*/package.json(スコープ付きパッケージを含む)、package.json の依存関係

依存関係が宣言されていてもインストールされていない場合、黙って除外せず、ライセンスを UNKNOWN として報告します。ライセンスが指定されていない依存関係は、デフォルトですべての権利が留保されています。

プライバシー

このパッケージでは、HTTP クライアントを一切インポートしていません。スキャンは読み取り専用です(generate_notices は指定されたファイルを書き込みます)。何もアップロードされません。

制限事項

  • 法的助言ではありません。重大なミスをすばやく検出するための一次チェックです。指摘された項目は弁護士に確認してもらってください。
  • 推移的依存関係は、インストール済みのものから読み取ります。.venv と node_modules がない場合、宣言されているだけの依存関係は UNKNOWN として扱われます。
  • サーバーを実行している現在の環境はスキャンされないため、サーバー自身のパッケージがレポートに混入することはありません。これを変更するには、LICENSE_SENTINEL_SCAN_CURRENT_ENV=1 を設定してください。

開発

uv sync
python tests/smoke_test.py     # 9 tests, no pytest needed
python tests/e2e_check.py      # calls the tools end to end

ライセンス

MIT

コメント

MCP は初めてですか?

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

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