依赖跟踪协议服务器

一个为OWASP Dependency-Track提供MCP(模型上下文协议)服务器的工具,可自动生成和提供常用项目查询工具。

  • by VinnterAB
  • TypeScript
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 VinnterAB/dependency-tracker-mcp

使用说明

存储库指南

概述

此存储库为OWASP依赖性跟踪提供了一个MCP(模型上下文协议)服务器。上面写着 openapi.yaml 用于您的依赖跟踪实例和自动生成工具(默认情况下为GET操作),以及一些用于常见项目查询的精选工具。

由Vinnter AB创建(https://www.vinnter.se).根据MIT许可证获得许可(见 LICENSE).

先决条件

  • Node.js 18+
  • 访问Dependency-Track实例和API密钥
  • 本地 openapi.yaml 对于您的实例(将其复制到repo根目录),或依赖于自动获取 DEPTRACK_BASE_URL/openapi.yaml 在启动时。

设置

  1. 安装依赖项(仅限本地):
    npm install

  2. 配置环境:

export DEPTRACK_API_KEY="<your-api-key>"
export DEPTRACK_BASE_URL="https://<your-instance>/api"   # required
  1. 构建并运行:
npm run build
node dist/index.js

对于TypeScript开发模式: npm run dev (如果与MCP stdio一起使用,stdout必须保持干净)。

MCP工具

精选工具(示例):

  • dependency-track-version
  • dependency-track-list-projects
  • dependency-track-get-project
  • dependency-track-get-project-by-name-version
  • dependency-track-list-children
  • dependency-track-list-children-by-classifier
  • dependency-track-list-children-by-tag

自动生成的工具:

  • 源自 openapi.yaml (所有GET操作)。工具名称已从中清除 operationId.在中调整生成默认值 src/openapiTools.ts 如果你想过滤方法、标签或路径。

配置说明

  • 秘密存在于环境变量中;永远不要提交密钥。
  • 如果 openapi.yaml 如果本地不存在,服务器将从中获取它 DEPTRACK_BASE_URL/openapi.yaml 启动时(git会忽略该文件)。
  • 对于MCP stdio客户端,避免使用 npm run 保持stdout干净(使用 node dist/index.js).

快速检查

轻量化集成烟雾测试(要求 DEPTRACK_API_KEY 可选 CHECK_PROJECT_UUID):

npm run check

贡献

  • 保持工具名称与MCP正则表达式兼容(^[a-zA-Z0-9_-]+$).
  • 更喜欢具有输入验证(Zod)和简洁输出的小型、专注的工具。
  • 记录对生成过滤器或添加端点的任何更改。