mcpField
L
license-compliance

license-compliance

本地服务
github.com/bighippoman法律与政务034 周前更新

关于 license-compliance

license-compliance 是用于检查 npm 依赖许可证是否符合预设或自定义 SPDX 政策的 MCP 服务。它会追踪问题包的依赖链,并生成按严重程度分组的报告。

主要功能

  1. 01按许可证政策检查 npm 依赖
  2. 02使用预设政策或自定义 SPDX 表达式
  3. 03追踪违规包的依赖链
  4. 04生成按严重程度分组的 Markdown 报告
  5. 05说明 SPDX 许可证条款与风险

适用场景

  1. 01检查 npm 项目是否违反许可证政策
  2. 02追踪问题许可证如何进入项目
  3. 03了解 SPDX 许可证的权限与限制

MCP 相关

向 MCP 客户端提供 `check-licenses` 和 `explain-license` 工具。前者扫描项目路径并报告政策符合情况,后者解释 SPDX 许可证。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"bighippoman-license-compliance": {
"command": "npx",
"args": [
"-y",
"license-compliance-mcp"
]
}
}
}
启动命令npx -y license-compliance-mcp

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmlicense-compliance-mcp1.0.2

工具

2

收录的工具列表 · 更新于 2 周前

参数类型必填说明
pathstring是项目根目录的绝对路径(必须包含 package.json 和 node_modules)
policystring否策略预设("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"]
    }
  }
}

工作原理

  1. 使用 license-checker-rseidelsohn 扫描 node_modules
  2. 使用 spdx-correct 将许可证字符串规范化为有效的 SPDX 格式
  3. 使用 spdx-satisfies 根据政策评估每个软件包
  4. 追踪依赖链,展示问题软件包是如何进入项目的
  5. 生成按严重程度分组的 Markdown 报告(严重 > 警告 > 信息)

要求

  • Node.js >= 18
  • 项目必须已安装 node_modules(npm install)

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。