
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 分