
License Sentinel
io.github.wgd5678由 GitHub 帳號 wgd5678 發布v0.1.0更新於 Oct 24, 2026
Audit Python and npm dependency licenses before you ship, judged against how you distribute.
概覽
在出貨前稽核 Python 與 npm 相依套件的授權條款,並依你的散布方式做出判斷。
- 可以做什麼
- License Sentinel 是一個本機 MCP 伺服器,用來檢查 Python 與 npm 相依套件的授權條款。根據其登錄檔描述,它會在出貨前稽核這些授權條款,並依你的軟體散布方式做出判斷。未公布工具清單,因此具體指令與輸出格式在此並未說明。
- 適用情境
- 當你需要審查 Python 或 npm 專案中的第三方相依套件授權條款時適合使用,例如在發布前或散布條款變更時。它鎖定與散布模式相關的授權合規檢查。
- 執行需求
- 透過 stdio 以本機程序執行,從 PyPI 套件 license-sentinel 安裝,因此需要 Python 環境。未宣告任何驗證、環境變數或標頭。僅限桌面端,沒有網頁可執行版本。
安裝
在 SourceWeft 中
- 開啟 儀表板中的 License Sentinel,將其新增到工作區。
- 為需要使用其工具的對話啟用該服務。
Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。
其他 MCP 客戶端
參照 儲存庫 中的啟動說明。
README
license-sentinel
[wgd5678/license-sentinel MCP server]
Audit Python and npm dependency licenses for compliance before you ship — an MCP server for AI coding agents.
An AI agent can add pdf-renderer to your project in one second. It will not tell you that
pdf-renderer is AGPL-3.0 and that shipping it inside a closed-source product is a license
violation. License data and compatibility rules are things a model cannot reliably recall —
packages relicense between versions (MongoDB → SSPL, Redis → BUSL, Elasticsearch → Elastic-2.0),
and "the source is on GitHub" does not mean "free to ship".
license-sentinel reads what is actually on your disk and judges it against how you
distribute your product.
- Works for Python and npm in one pass — one scan covers both halves of a mixed stack.
- Runs locally over stdio. No network calls, no telemetry, nothing leaves your machine.
- Verdicts, not raw data:
CLEAN/REVIEW/BLOCK, each with the reason in plain language.
Tools
There is also a pre_release_license_review prompt that chains the audit into a go/no-go review.
Install
Configure your client
Claude Desktop / Cursor / Windsurf / VS Code Copilot / Zed all read the same shape:
If you installed with pip instead, use "command": "license-sentinel" with no args.
Restart the client and the three tools appear.
Distribution context
The same dependency is fine in one context and fatal in another, so every tool takes a
context argument:
What it reads
- Python:
.venv//venv//env/installed packages (dist-info/METADATA),requirements.txt,pyproject.toml(PEP 621, poetry, dependency-groups) - npm:
node_modules/*/package.json(including scoped packages),package.jsondependencies
If a dependency is declared but not installed, it is reported with an UNKNOWN license rather
than silently dropped — an unlicensed dependency is all-rights-reserved by default.
Privacy
No HTTP client is imported anywhere in this package. The scan is read-only (except
generate_notices, which writes the file you name). Nothing is uploaded.
Limitations
- Not legal advice. It is a fast first pass that catches the expensive mistakes; have counsel review anything flagged.
- Transitive dependencies are read from what is installed. If you have no
.venvand nonode_modules, declared-only dependencies come backUNKNOWN. - The current environment running the server is never scanned, so the server's own packages
never pollute your report. Set
LICENSE_SENTINEL_SCAN_CURRENT_ENV=1to change that.
Development
License
MIT
來源:README.md,提交 a5fb21f
工具
0版本歷史
1- v0.1.0最新Sep 16, 2026
評分
已滿足適用檢查項的 50%
該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。
- 近 30 天內可連通25 分
請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。
- 已宣告認證方式10 分
請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。
- 已列出工具15 分
請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。
- 描述必需15 分
- 圖示10 分
- 文件15 分
- 授權條款10 分