LicenGuard 的
Monoreto清点内部OSS依赖项(C#、Node.js、Python、Java等),将其许可证元数据存储在MongoDB中,为AI副驾驶员公开Python API、React仪表板和可选的MCP服务器。
建筑
backend/ # FastAPI + MongoDB backend (MVC structure)
apps/web/ # React UI (Webpack, JavaScript)
servers/mcp-licenguard/ # MCP server bridging the API to copilots- 后端(Python/FastAPI) –实现模型/控制器/视图,因此每个库条目都包含多个版本,包括许可证名称和URL。
- Web用户界面(React) –简单的仪表板,用于添加库、附加版本和可视化许可证覆盖率。
- MCP服务器(节点) –可选桥接,以便IDE/聊天代理可以获取库或钻取组件。
后端设置
cd backend
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
cp .env.example .env
python seed.py # optional sample data
uvicorn app.main:app --reload --port 4000MongoDB默认为 mongodb://localhost:27017/licenguard.调整 .env 指向任何集群。
Web UI设置
npm install
npm run dev --workspace @licenguard/web
# build with npm run build --workspace @licenguard/web通过shell设置前端环境变量(例如。 API_URL/VITE_API_URL)如果后端未打开 http://localhost:4000.
MCP服务器
cd servers/mcp-licenguard
npm install
API_URL=http://localhost:4000 npm run dev使用您喜欢的工具(如Claude、VS Code)注册MCP二进制文件,无需离开聊天室即可浏览许可证数据。
API亮点
GET /libraries–列出包含版本的库。POST /libraries–创建库条目;POST /libraries/{libraryId}/versions附加一个版本。GET /libraries/search?q=–在本地搜索并回退到MCP发现。POST /libraries/repositories/scan–克隆一个仓库,检测依赖文件,并运行MCP文件分析。POST /libraries/repositories/scan/highest-risk–相同的repo扫描流,但返回具有最高值的库risk_score用于CI/CD门控(有效载荷:{"url": ""}).
MongoDB数据形状
{
"_id": "6650f7ab5b4c4e2b3c1a1234",
"name": "express",
"ecosystem": "npm",
"description": "Fast, unopinionated, minimalist web framework for Node.js",
"repository_url": "https://github.com/expressjs/express",
"officialSite": "https://expressjs.com",
"versions": [
{
"version": "4.19.2",
"license_name": "MIT",
"license_url": "https://opensource.org/licenses/MIT",
"notes": "Detected via LICENSE and package.json",
"license_summary": [
{ "summary": "Permissive for commercial use", "emoji": "✅" },
{ "summary": "Requires copyright + license notice", "emoji": "ℹ️" }
],
"evidence": [
"LICENSE",
"package.json:license"
],
"confidence": 0.94,
"risk_level": "low",
"risk_score": 12,
"created_at": "2024-06-01T12:00:00Z"
}
],
"created_at": "2024-06-01T12:00:00Z",
"updated_at": "2024-06-01T12:00:00Z"
}这种规范化的格式使每个OSS组件和版本审计准备就绪,并与许可证元数据一起捕获证据、摘要和风险评分。
截图
|查看| | --- | | 主仪表板 Homepage | | 版本列表 Library list | | 版本详细信息 Library details | | 导航 Menu | | 手动搜索 Manual search | | 手动结果 Manual search results | | 文件上传 File upload | | 上载完成 File upload finished | | 回购搜索 Repo search | | 回购结果 Repo search results |
