bomly-mcp

bomly-mcp

Give your coding agent the dependency graph it is about to change: scan, diff, explain, audit.

Category
访问服务器

README

<p align="center"> <img src="assets/bomly-cli-wordmark.svg" alt="Bomly CLI" width="240"> </p>

<p align="center"> <strong>Analyze Your Software DNA.</strong> </p>

<p align="center"> <a href="https://github.com/bomly-dev/bomly-cli/actions/workflows/ci.yml"><img src="https://github.com/bomly-dev/bomly-cli/actions/workflows/ci.yml/badge.svg" alt="CI"></a> <a href="https://scorecard.dev/viewer/?uri=github.com/bomly-dev/bomly-cli"><img src="https://api.scorecard.dev/projects/github.com/bomly-dev/bomly-cli/badge" alt="OpenSSF Scorecard"></a> <a href="https://github.com/bomly-dev/bomly-cli/releases/latest"><img src="https://img.shields.io/github/v/release/bomly-dev/bomly-cli?sort=semver" alt="Latest release"></a> <a href="https://github.com/bomly-dev/bomly-cli/releases"><img src="https://img.shields.io/github/downloads/bomly-dev/bomly-cli/total" alt="GitHub release downloads"></a> <a href="LICENSE"><img src="https://img.shields.io/github/license/bomly-dev/bomly-cli" alt="License: Apache-2.0"></a> <a href="https://pkg.go.dev/github.com/bomly-dev/bomly-cli"><img src="https://pkg.go.dev/badge/github.com/bomly-dev/bomly-cli.svg" alt="Go Reference"></a> </p>

Bomly is a free, open-source CLI for dependency intelligence. It scans source trees, SBOMs, Git refs, and container images; explains why dependencies are present; enriches packages with vulnerability and license data when you ask for it; evaluates policy; and writes automation-friendly output for CI.

Free and open source, no account, no login. One binary. No service to host. No telemetry. No outbound matcher calls unless you opt in with --enrich. Network and Privacy documents every network trigger so you can audit that claim instead of taking it on faith.

Install Bomly

# macOS / Linuxbrew
brew install bomly-dev/tap/bomly

# Linux / macOS install script
curl -fsSL https://bomly.dev/install.sh | sh

# Windows
winget install Bomly.BomlyCLI

Prebuilt archives and Linux packages are published from GitHub Releases. Releases include bomly (full binary with builtin Syft and Grype) and bomly-lite (smaller binary that shells out to external syft and grype).

Verify the install:

bomly version

For Linux packages, Scoop, Go install, checksums, pinned versions, upgrades, and uninstall instructions, see Installation.

Start With a Scan

# Scan the current project
bomly scan

# Scan a specific directory
bomly scan --path ./services/api

# Scan a container image
bomly scan --image ghcr.io/example/app:latest

# Scan a remote Git ref
bomly scan --url https://github.com/owner/repo --ref v1.2.3

# Read an existing SPDX or CycloneDX SBOM
bomly scan --sbom --path ./sbom.cdx.json

Bomly reads manifests, lockfiles, package-manager output, container layers, or existing SBOMs and turns them into one dependency graph. Native detectors cover Go, npm, pnpm, Yarn, Maven, Gradle, Python, Composer, Bundler, GitHub Actions, SBOM ingest, and more. Syft fills the long tail, including container images. See the Support Matrix and Scan Targets.

<p align="center"> <img src="assets/readme/scan-progress.png" alt="Bomly scan progress showing indexed subprojects, detected dependencies, enriched packages, and resolved graph" width="900"> </p>

What Bomly Can Answer

Question Command
What do we depend on? bomly scan
What changed in this PR or branch? bomly diff --base main --head HEAD
Why is this package here? bomly explain lodash
Which findings matter to policy? bomly scan --enrich --audit --fail-on high
Can CI fail on high-severity findings? bomly scan --enrich --audit --fail-on high --format sarif
Can I triage reachable findings first? bomly scan --enrich --audit --analyze --fail-on high --fail-on reachable

For more recipes, see Getting Started and Use Cases. To review the public inputs, commands, expected results, and limitations behind important behavior claims, see Reproducible Evidence.

Explore Interactively

Open the terminal UI when you want to inspect a graph by hand:

bomly scan --interactive

Use it to fuzzy-find packages, inspect versions and scopes, pivot through findings, and see how a dependency entered the graph without writing a report to disk. See Interactive TUI.

<p align="center"> <img src="assets/readme/tui-overview.png" alt="Bomly interactive TUI overview with component, vulnerability, license, target, and distribution panels" width="900"> </p>

Enrich and Audit

By default, Bomly does not call vulnerability, license, lifecycle, or scorecard services. Add --enrich when you want external package intelligence:

# Fetch vulnerability and license data
bomly scan --enrich

# Evaluate policy against enriched package data
bomly scan --enrich --audit --fail-on high

# Add experimental reachability analysis
bomly scan --enrich --audit --analyze --fail-on high --fail-on reachable

