To ask ChatGPT about your SBOM, add the Safeguard MCP server (https://mcp.safeguard.sh/mcp) to ChatGPT as a custom MCP server with OAuth, sign in to Safeguard and click Authorize access. Then ask in plain English about SBOMs, components and licences. Generate or refresh the SBOM it reads with the Safeguard CLI.
You keep the tools you already pay for. Bring the Claude, ChatGPT or Codex plan you already pay for and use it inside the Safeguard CLI. Safeguard adds no extra charge for that usage; your plan's own usage limits and terms still apply. And by connecting ChatGPT to the Safeguard MCP server, you can use Safeguard from the chat you already have open all day.
This guide follows a sample service called payments-api, at release 1.8.0, from an empty chat to a set of questions you can ask every week.
What you will have at the end:
- ChatGPT connected to Safeguard with OAuth, with no key to copy or rotate.
- The SBOM, component and licence tools your team needs, switched on by an administrator.
- A set of tested prompts for finding SBOMs, checking components, reviewing licences and comparing releases.
- A fresh SBOM for
payments-api, generated and validated on your own machine with the Safeguard CLI. - A routine that keeps what ChatGPT sees in step with what you ship, from the terminal and from CI.
How ChatGPT reads your SBOM through Safeguard
The SBOM lives in Safeguard. When you scan a project while signed in, Safeguard stores the SBOM and the findings for it. That is the copy ChatGPT reads.
ChatGPT reaches it through MCP. Safeguard hosts a remote MCP server at https://mcp.safeguard.sh/mcp. Once you add it, ChatGPT can call Safeguard tools on your behalf. There is nothing to install, and Safeguard publishes no npm package or local bridge, so treat any package claiming to be the Safeguard MCP server as untrusted.
Your role sets the limits. According to the Safeguard MCP docs, the assistant "can see and do only what your Safeguard role allows," within the tools your workspace has enabled. Your tenant, organization and product scope come from your signed in session.
Your workspace decides which tools exist. The server registers hundreds of tools, but a new workspace starts with six read only ones for browsing products, projects, vulnerabilities and findings:
safeguard_list_productssafeguard_list_projectssafeguard_get_projectsafeguard_list_vulnerabilitiessafeguard_get_vulnerabilitysafeguard_list_findings
None of these can create, change or delete anything. Every other tool ships disabled until an administrator turns it on, including the ones for SBOMs, packages and licences.
The CLI makes and refreshes the SBOM. ChatGPT does not scan your code. The Safeguard CLI does that on your own machine and sends only the SBOM and findings to the platform.
| Task | Where it happens | What you use |
|---|---|---|
| Generate an SBOM file | Your machine | safeguard sbom |
| Check the file against its specification | Your machine | safeguard validate |
| Scan without uploading anything | Your machine | safeguard findings sca |
| Put a fresh SBOM and findings in Safeguard | Your machine, results uploaded | /scan . in the interactive CLI, or safeguard ci scan |
| Ask questions about SBOMs, components and licences | ChatGPT, reading Safeguard | The Safeguard MCP server |
| Fix what the answers turn up | Your machine | The Safeguard CLI assistant |
Before you start
Each of these is a common reason the first prompt returns nothing.
- A Safeguard account. Create one or sign in at
app.safeguard.sh. - Permission to add a custom MCP server in ChatGPT. The Safeguard docs note that "account and workspace policies apply to adding and using custom MCP servers in ChatGPT." If you do not see the option, ask your ChatGPT workspace administrator.
- At least one scanned project. With no SBOM in Safeguard, there is nothing to read. The refresh section below covers the first scan.
- An administrator who can enable tools for SBOM, component and licence questions.
- The Safeguard CLI, to generate or refresh the SBOM. Our macOS install guide walks through it.
Step by step: connect ChatGPT to Safeguard
The steps below follow the Safeguard docs for OpenAI. ChatGPT's menus can move between releases; if a label differs, look for the option to add a custom MCP server.
- Sign in to Safeguard at
app.safeguard.shin the same browser you use for ChatGPT. - In ChatGPT, open Plugins, select the plus button, then choose Add custom MCP server.
- Name it, for example
Safeguard Security, and add a short description. - Under Connection, enter
https://mcp.safeguard.sh/mcp. - Set authentication to OAuth. Read the risk warning, select I understand and want to continue, then select Create as a plugin. With OAuth, ChatGPT registers itself with Safeguard, so there is no client ID or key to copy.
- Authorize. ChatGPT sends you to Safeguard. Sign in, check the app name and the host that will receive access, then click Authorize access.
The enabled Safeguard tools are now available in ChatGPT. This interactive demo walks through the same connection: ChatGPT connects to the Safeguard MCP server with OAuth, and you choose which tools ChatGPT can use.
Click through it at your own pace, or open it full screen.
Our full guide to connecting ChatGPT to the Safeguard MCP server covers each screen.
Optional: a Custom GPT Action with an MCP key
Safeguard also publishes an OpenAPI schema at https://mcp.safeguard.sh/openapi.json for a Custom GPT Action, which uses an MCP key instead of OAuth:
- In Safeguard, open Settings, Developer and create a key of type MCP key. It is shown once.
- In ChatGPT, create a Custom GPT and open Configure, Actions, Create new action.
- Choose Import from URL and enter the schema URL.
- Under Authentication, choose API Key with Auth Type Bearer, and paste the key.
- Save the GPT.
An MCP key "acts as you," and everyone who can use that GPT shares it, so keep the GPT private. API key access to MCP is turned on per workspace; if the Developer tab or MCP key type is missing, ask your Safeguard administrator. For most people, OAuth is simpler.
For administrators: switch on the SBOM tools
If ChatGPT says it has no tool for SBOMs, the tool is not enabled for your workspace, which is normal on a new one. An administrator turns tools on in the Safeguard admin console under Feature Flags:
- Search by name, for example
sbomorlicense, or filter by themcpcategory. - Toggle on each tool your team needs. The docs use
safeguard_list_sbomsas an example name. - Save.
To undo a choice, toggle the tool back to the platform default, or use Reset to Defaults to remove every tenant override.
A disabled tool does not appear in the tool list. If an assistant calls one anyway, the result says the tool "is not enabled for this tenant." That is a setting, not a broken connection.
Enable read tools first. Some tools outside the default six can add integrations or start scans; turn those on only when someone has a reason to use them from a chat.
Prompts that work for SBOMs, components and licences
The Safeguard docs list five starter prompts. Three of them are a good first test, because they touch projects, SBOMs and licences:
List my security projects
Show me all SBOMs
Which packages violate my license policy?
If those work, the connection, your role and your tool settings are fine. The prompts below are written for payments-api; swap in your own names.
Find the right SBOM
Start by pinning down which SBOM you mean.
List the SBOMs for payments-api, newest first, with the date each one
was created and the version or branch it belongs to.
Which projects in this product have no SBOM yet, or an SBOM older
than 30 days?
Run the second one weekly. A project with no recent SBOM is one ChatGPT cannot answer about accurately.
Ask about components
In the latest payments-api SBOM, how many components are there in
total, and how many are direct dependencies?
Is lodash in the latest payments-api SBOM? If so, which version, and
are there any findings against it?
List the components in payments-api that have a critical or high
finding. For each, give the package, the installed version, the CVE,
and the fixed version if one is known.
Ask for the columns explicitly and you get a table you can paste into a ticket.
Which other projects in this product use the same version of that
package?
By hand, that lookup means opening every project in turn.
Ask about licences
Licence questions come from legal, procurement and customers. Your licence policy lives in Safeguard and is evaluated in the platform; ChatGPT reports the result of "Which packages violate my license policy?" but does not decide what is allowed. More prompts:
Group the components in the latest payments-api SBOM by licence, using
SPDX identifiers, and count each group.
List every component in payments-api under a copyleft licence such as
GPL-3.0-only, AGPL-3.0-only or LGPL-2.1-only, with the version and
whether it is a direct dependency.
Which components in payments-api have no licence information at all?
SPDX identifiers keep answers consistent. The SPDX License List gives each licence a standard short identifier, such as MIT, Apache-2.0 or GPL-3.0-only (version 3.29.0, released 16 September 2026, at the time of writing). A component with no licence data usually means missing package metadata, not a package without a licence. Treat every licence answer as input for your legal team, not a conclusion.
Compare two releases
Safeguard's MCP capabilities include comparing CycloneDX and SPDX SBOMs. Run this before a release note:
Compare the payments-api SBOM for 1.8.0 with the one for 1.7.0.
Which components were added, removed or changed version? Did any
licence change?
Turn answers into work
The docs list AI remediation plans for npm, pip, Maven, Go and Cargo as a capability. If your administrator has enabled it:
Generate a remediation plan for my npm project payments-api. Order it
by severity, and say which upgrades are patch, minor or major.
The change itself happens in your repository, with the Safeguard CLI.
Prompting habits that save time
- Name the project and the release in every question.
- Ask for the total. List tools return a page and a total; if the total is larger, ask ChatGPT to fetch the rest.
- Read an empty result carefully. It means nothing matched in your scope, not "no vulnerabilities".
- Check one answer against the platform the first time you rely on a prompt.
Generate or refresh the SBOM with the CLI
ChatGPT is only as current as the SBOM in Safeguard. If payments-api shipped 1.8.0 this morning and the last scan was a month ago, every answer describes last month's code.
Step 1. Check out the release
git checkout v1.8.0
Generate the SBOM from the code you actually ship.
Step 2. Generate the SBOM file
safeguard sbom --dir . --output payments-api-1.8.0.spdx.json
safeguard sbom writes an SPDX JSON SBOM to disk using the same path the scanner uses, and stops before vulnerability analysis. With no flags it describes the current folder and writes NAME-sbom.json. For the container image you ship instead:
safeguard sbom --image registry.example.com/team/payments-api:1.8.0 \
--output payments-api-1.8.0-image.spdx.json
For a private registry, add --registry-username and --registry-password from environment variables. An image SBOM includes the base image's operating system packages; a source SBOM does not.
Step 3. Validate the file
safeguard validate payments-api-1.8.0.spdx.json --strict -o validation-report.json
safeguard validate checks CycloneDX (JSON and XML), SPDX (JSON, YAML, tag-value and RDF) and VEX (CSAF and OpenVEX) documents against their specifications. --strict treats warnings as errors. For a folder of SBOMs, add --recursive.
Step 4. Look before you upload, if you want to
safeguard findings sca --dir .
safeguard findings runs one scanner on your machine and prints severity, CVE, package, version and fixed version. Nothing leaves the machine, even when signed in. safeguard scan --sbom payments-api-1.8.0.spdx.json also works locally, writing vuln.json, license.json and other files under ./output.
Step 5. Put the fresh SBOM in Safeguard
This is the step that changes what ChatGPT sees. Open the interactive terminal, sign in, and scan:
safeguard
/login
/scan .
/login signs you in through the browser. /scan . scans the current folder and, while you are signed in, uploads the SBOM and findings to Safeguard. Your source code is never uploaded.
Step 6. Ask ChatGPT again
In ChatGPT, list the SBOMs for payments-api again. The new one should be at the top. Then run the comparison prompt.
Step 7. Make it automatic
Run it on every merge and ChatGPT stays current:
safeguard ci scan --local --wait --fail-on high
safeguard ci scan records the commit as a new version of its Safeguard project, named after the branch and short commit hash. With --local, the scan runs on the CI runner over the current directory and uploads only the results, never the source, with no SCM integration needed. It scans dependencies, SBOM and vulnerabilities. --wait polls until the scan finishes, and --fail-on high stops the job on a high or critical finding. Authenticate with a secret key from Settings, Secret Keys that has the scans:trigger scope, plus scans:read for --wait, stored as the CI secret SAFEGUARD_API_KEY. Our guide to running the CLI in CI with safeguard exec has full pipeline examples.
Do the work properly with the Safeguard CLI
ChatGPT is where you ask. The Safeguard CLI is where answers turn into changes. It scans code, container images and SBOMs on your own machine, sends only the results to the platform, and includes an assistant that can write and fix code as well as scan.
Install
On macOS and Linux:
curl -fsSL https://cli.safeguard.sh/install | bash
On Windows, in PowerShell:
irm https://cli.safeguard.sh/install.ps1 | iex
It is a single static binary with no Node, Python or JVM to install. It runs on macOS, Linux and Windows, on x86_64 or arm64 (Windows ships x86_64 only).
First session
Run safeguard with no arguments to open the interactive terminal, then /login. /scan . scans the folder you started in. Type @ to attach a file from that folder, for example @payments-api-1.8.0.spdx.json, so the assistant reads exactly the SBOM you mean. /resume picks up the last session in that folder.
Writing and fixing code
The assistant has tools for your local files and for your Safeguard data. It can write files, edit code and run commands, with your approval. When ChatGPT reports a lodash finding in payments-api, the recorded session below shows the same kind of fix on the sample payments-api project, with test data. It installs the CLI with the curl command (checksum verified), runs safeguard --version, opens the interactive terminal with safeguard and asks "fix the lodash CVE in this repo". The assistant reads the finding, the files and the advisory, then asks before each command (press y or n). It edits package.json to lodash 4.17.21, runs npm install and npm test with approval, and prints a summary with a suggested commit message. It pushes nothing. The session ends with /permissions, /model and /scan ..
Click through it at your own pace, or open it full screen.
That final /scan . uploads the new SBOM, so ChatGPT sees the fixed version next time you ask.
Using your Claude or ChatGPT plan
The plan you already pay for works here too, on the terms set out at the top of this guide. /model shows or switches the AI model, and the CLI docs cover connecting one.
Approvals
Tools that change things ask before they act, according to the mode you pick with /permissions:
- Ask. Reads run; edits and commands ask first.
- Accept edits. Edits in this folder and read only commands run; other commands ask.
- Plan. Read and plan only. A good fit for "explain this SBOM" sessions.
- Auto. Read only commands and what the policy allows run; anything else asks. This is the default.
- Strict. Pre-approved actions only, for CI.
A --yolo flag approves everything. Keep it for throwaway sandboxes.
CI with safeguard exec
safeguard exec runs one assistant turn with no prompts and exits. It runs in strict mode by default and refuses to run outside a git repository, because there would be no way to undo what it changes.
safeguard exec "Summarise the critical findings in this repository \
and list any licences that need attribution."
Add --output-format json when another pipeline step needs to read the answer.
One session, every device
A CLI session is live: it shows in the web, desktop and phone apps, and they can send work to a computer running the CLI, with each command and file edit approved there. The download page lists the desktop app 3.2.2 for Windows, macOS and Linux, iOS and Android apps, IDE extensions and a browser extension. Start in the terminal, continue in the desktop app, check findings on your phone.
Troubleshooting
ChatGPT has no option to add a custom MCP server. Your ChatGPT account or workspace policy does not allow it. Ask your ChatGPT workspace administrator.
ChatGPT says it cannot list SBOMs. The SBOM tools are not enabled for your workspace. An administrator can enable them under Feature Flags. The six default tools cover products, projects, vulnerabilities and findings only.
The answer describes an old release. The SBOM in Safeguard is stale. Run /scan . from the release checkout while signed in, or add safeguard ci scan to your pipeline.
A project you know exists is missing. Your Safeguard role or your current organization and product scope does not cover it. Check with your Safeguard administrator.
The Developer tab or MCP key type is missing. API key access to MCP is turned on per workspace. Use OAuth, or ask your Safeguard administrator.
safeguard validate fails on another tool's file. Run it without --strict to separate errors from warnings, or force the format with -f.
Common mistakes
- Asking before scanning. ChatGPT reads what Safeguard holds. Scan first, then ask.
- Treating an empty result as a clean bill of health. It means nothing matched in your scope.
- Running
safeguard scanand expecting ChatGPT to see it. That writes local files. Use/scan .while signed in, orsafeguard ci scan, to update the platform. - Sharing a Custom GPT with an MCP key. The key acts as you for everyone who can use the GPT. Keep it private, or use OAuth.
- Enabling every tool at once. Start with the read tools your team needs. Add tools that start scans or add integrations only with a reason.
- Reading a licence answer as legal advice. It is an inventory. Your legal team decides what is acceptable.
FAQ
Can I keep using my existing ChatGPT, Claude or Codex subscription?
Yes. Bring the Claude, ChatGPT or Codex plan you already pay for and use it inside the Safeguard CLI. Safeguard adds no extra charge for that usage; your plan's own usage limits and terms still apply. You can also connect ChatGPT or Claude to the Safeguard MCP server and use Safeguard from the chat you already have. For Claude, see connecting Claude to the Safeguard MCP server.
Does ChatGPT get access to my source code?
Not through Safeguard. The CLI uploads SBOMs and findings, never source, and ChatGPT reads Safeguard data through the MCP tools your workspace has enabled.
Can ChatGPT change anything in Safeguard?
The six default tools are read only and cannot create, change or delete anything. Other tools are off until an administrator enables them, and some of those can add integrations or start scans. What ChatGPT can do is limited by those settings and by your Safeguard role.
Do I need to install anything for the MCP connection?
No. Safeguard hosts the server at https://mcp.safeguard.sh/mcp. Treat any package that claims to be the Safeguard MCP server as untrusted.
How fresh is the data ChatGPT sees?
As fresh as your last signed in scan. Run /scan . after a release, or put safeguard ci scan in your pipeline so every merge updates it.
Should I use OAuth or an MCP key?
OAuth for people: no key to copy, and access follows your own sign in. An MCP key suits a private Custom GPT Action; it acts as the member who created it.
What if my administrator has not enabled the SBOM tools?
You can still ask about projects, vulnerabilities and findings with the default six. For SBOM, component and licence questions, ask your administrator to enable those tools under Feature Flags, or use the CLI assistant with the SBOM file attached via @.
Try it yourself
Set up the runner on your own machine, pick the platform, start it, approve it with its device code, then use the same CLI to scan from the terminal:
Click through it at your own pace, or open it full screen.
Then download the Safeguard CLI, scan your latest release, connect ChatGPT and ask it which components and licences you shipped. Every command is in the CLI docs.
Quick check
Which URL do you enter as the connection when adding Safeguard to ChatGPT?
https://mcp.safeguard.sh/mcp, with authentication set to OAuth.
ChatGPT answers about last month's release. What do you do?
Refresh the SBOM in Safeguard: run /scan . in the interactive CLI from the release checkout while signed in, or add safeguard ci scan to your pipeline so it happens on every merge.
Sources
- Safeguard: connecting OpenAI and ChatGPT to the MCP server
- Safeguard: MCP integrations
- Safeguard: MCP tool availability and gating
- Safeguard CLI documentation
- Safeguard CLI usage guide
- Safeguard download page
- SPDX License List
Last reviewed: 21 October 2026.