Token导航 LogoToken导航TokenDH.com
Dependency Track MCP logo
安全风控stdio官方级别未说明来源级核验

Dependency Track MCP

MCP Server

一个为OWASP Dependency Track提供的MCP服务器,支持AI助手与软件组成分析平台交互。

工具数

29

提示词数

0

GitHub Stars

0

资源数

0
Python依赖管理安全

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

secprog

提供方

secprog

最后核验

2026/5/17 20:21

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

pip install dependency-track-mcp

详细介绍

依赖跟踪MCP服务器

![Tests](https://github.com/secprog/dependency-track-mcp) ![Code Coverage](https://github.com/secprog/dependency-track-mcp) ![API Coverage](https://github.com/secprog/dependency-track-mcp) ![Code Quality](https://github.com/secprog/dependency-track-mcp) ![Python](https://github.com/secprog/dependency-track-mcp) ![License](LICENSE)

MCP(模型上下文协议)服务器 OWASP依赖性跟踪 -使AI助手能够与您的软件组合分析平台进行交互。

✨ API全面覆盖:100%的依赖性跟踪API v4.13.6端点实现了909个通过测试和100%的代码覆盖率。

特性

🎯 核心SCA功能

  • 项目管理 (28个工具):完整生命周期、层次结构、克隆、批处理操作、标签
  • 成分分析 (24种工具):依赖关系、CPE/PURL/SWID、内部识别、许可
  • 漏洞管理 (22个工具):CRUD操作、任务分配、受影响的项目查询
  • 查找分析 (12个工具):分类决策、分析状态、评论、压制
  • 信息系统安全度量 (16个工具):投资组合/项目指标、历史数据、趋势
  • 政策合规 (18个工具):政策管理、条件、违规行为、执行
  • SBOM运营 (8个工具):上传/导出CycloneDX/SPDX、验证、基于令牌的上传
  • 搜索 (6个工具):跨项目、组件、漏洞、服务的高级搜索

📚 参考数据和元数据

  • 许可证 (10个工具):支持SPDX的许可证和许可证组管理
  • 标签 (9个工具):项目/政策标签、收集项目
  • 警戒与报警设备 (2个工具):常见弱点枚举参考数据
  • 仓库 (8个工具):存储库类型管理、元数据解析
  • 服务 (8个工具):服务组件跟踪和管理
  • 使烦恼 (3个工具):漏洞利用交换文档

🔧 管理和配置

  • 团队 (8个工具):团队管理,API密钥生成
  • 用户 (11个工具):LDAP和托管用户、团队成员
  • 权限 (4个工具):细粒度权限管理
  • ACL (7个工具):项目团队访问控制映射
  • 通知 (17个工具):发布者、规则、警报、测试(Slack、电子邮件、webhooks等)
  • 轻量级目录访问协议 (3个工具):LDAP集成和团队同步
  • 开放ID连接 (6个工具):OpenID Connect组管理和映射
  • 属性 (11个工具):自定义项目/组件属性、系统配置

🛠️ 系统和集成

  • 版本 (1个工具):应用程序版本和构建信息
  • 徽章 (3个工具):SVG徽章生成漏洞
  • 计算器 (1个工具):CVSS v2/v3分数计算
  • 集成 (4个工具):第三方集成管理
  • 事件 (1个工具):系统事件监控

安装

pip install dependency-track-mcp

或者从源代码安装:

git clone https://github.com/secprog/dependency-track-mcp.git
cd dependency-track-mcp
pip install -e .

配置

安全警告⚠️ - 需要OAuth 2.1

此MCP服务器需要OAuth 2.1承载令牌身份验证 如所述 MCP授权规范.

所有请求都必须包含有效的OAuth 2.1承载令牌:

Authorization: Bearer 

遵循以下安全最佳实践:

  • 配置OAuth 2.1发行者 -设置 MCP_OAUTH_ISSUER 您的OAuth提供商
  • 永远不要提交API密钥 -基于以下内容使用环境变量或环境文件 .env.示例 (已被忽略 微笑。)
  • 仅使用HTTPS -始终使用有效证书通过HTTPS连接到依赖跟踪
  • 最小范围 -仅请求您的用例所需的范围
  • 轮换凭据 -定期更改API密钥和令牌
  • 安全客户端配置 -限制MCP客户端配置文件的文件权限

📖 看 KEYCLOAK_SETUP.md.env.示例 OAuth 2.1设置和配置示例。

环境变量

设置以下环境变量:

# OAuth 2.1 Authorization (REQUIRED)
export MCP_OAUTH_ISSUER=https://auth.example.com
export MCP_OAUTH_JWKS_URL=https://auth.example.com/.well-known/jwks.json  # Optional (auto-derived if omitted)
export MCP_OAUTH_AUDIENCE=dependency-track-mcp  # Optional
export MCP_OAUTH_REQUIRED_SCOPES="read:projects read:vulnerabilities"  # Optional
export MCP_OAUTH_RESOURCE_URI=https://your-mcp-host.example.com/mcp  # Optional

# Dependency Track Backend (for server-to-API auth only)
export DEPENDENCY_TRACK_URL=https://dependency-track.example.com
export DEPENDENCY_TRACK_API_KEY=your-dtrack-api-key

# Optional
export DEPENDENCY_TRACK_TIMEOUT=30
export DEPENDENCY_TRACK_VERIFY_SSL=true
export DEPENDENCY_TRACK_MAX_RETRIES=3

# Server Settings (HTTPS by default)
export MCP_SERVER_HOST=0.0.0.0
export MCP_SERVER_PORT=9000
export MCP_SERVER_TLS_CERT="-----BEGIN CERTIFICATE-----\n...\n-----END CERTIFICATE-----"
export MCP_SERVER_TLS_KEY="-----BEGIN PRIVATE KEY-----\n...\n-----END PRIVATE KEY-----"
export MCP_SERVER_TLS_CA_CERTS="-----BEGIN CERTIFICATE-----\n...\n-----END CERTIFICATE-----"  # Optional
export MCP_SERVER_TLS_KEYFILE_PASSWORD=your_password  # Optional

或者基于以下内容创建环境文件 .env.示例.

OAuth 2.1设置

  1. 配置您的OAuth提供程序 使用JWT令牌支持OpenID Connect
  2. 发布JWKS端点 用于令牌签名验证
  3. 设置令牌声明 包括 sub, iat, exp,以及 scopescopes
  4. 使用HTTPS 适用于所有OAuth端点
  5. 设置适当的令牌生存期 (例如,1小时)

获取依赖关系跟踪API密钥

API密钥用于 仅服务器到API身份验证 并且不暴露于MCP客户端。

  1. 以管理员身份登录依赖跟踪
  2. 导航到管理>访问管理>团队
  3. 选择或创建团队
  4. 为团队生成新的API密钥
  5. 复制密钥(不会再次显示)
  6. 将其存储在 DEPENDENCY_TRACK_API_KEY 环境变量

用法

运行服务器

# Using the installed entry point
dependency-track-mcp

# Or run directly
python -m dependency_track_mcp.main

这将启动一个具有OAuth 2.1 JWT身份验证的FastAPI服务器,并在以下位置挂载MCP端点 /mcp。如果提供了TLS证书,则它提供HTTPS。仅当满足以下条件时才允许使用HTTP MCP_DEV_ALLOW_HTTP=true.

HTTP端点

  • /mcp -MCP协议端点(受OAuth 2.1承载令牌保护)
  • /.well-known/oauth-protected-resource -OAuth资源元数据(RFC 8707)
  • /health -健康检查

生产配置

所需的环境变量(或基于以下内容的环境文件 .env.示例):

# OAuth 2.1 (required)
MCP_OAUTH_ISSUER=https://keycloak.example.com/realms/mcp
MCP_OAUTH_AUDIENCE=mcp-api

# TLS certificates (required for HTTPS)
MCP_SERVER_TLS_CERT="-----BEGIN CERTIFICATE-----\n...\n-----END CERTIFICATE-----"
MCP_SERVER_TLS_KEY="-----BEGIN PRIVATE KEY-----\n...\n-----END PRIVATE KEY-----"

# Dependency Track backend
DEPENDENCY_TRACK_URL=https://dtrack.example.com
DEPENDENCY_TRACK_API_KEY=your-api-key

本地开发

对于使用HTTP的本地开发(永远不要在生产中使用):

# Enable HTTP for local testing
MCP_DEV_ALLOW_HTTP=true
MCP_OAUTH_ISSUER=http://localhost:8083/realms/mcp
DEPENDENCY_TRACK_URL=http://localhost:8081

KEYCLOAK_SETUP.md 用于设置本地Keycloak。

快速启动脚本

如果您更喜欢带有环境文件验证的简单启动器,请使用 start_services.py.

客户端配置(HTTP传输)

将MCP客户端指向HTTP端点并包含Bearer令牌:

  • MCP端点: `https://:

/mcp (使用 http:// 只有当 MCP_DEV_ALLOW_HTTP=true`)

  • 授权标头: Authorization: Bearer

安全说明:

  • 依赖跟踪API密钥仅存储在服务器端(不向客户端公开)
  • OAuth令牌在运行时传输(不存储在配置中)
  • TLS证书可以作为PEM内容提供(使用 \n 对于新生儿)
  • 限制任何包含机密的客户端配置上的文件权限

MCP范围

服务器实现 细粒度OAuth 2.1作用域 为了实现精确的访问控制:

核心SCA运营

范围描述
read:projects列出和查看项目
write:projects创建、更新和删除项目
read:components列出和查看组件
write:components创建/更新组件
read:vulnerabilities查看漏洞和发现
write:vulnerabilities创建、更新、删除漏洞
write:analysis记录分析决策(分诊)
read:metrics查看安全指标
read:policies查看违反策略的行为
write:policies创建/更新策略
upload:bom上传SBOM文件
upload:vex上传VEX文档
search搜索功能

参考数据

范围描述
read:licenses列出和查看许可证
write:licenses创建/更新许可证组
read:tags列出和查看标签
write:tags创建/更新标签
read:services列出和查看服务
write:services创建/更新服务
read:repositories列出和查看存储库
write:repositories创建/更新存储库
read:cwe查看CWE参考数据

管理(细粒)

范围描述
read:teams列出并查看团队
write:teams创建、更新、删除团队
manage:api-keys生成、重新生成、删除API密钥
read:users列出和查看用户
write:users创建、更新、删除用户
manage:user-teams在团队中添加/删除用户
read:permissions列出权限
write:permissions授予/撤销权限
read:acl查看访问控制映射
write:acl管理访问控制映射
read:notifications列出通知发布者和规则
write:notification-publishers创建/更新/删除通知发布者
write:notification-rules创建/更新/删除通知规则
test:notifications发送测试通知
read:ldap列出LDAP组
write:ldap管理LDAP团队映射
read:oidc检查OIDC可用性,列出组
write:oidc管理OIDC组和映射
read:config列出/查看配置属性
write:config更新配置属性