Built-in enrichment uses public services such as OSV, CISA KEV, deps.dev, and OpenSSF Scorecard. --audit evaluates the vulnerability and license data already present on packages; use --enrich --audit when you want to fetch and evaluate in one run.

Reachability is experimental. It is useful for triage, but "unreachable" is not a guarantee of safety. Read Reachability before using --fail-on reachable as a CI gate.

Explain and Diff

Use explain when a transitive package shows up and you need the path:

bomly explain requests
bomly explain lodash --path ./web

Use diff when you need to review dependency changes across Git refs or SBOMs:

# Compare Git refs
bomly diff --base main --head HEAD

# Compare two SBOM files
bomly diff --sbom --base ./old.spdx.json --head ./new.spdx.json

See Getting Started for the first-run walkthrough and Use Cases for PR review, upgrade review, and incident triage recipes.

Generate Output for CI

Bomly can write human-readable text, JSON, SARIF, SPDX 2.3, and CycloneDX 1.7:

# Structured JSON for automation
bomly scan --json

# SARIF for security tabs and code-scanning integrations
bomly scan --enrich --audit --fail-on high --format sarif

# Write SBOM artifacts (add --format text to also print the report)
bomly scan -o spdx=sbom.spdx.json -o cyclonedx=sbom.cdx.json

# Emit one SBOM to stdout
bomly scan --format cyclonedx

Exit codes are stable for scripts: 0 for clean results, 2 for policy violations, and separate values for usage, runtime, and no-supported-project failures. See Output Formats, SBOM Formats, and Exit Codes.

To gate pull requests, use the Bomly Guard action or call the CLI directly from your workflow:

# .github/workflows/bomly.yml
- uses: actions/checkout@v5
  with:
    fetch-depth: 0
- uses: bomly-dev/bomly-guard@v1
  with:
    fail-on: high

See Bomly Guard and CI Integration.

<p align="center"> <img src="assets/readme/guard-check.png" alt="GitHub pull request checks showing Bomly Guard failing a required dependency check" width="900"> </p>

Use Bomly With AI Agents

Bomly can run as a local MCP server so AI agents can call the same dependency graph tools you use on the command line:

bomly mcp serve

If you have not installed the CLI, the bomly-mcp npm wrapper starts the same server:

npx -y bomly-mcp

Add Bomly to an MCP-aware agent such as Claude Code, Cursor, VS Code, or a custom tool, and the agent receives structured JSON it can summarize or reason over. See MCP Server for setup recipes and the tool reference.

Configure and Extend

Bomly reads configuration from your user config, an explicitly selected config file, BOMLY_* environment variables, and CLI flags, with later sources taking precedence:

  1. ~/.bomly/config.yaml
  2. --config <path> or BOMLY_CONFIG
  3. BOMLY_* environment variables
  4. CLI flags

Repository config files are never loaded automatically. A project may keep its shared configuration at .bomly/config.yaml, but you must trust it explicitly with --config .bomly/config.yaml or BOMLY_CONFIG. See the generated Config Reference.

Managed plugins let you add detectors, matchers, and auditors without forking Bomly:

bomly plugins install github:bomly-dev/bomly-plugin-bun-lock-detector@v0.1.0
bomly plugins enable bomly.examples.detector.bun-lock
bomly plugins verify bomly.examples.detector.bun-lock

See Plugins for install, trust, and authoring guidance.

Documentation

  • Getting Started - install Bomly and run your first scan
  • Tutorial - from first scan to a CI gate on a real project
  • FAQ - quick answers on privacy, accounts, and tool differences
  • Installation - install methods, checksums, upgrades, uninstall
  • Use Cases - practical recipes for PR gates, SBOMs, triage, and offline scans
  • Scan Targets - directories, Git repos, containers, and SBOMs
  • Output Formats - text, JSON, SARIF, SPDX, CycloneDX
  • SBOM Formats - SPDX 2.3 and CycloneDX 1.7, ingest, and conversion recipes
  • CI Integration - GitHub Actions, GitLab, Jenkins, Azure, CircleCI
  • Bomly Guard - turnkey GitHub Action for PR dependency review
  • MCP Server - connect Bomly to Claude Code, Cursor, VS Code, or another MCP client
  • Reachability - experimental reachable-vulnerability triage
  • Plugins - managed external detectors, matchers, and auditors
  • Release Notes - what changed in each version
  • All Documentation - full docs index

Contributor setup lives in CONTRIBUTING.md. Architecture details live in docs/ARCHITECTURE.md.

Questions

For questions, ideas, and general support, please use Bomly Discussions.

Use this repository's issues only for confirmed bugs, regressions, or actionable implementation work.

Support

Bomly is an open-source project. If you find it useful, you can support the project by starring the repository, sharing feedback, opening issues, contributing improvements, or sponsoring ongoing maintenance.

See Support Bomly.

License

Bomly CLI is licensed under the Apache License 2.0.

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选