SCANOSS MCP服务器
一种模型上下文协议(MCP)服务器,提供使用SCANOSS技术扫描代码以符合开源许可证的工具。
概述
SCANOSS MCP服务器将SCANOSS的开源扫描功能与模型上下文协议集成在一起,允许语言模型:
- 扫描代码片段以查找未声明的开源内容
- 检查开源许可证组合的许可证合规性
- 获取代码中开源组件的可操作见解
通过利用此服务器,人工智能助手可以对他们生成或修改的代码提供实时反馈,确保遵守开源许可证并降低法律风险。
特性
- 代码扫描:检测代码段中的开源组件,包括完整组件、文件和代码段。
- 许可证合规性:分析许可证组合的兼容性问题和合规性要求。
- 格式化结果:接收格式良好、可操作的扫描结果见解。
- 可选API密钥:适用于免费(osskb.org)和企业SCANOSS实例。
需求
- Python 3.12+
- 紫外线 用于Python包管理
- 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用法
运行服务器
局部紫外线
运行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客户端公开以下工具:
- scan_code_snippet:扫描代码段以查找开源组件
- 参数: - code:要扫描的代码段(必需) - file_name:文件名称(必填)
贡献
欢迎投稿!请随时提交拉取请求。
许可证
此项目根据MIT许可证获得许可-有关详细信息,请参阅许可证文件。
致谢
- SCANOSS 系统 因为他们的开源扫描技术
- 模型上下文协议 适用于MCP标准和SDK
- 紫外线 用于快速Python包管理
