mcpField
S
SCANOSS MCP Server

SCANOSS MCP Server

本地服务
github.com/matiasdaloia法律与政务079 周前更新

关于 SCANOSS MCP Server

SCANOSS MCP Server 将 SCANOSS 开源扫描能力接入 MCP 客户端,帮助团队检查代码中的开源组件及许可证兼容性。它提供格式化扫描结果,可使用免费的 osskb.org 服务或企业版 SCANOSS 实例。

主要功能

  1. 01扫描代码中的开源组件
  2. 02检查许可证兼容性
  3. 03返回格式化扫描结果
  4. 04支持免费或企业版 SCANOSS

适用场景

  1. 01检查代码片段中的未声明组件
  2. 02评估许可证组合的兼容性

MCP 相关

向 MCP 客户端提供 `scan_code_snippet` 工具,用于扫描代码片段并返回开源组件检测结果。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

SCANOSS MCP 服务

一个 Model Context Protocol(MCP)服务,使用 SCANOSS 技术提供扫描代码以检查开源许可证合规性的工具。

概述

SCANOSS MCP 服务将 SCANOSS 的开源扫描功能与 Model Context Protocol 集成,使大模型能够:

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

借助此服务,AI 助手可以实时反馈其生成或修改的代码,确保符合开源许可证要求并降低法律风险。

功能

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

要求

  • Python 3.12+
  • 用于 Python 包管理的 uv
  • 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
    

使用

运行服务
使用 uv 在本地运行

运行 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 配置文件(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:文件名(必填)

贡献

欢迎贡献!请随时提交 Pull Request。

许可证

此项目采用 MIT License 授权,详情请参阅 LICENSE 文件。

致谢

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。