系统和集成

范围描述
system:version版本和系统信息
system:badges项目徽章
system:calculatorCVSS计算器
system:integrations管理集成
system:events查看系统事件

令牌范围声明:您的OAuth令牌应包含以下格式之一的作用域:

"scope": "read:projects read:vulnerabilities write:analysis"
"scopes": "read:projects read:vulnerabilities write:analysis"

可用工具

API全面覆盖:实现并测试了依赖性跟踪API 4.13.6版中的所有160多个端点。

工具组已在中注册 src/redependy_track_mcp/tools:

核心SCA工具

  • 项目 (28个工具):完整的项目生命周期、层次结构、克隆、批处理操作
  • 组件 (24个工具):组件管理、依赖关系、CPE、PURL、SWID
  • 漏洞 (22个工具):漏洞CRUD、任务、受影响的项目
  • 研究结果 (12个工具):查找分析、分类、评论、抑制
  • 指标 (16个工具):包含历史数据的投资组合和项目指标
  • 政策 (18个工具):政策管理、条件、违规行为、执行
  • 物料清单 (8个工具):上传/导出SBOM(CycloneDX/SPDX),基于令牌的上传
  • 搜索 (6个工具):跨项目、组件、漏洞的高级搜索

参考数据工具

  • 许可证 (10个工具):许可证和许可证组管理
  • 标签 (9个工具):标签管理、项目/政策关联
  • 警戒与报警设备 (2个工具):常见弱点枚举参考
  • 仓库 (8个工具):存储库类型管理和元数据
  • 服务 (8个工具):服务组件跟踪
  • 使烦恼 (3个工具):漏洞利用交换文档

