开源代码扫描服务

SCANOSS MCP Server是一个基于模型上下文协议(MCP)的服务,提供开源许可证合规性代码扫描工具,帮助AI助手实时检查生成或修改代码的开源许可证合规性。

  • by matiasdaloia
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 matiasdaloia/scanoss-mcp-server

使用说明

SCANOSS MCP服务器

一种模型上下文协议(MCP)服务器,提供使用SCANOSS技术扫描代码以符合开源许可证的工具。

概述

SCANOSS MCP服务器将SCANOSS的开源扫描功能与模型上下文协议集成在一起,允许语言模型:

  1. 扫描代码片段以查找未声明的开源内容
  2. 检查开源许可证组合的许可证合规性
  3. 获取代码中开源组件的可操作见解

通过利用此服务器,人工智能助手可以对他们生成或修改的代码提供实时反馈,确保遵守开源许可证并降低法律风险。

特性

  • 代码扫描:检测代码段中的开源组件,包括完整组件、文件和代码段。
  • 许可证合规性:分析许可证组合的兼容性问题和合规性要求。
  • 格式化结果:接收格式良好、可操作的扫描结果见解。
  • 可选API密钥:适用于免费(osskb.org)和企业SCANOSS实例。

需求

  • Python 3.12+
  • 紫外线 用于Python包管理
  • 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
    

    如果没有提供API密钥,服务器将使用免费的osskb.org服务。

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
    

用法

运行服务器

局部紫外线

运行MCP服务器:

uv run scanoss_mcp_server.py

使用Docker

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

客户端配置

要将SCANOSS MCP服务器与您的AI助手或MCP客户端一起使用,您需要正确配置它:

适用于克劳德桌面

将以下内容添加到您的Claude Desktop配置文件中(claude_desktop_config.json):

"scanoss-mcp-server": {
  "command": "uv",
  "args": [
    "run",
    "scanoss_mcp_server.py"
  ],
  "env": {
    "SCANOSS_API_KEY": "your_api_key_here",
    "SCANOSS_API_URL": "https://your-scanoss-instance.com/api/scan/direct"
  }
}

如果使用Docker:

"scanoss-mcp-server": {
  "command": "docker",
  "args": [
    "run",
    "-i",
    "--rm",
    "-e", "SCANOSS_API_KEY",
    "-e", "SCANOSS_API_URL",
    "mcp/scanoss-mcp-server"
  ],
  "env": {
    "SCANOSS_API_KEY": "your_api_key_here",
    "SCANOSS_API_URL": "https://your-scanoss-instance.com/api/scan/direct"
  }
}

可用工具

服务器向MCP客户端公开以下工具:

  1. scan_code_snippet:扫描代码段以查找开源组件
    • 参数:
      • code:要扫描的代码段(必需)
      • file_name:文件名称(必填)

贡献

欢迎投稿!请随时提交拉取请求。

许可证

此项目根据MIT许可证获得许可-有关详细信息,请参阅许可证文件。

致谢