Token导航 LogoToken导航TokenDH.com
License Check logo
开发工具stdio官方级别未说明来源级核验

License Check

MCP Server

license-check

用于检测软件许可证并根据组织策略检查兼容性的MCP服务器,生成合规文档的NOTICE文件摘要。

工具数

3

提示词数

0

GitHub Stars

0

资源数

0
TypeScript开发工具命令行工具

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

BUZDOLAPCI

提供方

BUZDOLAPCI

最后核验

2026/5/17 20:22

运行时

Node.js

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

npx license-check

详细介绍

@dedalus/许可证检查

MCP服务器,用于检测软件许可证并检查与组织策略的兼容性。为合规性文档生成通知文件摘要。

特性

  • 许可证检测:从依赖元数据或LICENSE文件内容中识别许可证
  • 兼容性检查:根据可配置策略(允许/拒绝列表、copyleft限制)验证许可证
  • 通知生成:生成合规文档的标准化通知文件
  • SPDX合规性:全程使用SPDX许可证标识符
  • 双重运输:支持stdio(MCP协议)和HTTP(REST API)传输

安装

npm install @dedalus/license-check

快速开始

作为MCP服务器(stdio)

# Start with default stdio transport
npx license-check

# Or explicitly
npx license-check --transport stdio

作为HTTP服务器

# Start HTTP server on port 3000
npx license-check --transport http

# Custom port
npx license-check --transport http --port 8080

工具

检测许可证

从依赖关系列表或文件内容中检测许可证。

输入选项:

{
  "dependencies": [
    { "name": "lodash", "version": "4.17.21", "license_id": "MIT" },
    { "name": "custom-pkg", "license_text": "MIT License\n\nPermission is hereby granted..." }
  ]
}

或从文件:

{
  "files": [
    { "filename": "LICENSE", "content": "Apache License, Version 2.0..." }
  ]
}

输出:

{
  "ok": true,
  "data": {
    "detected": [
      {
        "name": "lodash",
        "version": "4.17.21",
        "license_id": "MIT",
        "confidence": "high",
        "source": "dependency_metadata"
      }
    ]
  },
  "meta": {
    "source": "license-check",
    "retrieved_at": "2024-01-15T10:30:00.000Z",
    "pagination": { "next_cursor": null }
  }
}

检查兼容性

检查检测到的许可证是否与目标策略兼容。

输入:

{
  "licenses": [
    { "name": "lodash", "license_id": "MIT" },
    { "name": "gpl-lib", "license_id": "GPL-3.0-only" }
  ],
  "policy": {
    "allowed": ["MIT", "Apache-2.0", "ISC", "BSD-3-Clause"],
    "denied": ["AGPL-3.0-only"],
    "copyleft_ok": false
  }
}

输出:

{
  "ok": true,
  "data": {
    "compatible": false,
    "violations": [
      {
        "name": "gpl-lib",
        "license_id": "GPL-3.0-only",
        "reason": "License \"GPL-3.0-only\" is a copyleft license and copyleft_ok is false"
      }
    ],
    "warnings": []
  },
  "meta": {
    "source": "license-check",
    "retrieved_at": "2024-01-15T10:30:00.000Z"
  }
}

生成通知

生成一个通知文件内容,总结所有许可证和归属。

输入:

{
  "licenses": [
    {
      "name": "lodash",
      "version": "4.17.21",
      "license_id": "MIT",
      "copyright": "Copyright JS Foundation",
      "url": "https://github.com/lodash/lodash"
    }
  ],
  "project_name": "MyProject"
}

输出:

{
  "ok": true,
  "data": {
    "notice_text": "==============================================================================\nNOTICE file for MyProject\n..."
  },
  "meta": {
    "source": "license-check",
    "retrieved_at": "2024-01-15T10:30:00.000Z"
  }
}

HTTP API终结点

使用HTTP传输运行时:

端点方法描述
/healthGET健康检查
/toolsGET列出可用工具
/tools/:toolNamePOST执行工具

例子:

# List tools
curl http://localhost:3000/tools

# Detect licenses
curl -X POST http://localhost:3000/tools/detect_licenses \
  -H "Content-Type: application/json" \
  -d '{"dependencies": [{"name": "lodash", "license_id": "MIT"}]}'

配置

环境变量

变量默认值描述
LICENSE_CHECK_TRANSPORTstdio运输类型: stdiohttp
LICENSE_CHECK_PORT3000HTTP服务器端口
LICENSE_CHECK_HOST127.0.0.1HTTP服务器主机
LICENSE_CHECK_LOG_LEVELinfo日志级别: debug, info, warn, error

CLI选项

-t, --transport   Transport type: stdio (default) or http
-p, --port 
       HTTP port (default: 3000)
-h, --host        HTTP host (default: 127.0.0.1)
--help                  Show help message
-v, --version           Show version number

支持的许可证

服务器识别以下SPDX许可证标识符:

  • 宽松的:麻省理工学院、Apache-2.0、BSD-2条款、BSD-3条款、ISC、0BSD、无许可、CC0-1.0、Zlib、BSL-1.0
  • 著佐权:仅GPL-2.0、仅GPL-3.0、仅LGPL-2.1、仅LGPL-3.0、仅AGPL-3.0、MPL-2.0、EPL-2.0
  • 知识共享:CC-BY-4.0,CC-BY-SA-4.0
  • 其他:Artistic-2.0,WTFPL,CDDL-1.0

启发式和局限性

许可证检测

  • 使用正则表达式模式匹配进行许可证文本分析
  • 可能无法检测到非标准或严重修改的许可证文本
  • 置信度表示检测可靠性:

- high:完整许可证标题/文本匹配 - medium:检测到部分匹配或常见短语 - low:只找到许可证名称关键字或未知许可证

  • 不验证许可证文本的完整性
  • SPDX复合表达式(例如“MIT OR Apache-2.0”)未完全解析

兼容性检查

  • 不执行许可证之间的完整许可证兼容性分析
  • 不解析SPDX表达式运算符(OR、AND、WITH)
  • 假设使用简单的许可证标识符,而不是复合表达式
  • 使用允许列表时,“未知”许可证被标记为违规

响应信封

所有工具均以标准Dedalus信封格式返回响应:

成功:

{
  "ok": true,
  "data": {},
  "meta": {
    "source": "license-check",
    "retrieved_at": "ISO-8601 timestamp",
    "pagination": { "next_cursor": null },
    "warnings": []
  }
}

错误:

{
  "ok": false,
  "error": {
    "code": "INVALID_INPUT | INTERNAL_ERROR | ...",
    "message": "human readable message",
    "details": {}
  },
  "meta": {
    "retrieved_at": "ISO-8601 timestamp"
  }
}

发展

# Install dependencies
npm install

# Build
npm run build

# Run tests
npm test

# Run tests with coverage
npm run test:coverage

# Development mode (watch)
npm run dev

许可证

麻省理工学院

目录标签

目录标签

TypeScript开发工具命令行工具许可证检测本地部署合规检查NOTICE文件生成SPDX合规

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Node.js

来源包(packageName,安装包名)

license-check

工具数量(toolCount,工具数)

3

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP