mcpField
B
Bomly

Bomly

Local
bomly.devDeveloper Tools14Updated 3d ago

About Bomly

Bomly is an open-source CLI for developers, security engineers, and CI pipelines to build and inspect software dependency graphs. It can explain dependency origins, audit policies, compare Git refs, and emit standard reports; an MCP server exposes its scan, explain, and diff operations to coding agents.

Key features

  1. 01Builds graphs from source, SBOMs, Git refs, and images
  2. 02Explains why packages are present
  3. 03Enriches scans with vulnerability and license data
  4. 04Audits policies with CI-ready exit codes
  5. 05Exports JSON, SARIF, SPDX, and CycloneDX
  6. 06Interactive terminal graph inspection

Use cases

  1. 01Check dependency changes in a pull request
  2. 02Gate CI builds on policy or vulnerability findings
  3. 03Generate an SBOM for a project or image
  4. 04Investigate a package's origin and dependency path

MCP support

Bomly runs as a local MCP server via `bomly mcp serve` or the `bomly-mcp` npm wrapper. Coding agents can invoke its scan, explain, and diff tools.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"bomly-dev-bomly-cli": {
"command": "npx",
"args": [
"-y",
"bomly-mcp"
]
}
}
}
Run commandnpx -y bomly-mcp

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
npmbomly-mcp0.30.0

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

Bomly CLI

Analyze Your Software DNA.

CI OpenSSF Scorecard Latest release GitHub release downloads License: Apache-2.0 Go Reference

Bomly is a free, open-source command-line tool for understanding what your software depends on. It is built for developers, security engineers, and CI pipelines. Bomly:

  • scans source trees, SBOMs, Git refs, and container images into one dependency graph;
  • explains why a package is present;
  • adds vulnerability and license data when you ask for it with --enrich;
  • checks the result against your policy and exits with a code CI can act on;
  • writes JSON, SARIF, SPDX, and CycloneDX output.

No account, no login, no service to host, no telemetry. One binary. Bomly contacts no vulnerability or license service unless you pass --enrich. Network and privacy lists every network trigger so you can check that claim yourself.

Install

# 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

Check the install with bomly version. Installation covers Linux packages, Scoop, go install, the smaller bomly-lite binary that uses your own Syft and Grype, checksums, and uninstalling.

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, and more. Syft covers the remaining ecosystems and container images. See the Support matrix and Scan targets.

Bomly scan progress showing indexed subprojects, detected dependencies, enriched packages, and resolved graph

What Bomly can answer

QuestionCommandRead more
What do we depend on?bomly scanGetting started
Which packages have known vulnerabilities, and is there a fix?bomly scan --enrichMatchers
Should this build fail?bomly scan --enrich --audit --fail-on highAuditors, Exit codes
Which findings can my code reach? (experimental)bomly scan --enrich --audit --analyze --fail-on high --fail-on reachableReachability
Why is this package here?bomly explain lodashexplain
What changed in this PR?bomly diff --base main --head HEAD --enrich --auditdiff
Give me an SBOMbomly scan -o spdx=sbom.spdx.json -o cyclonedx=sbom.cdx.jsonSBOM formats
Give me something CI can readbomly scan --json, --format sarifOutput formats

Reachability is experimental: "unreachable" is not a guarantee of safety. Use cases has more recipes, and Release assurance lists the checks every release goes through.

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.

Bomly interactive TUI overview with component, vulnerability, license, target, and distribution panels

Gate pull requests

The Bomly Guard action runs bomly diff against a pull request's merge base and posts the result as a check and a PR comment. Only the packages the PR changed are audited, so existing findings elsewhere never block a PR:

# .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. CI integration has recipes for GitLab, Jenkins, Azure DevOps, and CircleCI.

GitHub pull request checks showing Bomly Guard failing a required dependency check

Use Bomly with AI agents

Bomly can run as a local server for the Model Context Protocol (MCP), so an AI coding agent can call the same scan, explain, and diff 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

See MCP server for the Claude Code, Cursor, and VS Code setup and the tool reference.

Configure and extend

Bomly reads settings from ~/.bomly/config.yaml, then from the file named by --config or BOMLY_CONFIG, then from BOMLY_* environment variables, then from flags. Later sources win. A config file inside a repository is never loaded on its own: pass --config .bomly/config.yaml to use one. See the Config reference.

Plugins add detectors, matchers, auditors, and analyzers without forking Bomly:

bomly plugins install github:bomly-dev/[email protected]
bomly plugins enable bomly.examples.detector.bun-lock
bomly plugins verify bomly.examples.detector.bun-lock

See Plugins to install and trust plugins, and Plugin authoring to write one.

Documentation

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

Questions and sponsorship

For questions, ideas, and help, use Bomly Discussions. Use this repository's issues for confirmed bugs, regressions, and concrete implementation work.

If Bomly is useful to you, star the repository, share feedback, contribute, or sponsor ongoing maintenance.

License

Bomly CLI is licensed under the Apache License 2.0.

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.