内容
# 依赖跟踪MCP服务器
一个小的模型上下文协议(MCP)服务器,用于[OWASP依赖跟踪](https://dependencytrack.org/)。它通过标准输入/输出公开了一组实用的官方依赖跟踪REST API子集,以便像Codex这样的工具可以查询项目、获取发现结果、触发分析、上载CycloneDX BOM(物料清单)以及检查异步令牌状态。
实现基于官方的依赖跟踪API接口:
- `GET /api/v1/project`
- `GET /api/v1/project/{uuid}`
- `GET /api/v1/project/lookup`
- `GET /api/v1/project/latest/{name}`
- `GET /api/v1/finding/project/{uuid}`
- `POST /api/v1/finding/project/{uuid}/analyze`
- `PUT /api/v1/bom`
- `GET /api/v1/event/token/{uuid}`
官方参考:
- [依赖跟踪REST API文档](https://docs.dependencytrack.org/integrations/rest-api/)
- [ProjectResource.java](https://github.com/DependencyTrack/dependency-track/blob/master/src/main/java/org/dependencytrack/resources/v1/ProjectResource.java)
- [FindingResource.java](https://github.com/DependencyTrack/dependency-track/blob/master/src/main/java/org/dependencytrack/resources/v1/FindingResource.java)
- [BomResource.java](https://github.com/DependencyTrack/dependency-track/blob/master/src/main/java/org/dependencytrack/resources/v1/BomResource.java)
- [EventResource.java](https://github.com/DependencyTrack/dependency-track/blob/master/src/main/java/org/dependencytrack/resources/v1/EventResource.java)
## 功能
- `列出项目`
- `按名称搜索项目`
- `获取项目`
- `查找项目`
- `获取最新项目`
- `获取项目发现结果`
- `触发项目分析`
- `上传BOM`
- `获取事件令牌状态`
## 要求
- Node.js 18+(已测试Node 25)
- 一个可访问的依赖跟踪实例
- 具有必要依赖跟踪权限的API密钥或承载令牌
## 配置
在启动服务器之前,请设置以下环境变量:
```powershell
$env:DEPENDENCY_TRACK_BASE_URL="https://dependency-track.example.com"
$env:DEPENDENCY_TRACK_API_KEY="your-api-key"
```
或者使用承载令牌:
```powershell
$env:DEPENDENCY_TRACK_BASE_URL="https://dependency-track.example.com"
$env:DEPENDENCY_TRACK_BEARER_TOKEN="your-bearer-token"
```
## 运行
```powershell
node src/index.js
```
## Codex MCP配置
示例标准输入条目:
```json
{
"mcpServers": {
"dependency-track": {
"command": "node",
"args": [
"C:/absolute/path/to/dependency-track-mcp-server/src/index.js"
],
"env": {
"DEPENDENCY_TRACK_BASE_URL": "https://dependency-track.example.com",
"DEPENDENCY_TRACK_API_KEY": "your-api-key"
}
}
}
}
```
## 权限说明
服务器仅包装官方的依赖跟踪端点。实际访问仍然取决于API密钥或承载令牌的权限:
- 项目列表和查找:`查看投资组合`
- 发现结果和分析:`查看漏洞`
- BOM上传:`上传BOM`
- 在上传BOM时自动创建:`投资组合管理`或`项目创建上传`
## 查询行为
- `列出项目`现在支持可选的客户端`偏移量`和`限制`参数。
- `按名称搜索项目`用于正常交互式使用,默认返回最多25个匹配项。
- 两个工具仍然在底层使用官方的`GET /api/v1/project`端点。
## 许可证
MIT