SCANOSS MCP Server

SCANOSS MCP Server

site icon
2025.04.24 0
Python代码扫描许可证合规性开发效率
SCANOSS MCP Server 是一个基于模型上下文协议(MCP)的服务,主要用于扫描代码以检测开源许可证合规性。它集成了SCANOSS的开源扫描技术,帮助语言模型实时检测代码中的开源组件,检查许可证合规性,并提供可操作的合规建议。
View on GitHub

Overview

基本能力

产品定位

SCANOSS MCP Server 是一个用于代码开源许可证合规性检测的服务,帮助开发者和AI助手确保代码中的开源组件符合相关许可证要求。

核心功能

  • 代码扫描:检测代码片段中的开源组件,包括完整组件、文件和片段。
  • 许可证合规性:分析许可证组合的兼容性和合规性要求。
  • 格式化结果:提供格式化的、可操作的扫描结果。
  • 可选API密钥:支持免费(osskb.org)和企业级SCANOSS实例。

适用场景

  • AI助手生成或修改代码时的实时合规性检查。
  • 开发者在代码提交前的开源许可证合规性验证。
  • 企业级代码库的开源组件管理。

工具列表

  1. scan_code_snippet:扫描代码片段中的开源组件。
  2. 参数:
    • code:要扫描的代码片段(必需)
    • file_name:文件名(必需)

常见问题解答

  • 无API密钥时,服务将使用免费的osskb.org服务。
  • 支持Docker和本地安装两种方式。

使用教程

使用依赖

  • Python 3.12+
  • uv for Python package management
  • SCANOSS Python SDK
  • MCP Python SDK

安装教程

本地安装

  1. 克隆仓库: git clone https://github.com/matiasdaloia/scanoss-mcp-server.git cd scanoss-mcp-server

  2. 使用uv安装依赖: uv venv uv pip install -e .

  3. (可选)在根目录创建.env文件,添加SCANOSS API密钥: SCANOSS_API_KEY=your_api_key_here SCANOSS_API_URL=https://your-scanoss-instance.com/api/scan/direct

Docker安装

  1. 拉取预构建的Docker镜像: docker pull mcp/scanoss-mcp-server 或自行构建: docker build -t mcp/scanoss-mcp-server .

  2. 运行Docker容器: docker run -i --rm -e SCANOSS_API_KEY=your_key_here -e SCANOSS_API_URL=https://your-scanoss-instance.com/api/scan/direct mcp/scanoss-mcp-server

调试方式

本地运行

uv run scanoss_mcp_server.py

Docker运行

docker run -i --rm -e SCANOSS_API_KEY=your_key_here mcp/scanoss-mcp-server

许可证

该项目遵循 MIT 开源许可条款。