Install
$ agentstack add mcp-bomly-dev-bomly-cli Open-source listing, not yet scanned by AgentStack. Follow the source repository for install instructions.
Security review
⚠ Flagged1 finding(s); flagged for manual review. · v0.1.0 How review works →
- • Prompt-injection patterns
- • Secret / credential exfiltration
- • Dangerous shell & filesystem operations
- • Untrusted network calls
- • Known-malicious package signatures
- high Pipes remote content directly into a shell (remote code execution).
What it can access
- ● Network access Used
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
Analyze Your Software DNA.
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.
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](docs/INSTALLATION.md).
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](docs/SUPPORTMATRIX.md) and [Scan Targets](docs/SCANTARGETS.md).
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](docs/GETTINGSTARTED.md) and [Use Cases](docs/USECASES.md).
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](docs/TUI.md).
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](docs/REACHABILITY.md) 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](docs/GETTINGSTARTED.md) for the first-run walkthrough and [Use Cases](docs/USECASES.md) 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.6:
# 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 SBOMs while still showing the normal 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](docs/OUTPUTFORMATS.md), [SBOM Formats](docs/SBOM.md), and [Exit Codes](docs/EXITCODES.md).
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](docs/BOMLYGUARD.md) and [CI Integration](docs/CIINTEGRATION.md).
Use Bomly With AI Agents
Bomly can run as an MCP server so AI agents can call the same scan, explain, and diff capabilities you use on the command line:
bomly mcp serve
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 [Getting Started](docs/GETTING_STARTED.md) for setup recipes.
Configure and Extend
Bomly reads configuration from global config, project config, BOMLY_* environment variables, and CLI flags, with later sources taking precedence:
~/.bomly/config.yaml/.bomly/config.yamlBOMLY_*environment variables- CLI flags
Use --config to add an explicit config file. See the generated [Config Reference](docs/CONFIG_REFERENCE.md).
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](docs/PLUGINS.md) for install, trust, and authoring guidance.
Documentation
- [Getting Started](docs/GETTING_STARTED.md) - install Bomly and run your first scan
- [Installation](docs/INSTALLATION.md) - install methods, checksums, upgrades, uninstall
- [Use Cases](docs/USE_CASES.md) - practical recipes for PR gates, SBOMs, triage, and offline scans
- [Scan Targets](docs/SCAN_TARGETS.md) - directories, Git repos, containers, and SBOMs
- [Output Formats](docs/OUTPUT_FORMATS.md) - text, JSON, SARIF, SPDX, CycloneDX
- [SBOM Formats](docs/SBOM.md) - SPDX 2.3 and CycloneDX 1.6, ingest, and conversion recipes
- [CI Integration](docs/CI_INTEGRATION.md) - GitHub Actions, GitLab, Jenkins, Azure, CircleCI
- [Bomly Guard](docs/BOMLY_GUARD.md) - turnkey GitHub Action for PR dependency review
- [Reachability](docs/REACHABILITY.md) - experimental reachable-vulnerability triage
- [Plugins](docs/PLUGINS.md) - managed external detectors, matchers, and auditors
- [All Documentation](docs/README.md) - full docs index
Contributor setup lives in [CONTRIBUTING.md](CONTRIBUTING.md). Architecture details live in [docs/ARCHITECTURE.md](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](LICENSE).
Source & license
This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: bomly-dev
- Source: bomly-dev/bomly-cli
- License: Apache-2.0
- Homepage: https://bomly.dev/cli
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.