关于 SCANOSS MCP Server
SCANOSS MCP Server 将 SCANOSS 开源扫描能力接入 MCP 客户端,帮助团队检查代码中的开源组件及许可证兼容性。它提供格式化扫描结果,可使用免费的 osskb.org 服务或企业版 SCANOSS 实例。
主要功能
- 01扫描代码中的开源组件
- 02检查许可证兼容性
- 03返回格式化扫描结果
- 04支持免费或企业版 SCANOSS
适用场景
- 01检查代码片段中的未声明组件
- 02评估许可证组合的兼容性
MCP 相关
向 MCP 客户端提供 `scan_code_snippet` 工具,用于扫描代码片段并返回开源组件检测结果。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
SCANOSS MCP 服务
一个 Model Context Protocol(MCP)服务,使用 SCANOSS 技术提供扫描代码以检查开源许可证合规性的工具。
概述
SCANOSS MCP 服务将 SCANOSS 的开源扫描功能与 Model Context Protocol 集成,使大模型能够:
- 扫描代码片段,查找未声明的开源内容
- 检查开源许可证组合的许可证合规性
- 获取有关代码中开源组件的可操作见解
借助此服务,AI 助手可以实时反馈其生成或修改的代码,确保符合开源许可证要求并降低法律风险。
功能
- 代码扫描:检测代码片段中的开源组件,包括完整组件、文件和代码片段。
- 许可证合规性:分析许可证组合,检查兼容性问题和合规要求。
- 格式化结果:获取格式清晰、可操作的扫描结果见解。
- 可选 API 密钥:既可使用免费(osskb.org)实例,也可使用 SCANOSS 企业版实例。
要求
- Python 3.12+
- 用于 Python 包管理的 uv
- SCANOSS Python SDK
- MCP Python SDK
安装
本地安装
-
克隆此仓库:
git clone https://github.com/matiasdaloia/scanoss-mcp-server.git cd scanoss-mcp-server -
使用
uv安装依赖:uv venv uv pip install -e . -
(可选)在根目录中创建
.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 安装
-
拉取预构建的 Docker 镜像:
docker pull mcp/scanoss-mcp-server或自行构建:
docker build -t mcp/scanoss-mcp-server . -
使用 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 客户端提供以下工具:
- scan_code_snippet:扫描代码片段,查找开源组件
- 参数:
code:要扫描的代码片段(必填)file_name:文件名(必填)
- 参数:
贡献
欢迎贡献!请随时提交 Pull Request。
许可证
此项目采用 MIT License 授权,详情请参阅 LICENSE 文件。
致谢
- 感谢 SCANOSS 提供开源扫描技术
- 感谢 Model Context Protocol 提供 MCP 标准和 SDK
- 感谢 uv 提供快速的 Python 包管理
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。