属性工具

  • 项目属性 (4个工具):自定义项目元数据
  • 组件属性 (4个工具):自定义组件元数据
  • 配置属性 (3个工具):系统配置管理

管理工具

  • 团队 (8个工具):团队管理和API关键操作
  • 用户 (11个工具):用户管理、LDAP/管理用户、团队成员
  • 权限 (4个工具):权限管理和分配
  • ACL (7个工具):项目团队访问控制映射
  • 通知 (17个工具):发布者、规则、警报和测试
  • 轻量级目录访问协议 (3个工具):LDAP集成和团队映射
  • 开放ID连接 (6个工具):OpenID Connect组管理

系统和集成工具

  • 版本 (1个工具):应用程序版本和构建信息
  • 徽章 (3个工具):为项目生成SVG徽章
  • 计算器 (1个工具):CVSS分数计算
  • 集成 (4个工具):第三方集成管理
  • 事件 (1个工具):系统事件监控

质量与测试

测试覆盖率

  • 909测试 -100%通过
  • 100%代码覆盖率 -所有3313行代码都经过全面测试
  • API覆盖率100% -所有依赖关系跟踪API v4.13.6版端点
  • 单元测试 -客户端、配置、OAuth、模型、作用域、所有工具
  • 集成测试 -端到端工具验证
  • 基于模拟 -使用respx HTTP模拟快速执行

代码质量

  • 拉夫 -所有衣襟规则均通过(E、F、I、N、W、UP)
  • 类型提示 -全类型注释覆盖率
  • 派丹蒂克 -已验证所有API类型的模型
  • 异步优先 -所有I/O操作都使用async/await
  • 错误处理 -全面的异常层次结构

安全标准

  • OAuth 2.1 -使用JWKS进行完整的JWT验证
  • HTTPS/TLS -默认情况下启用证书验证
  • 范围验证 -细粒度权限检查
  • 输入验证 -所有输入的Pydantic模型
  • 日志中没有秘密 -正确屏蔽敏感数据

发展

设置

git clone https://github.com/secprog/dependency-track-mcp.git
cd dependency-track-mcp
pip install -e ".[dev]"

运行测试

# Run all tests (909 tests)
pytest

# Run with coverage report (100% coverage)
pytest --cov=src/dependency_track_mcp --cov-report=html

# Run specific test categories
pytest -m unit              # Unit tests only
pytest -m integration       # Integration tests only

# Run specific test file
pytest tests/test_client.py

# Run with verbose output
pytest -v

# Run tests matching a pattern
pytest -k "test_oauth"

代码格式化

ruff check .
ruff format .

安全

此MCP服务器根据需要实现OAuth 2.1承载令牌授权 MCP规范.

关键安全功能:

  • 🔐 OAuth 2.1承载令牌 -根据MCP规范要求
  • JWT验证 -结构、到期、发行人和范围验证
  • 🔒 HTTPS/TLS -默认情况下启用证书验证
  • 🔑 安全的API密钥管理 -仅通过环境变量提供后端密钥
  • 🛡️ 输入验证 -所有输入/输出的Pydantic模型
  • 🚫 无令牌传递 -OAuth令牌未发送到后端
  • 📊 基于范围的授权 -细粒度权限控制
  • 重试/回退 -具有重试功能的弹性HTTP客户端

OAuth 2.1要求:

  • 所有请求都必须在Authorization标头中包含有效的Bearer令牌
  • 令牌必须是具有所需声明的有效JWT(sub, iat, exp, scope/scopes)
  • 服务器验证令牌过期、颁发者和所需范围
  • MCP客户端负责从OAuth提供程序获取令牌
  • 令牌签名验证使用JWKS(自动从发卡机构导出)执行

要在本地验证您的配置,请运行 verify_security.py.

许可证

MIT许可证-请参阅 许可证 了解详情。

相关项目

目录标签

目录标签

Python依赖管理安全软件组成分析本地部署漏洞管理安全合规API集成

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

oauth

工具数量(toolCount,工具数)

29

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiooauth部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP