mcp-semclone-SEMCL的模型上下文协议服务器。一
  
MCP(模型上下文协议)服务器,通过SEMCL为LLM提供全面的OSS合规性和漏洞分析功能。一个工具链。
概述
mcp-semclone集成了完整的SEMCL。ONE工具链为LLM提供强大的软件组合分析功能:
- 许可证检测与合规:扫描代码库以查找许可证并根据策略进行验证
- 二进制分析:分析OSS组件和许可证的编译二进制文件(APK、EXE、DLL、SO、JAR)
- 漏洞评估:查询多个漏洞数据库以了解安全问题
- 包发现:从源代码中识别包并生成PURL
- SBOM生成:以CycloneDX格式创建软件物料清单
- 策略验证:检查许可证兼容性和组织合规性
特性
工具
分析和扫描:
scan_directory-对包、许可证和漏洞进行全面的目录扫描scan_binary-分析OSS组件的编译二进制文件(APK、EXE、DLL、SO、JAR)check_package-检查特定软件包中的许可证和漏洞download_and_scan_package-从注册表下载软件包源代码并执行深度许可证/版权扫描
法律声明和文件:
generate_legal_notices-通过直接扫描源代码生成法律声明(快速,推荐)generate_legal_notices_from_purls-从PURL列表生成法律声明(从注册表下载)generate_sbom-以CycloneDX格式生成软件物料清单
许可证和策略验证:
validate_policy-根据组织策略验证许可证validate_license_list-分发类型的快速许可证安全验证get_license_obligations-获取许可证的详细合规要求check_license_compatibility-检查两个许可证是否可以混合使用get_license_details-获取全面的许可证信息,包括全文analyze_commercial_risk-评估商业分销风险
完整的工作流程:
run_compliance_check-适用于任何项目类型的通用一次性合规工作流程
资源
license_database-访问许可证兼容性信息policy_templates-获取预配置的策略模板
提示
compliance_check-许可证合规性检查的指导工作流程vulnerability_assessment-安全评估的指导性工作流程
安装
单命令安装
pip install mcp-semclone这将自动安装所有必需的SEMCL。一个工具:
- 檩条通知 -全面的包检测和许可证提取
- osslili -从存档中检测许可证(由check_package使用)
- 二进制嗅探器 -OSS组件的二进制分析
- ospac -策略验证引擎
- 漏洞 -漏洞数据库查询
- upmex -包元数据提取(由check_Package使用)
Pipx安装(建议全球访问)
pipx 在隔离环境中安装软件包,同时使CLI工具全局可用。这是避免与系统上其他Python包发生依赖冲突的理想选择。
# Install pipx if you don't have it
pip install pipx
pipx ensurepath
# Install mcp-semclone
pipx install mcp-semclone
# IMPORTANT: Inject all SEMCL.ONE tool dependencies into the same isolated environment
# This ensures all tools are available both as libraries and CLI commands
# Required by some agents that need direct CLI tool access
# Use --include-apps to make CLI commands globally available
pipx inject mcp-semclone purl2notices purl2src osslili binarysniffer ospac vulnq upmex --include-appspipx的好处:
- ✅ 隔离环境可防止依赖冲突
- ✅ PATH中全球可访问的所有工具
- ✅ 易于更新:
pipx upgrade mcp-semclone - ✅ 彻底卸载:
pipx uninstall mcp-semclone
有关详细的设置说明,包括:
- IDE特定配置(Cursor、Cline、Kiro、VS Code、JetBrains)
- 自动批准设置
- pip与pipx配置
- 配置模板
- 故障排除
请参阅 IDE集成指南
环境变量
增强功能的可选环境变量:
# API Keys (optional, for higher rate limits)
export GITHUB_TOKEN="your_github_token"
export NVD_API_KEY="your_nvd_api_key"
# Tool paths (optional, only if tools are not in PATH)
# Tools are auto-detected by default using shutil.which()
export PURL2NOTICES_PATH="/custom/path/to/purl2notices"
export OSSLILI_PATH="/custom/path/to/osslili"
export BINARYSNIFFER_PATH="/custom/path/to/binarysniffer"
export VULNQ_PATH="/custom/path/to/vulnq"
export OSPAC_PATH="/custom/path/to/ospac"
export UPMEX_PATH="/custom/path/to/upmex"注: 工具会自动在PATH中检测到。仅自定义安装位置需要环境变量。
使用示例
使用MCP客户端
配置后,您可以询问您的LLM:
- “扫描/路径/到/项目许可证合规性问题”
- “分析此Android APK文件中的OSS组件和许可证”
- “检查此项目是否存在任何关键漏洞”
- “为我的项目生成SBOM”
- “此编译的二进制文件中包含哪些许可证?”
- “根据我们的商业分销政策验证这些许可证”
- “在此代码库中查找所有GPL许可的依赖项”
工作流
许可证合规性检查
- 扫描项目 识别所有软件包和许可证
- 加载或创建策略 定义允许/拒绝的许可证
- 验证许可证 反对政策
- 生成合规报告 违规行为和建议
漏洞评估
- 发现套餐 在代码库中
- 查询漏洞数据库 对于每个包裹
- 按严重程度排序 (临界>高>中>低)
- 确定可用的修复程序 以及升级路径
- 生成安全报告 有补救措施
SBOM生成
- 扫描项目结构 识别组件
- 提取元数据 对于每个组件
- 检测许可证 以及版权信息
- 格式为SBOM (CycloneDX 1.4 JSON)
- 验证完整性 SBOM
示例
MCP客户端基本用法
看 examples/basic_usage.py 用于直接调用MCP工具的简单示例。
特工与Ollama
一个完整的自主代理示例,演示了使用本地LLM(Ollama)和MCP集成进行OSS合规性分析。
位置: examples/strands-agent-ollama/
特征:
- 自主决策(计划→ 执行→ 解释→ 报告)
- 通过Ollama进行本地LLM推理(Calama3、Gemma3、DeepSeek-R1)
- 交互式和批量分析模式
- 自定义策略执行
- 完全保密(无外部API调用)
快速入门:
cd examples/strands-agent-ollama
./quickstart.sh
python agent.py interactive文档:
使用案例:
- 移动应用程序合规性(APK/IPA分析)
- 嵌入式/IoT固件扫描
- CI/CD集成
- 交互式合规查询
请参阅 示例目录 了解全部细节。
贡献
我们欢迎捐款!请看 贡献.md 了解详情。
许可证
mcp-semclone是在Apache许可证2.0下发布的。看 许可证 了解详情。
支持
- 问题:
- 讨论:
- 安全:向报告漏洞security@semcl.one
______________________________________________________________________
*部分 SEMCL。一 软件组成分析工具链*
