NetLicensing-MCP 是 Labs64 官方发布的 NetLicensing MCP 服务器,定位为自然语言接口,让具备智能体能力的应用能够在不编写任何 API 调用的情况下,管理 Labs64 NetLicensing 中的完整软件许可生命周期。它可与 Claude Desktop、GitHub Copilot(Agent 模式)、VS Code、JetBrains / IntelliJ IDEA 以及其他任何兼容 MCP 的客户端配合使用。
主要能力
自然语言许可管理:可让 AI 助手创建产品、发放许可证、验证权益并生成商店 URL,无需操作 NetLicensing 界面或编写 API 调用。
完整的 API 覆盖:提供横跨整个 NetLicensing REST API 的多种工具,涵盖产品、模块、模板、被许可方、许可证、捆绑包、令牌、交易和支付方式。
内置审计提示:提供五个可直接运行的提示模板,用于账户审计、到期扫描、异常检测和清理工作流。
默认安全:所有删除操作都暴露 force_cascade 选项,不会静默级联。
零依赖快速启动:可通过 uvx 或 Docker 运行,无需本地安装 Python。
可提出的问题示例
连接后,可以用自然语言与 NetLicensing 交互,例如:
- “列出我 NetLicensing 账户中的所有产品。”
- “为 customer@example.com 在产品 PTEST 下创建新的被许可方。”
- “验证被许可方 L001 的许可证——是否通过?”
- “为被许可方 L001 生成商店 URL,以便他们自助续订。”
- “哪些许可证将在未来 30 天内到期?”
- “找出没有任何有效许可证的被许可方——标记它们以便清理。”
- “将所有许可证从被许可方 L001 转移到 L002。”
- “创建一个只读访问范围的 API 密钥令牌。”
- “显示上个月的所有交易。”
安全默认设置
服务器按默认安全原则设计:
- 无静默凭据回退:如果未设置 NETLICENSING_API_KEY 且未显式启用 NETLICENSING_ALLOW_DEMO,服务器将拒绝启动(stdio 模式)或返回 503(HTTP 模式),而不是静默使用演示凭据。
- 脱敏层:每个工具响应都会经过脱敏过滤器。敏感字段(apiKey、licenseeSecret、nodeSecret、password、secret)会被掩码为部分形式(例如 s3c****ecret)。该字段集合可通过 MCP_REDACT_FIELDS 扩展。
- 一次性凭据:create_api_token 和 create_shop_token 会在响应中标记 "shown_once": true,让客户端知道该凭据不会再次完整显示。后续的 get_token / list_tokens 调用返回掩码值。
- 删除确认:所有破坏性操作都要求两步确认令牌流程;不会静默级联。
使用方式
可通过 uvx(无需安装)或 Docker 运行。具体安装命令、配置 JSON 与镜像名称在原始资料中未完整提供。
环境变量
NETLICENSING_API_KEY 与演示模式:如果既未设置 NETLICENSING_API_KEY,也未设置 NETLICENSING_ALLOW_DEMO=true,服务器将拒绝启动(stdio 模式)或对所有工具调用返回 503 Service Unavailable(HTTP 模式)。这防止在生产环境中意外使用演示凭据。
没有 API 密钥时:可设置 NETLICENSING_ALLOW_DEMO=true,使用 NetLicensing 内置沙箱和演示凭据运行,无需账户。服务器会在每个响应中标记 "demo_mode": true,并定期发出警告,以便始终明确当前未使用真实账户。
HTTP 部署注意事项(例如 AWS):在网络上以 HTTP 模式运行时,可以跳过在服务器上设置 NETLICENSING_API_KEY。如果连接客户端通过 X-NetLicensing-API-Key HTTP 头、Authorization: Bearer <key> 头或 ?apikey=<key> 查询参数提供密钥,MCP 服务器会按请求自动提取该密钥。
客户端配置
Claude Desktop
编辑 ~/Library/Application Support/Claude/claude_desktop_config.json(macOS)或 %APPDATA%\Claude\claude_desktop_config.json(Windows);也可使用官方 Docker 镜像。具体 JSON 配置块在原始资料中未提供。
VS Code / GitHub Copilot
仓库附带 .vscode/mcp.json,可自动配置 Copilot Agent 模式。在 shell 环境或 .env 文件中设置 NETLICENSING_API_KEY,然后点击 mcp.json 上方出现的编辑器横幅中的 Start。
JetBrains / IntelliJ IDEA
在 Copilot Chat → Agent 模式 → 工具图标 → Add More Tools… 中,粘贴与上文 Claude Desktop 部分相同的 JSON 块。
审计提示模板
提供五个内置提示,可在 Copilot Agent 和 Claude Desktop 中访问。具体提示内容在原始资料中未提供。
故障排除
- 检查 MCP 服务器日志
- 运行 MCP Inspector(浏览器 UI 位于 http://localhost:5173)
HTTP 模式(用于远程 / 共享部署)
使用 ngrok 或反向代理将 HTTP 端点暴露给远程 MCP 客户端。具体命令在原始资料中未提供。
云部署(AWS)
可将 MCP 服务器部署到 AWS,以获得远程 AI 智能体可连接的公共 HTTPS 端点。要使用共享的远程部署,不要将 NETLICENSING_API_KEY 固化到远程服务器设置中,而应从客户端侧通过查询参数或 HTTP 头传递 API 密钥。例如在 MCP 客户端中使用带查询参数的 URL 配置;如果客户端或工具支持直接传递 HTTP 头,也可以通过 X-NetLicensing-API-Key: YOUR_API_KEY 或 Authorization: Bearer YOUR_API_KEY 提供密钥。完整说明、架构图和成本估算见 deploy/aws/README.md。
贡献与许可
欢迎贡献,可在 GitHub 上提交 issue 或 pull request。对于重大更改,请先开 issue 讨论方案。采用 Apache 2.0 许可,详见 LICENSE。