Safeguard
AI Security•

Does SCA cover the dependencies of MCP servers and AI agents?

MCP servers and agent code are software with dependencies, so SCA applies. It does not judge what a tool call does. Here is where each control fits.

Safeguard Security Team
6 min read

Yes, in principle. An MCP server or an AI agent is ordinary software with a package manifest, so SCA can inventory and scan its dependencies like any other project. What SCA does not do is judge what the server's tools do at runtime or what an agent is allowed to call. That needs a separate control layer.

What SCA can see

An MCP server written in Python or JavaScript pulls in libraries, and those libraries pull in more. SCA reads the manifest and lockfile and matches the versions against advisories. This is no different from scanning a web service, so existing SCA practice carries over.

Practical steps:

  1. Treat each MCP server you run or install as a project with its own repository or directory.
  2. Commit the lockfile, so the scan sees exact versions.
  3. Scan on every change, and rescan on a schedule, since new advisories arrive after you install.
  4. Record which servers are approved, who owns them, and which version is deployed.

What SCA cannot see

QuestionSCA answers?What does
Is a library in this server vulnerable?YesSCA
Does a tool description contain hidden instructions?NoReview and guardrails
Which agent may call which tool?NoIdentity and access controls
Is this server the one we approved, not a lookalike?Partly, via inventoryRegistry and allow list controls
What data left through a tool call?NoRuntime guardrails and logging

SCA tells you about the code you imported. It does not tell you whether a server's behavior is acceptable.

Where other controls fit

Safeguard's MCP Guardrail and agent identity capabilities address the runtime side, and its asset discovery can help you learn which servers and agents exist in the first place. These sit beside SCA, they do not replace it. If you evaluate any platform, ask which layer each feature belongs to, so you do not assume a dependency scan covers tool behavior.

A short checklist

  • Inventory: list every MCP server and agent in use, including ones developers installed locally.
  • Scan: run SCA on each, including the dev dependencies of local tooling.
  • Pin: use exact versions for servers you install from a registry.
  • Review: read tool descriptions and requested permissions before approving.
  • Monitor: rescan, and log which agent used which tool.

A worked example: four servers on one team

A team uses four MCP servers. One is an internal server the team wrote in Python. Two are open source servers installed from a public registry. The fourth is a hosted server from a third party with no source available.

For the internal server, SCA applies fully: commit the lockfile, scan on every pull request, rescan on a schedule. For the open source servers, vendor the installation into a repository or record the exact version, and scan its manifests. For the hosted server, there is nothing to scan on your side. You rely on the provider's assurances, a review of what the tools do, and access controls limiting which agents can reach it.

The mix shows why one control is not enough. SCA fits three of four, and for all four you need a decision about who may use it and what it may do.

Step by step: bring MCP servers into your SCA program

  1. Discover. Ask each team to list every MCP server in use, including local ones. Asset discovery can help find what you did not know about.
  2. Classify each by source: internal code, open source you install, or hosted by a third party.
  3. For internal and installed servers, add the repository or directory to your SCA tool with its lockfile.
  4. Pin versions, and record the version you approved.
  5. Review tool descriptions and requested permissions before approval, and record the reviewer.
  6. Decide which agents may call which tools, and apply identity based controls for those agents.
  7. Turn on logging of tool calls so there is a trail.
  8. Rescan on a schedule and when an advisory lands for a package in any server.

Special risks to keep in mind

MCP servers run with the access of whoever runs them. A server installed on a laptop can touch whatever that user can touch. A malicious or compromised package in a server's tree can read files and credentials. These are reasons to scan dependencies, and to constrain what the server can reach.

Tool descriptions and tool outputs can carry instructions meant for the model. That is a behavior question, and no dependency scan will see it.

Related controls at a glance

ControlPurpose
SCA and SBOMKnow and check the libraries in each server
MCP GuardrailConstrain tool calls at runtime
Agent identityKnow which agent did what
Asset discoveryFind servers and agents you did not register
Policies and gatesBlock unapproved servers or versions from deployment

Keep the list current

An inventory of servers goes stale quickly, since developers add them as needed. Schedule a monthly review, and make adding a server to the approved list an easy process, so people use it rather than avoid it.

Try it yourself

Click through it at your own pace, or open it full screen.

Watch the steps for connecting a server, and mark which ones involve code you would want to scan and which involve permissions you would want to review.

Quick check

Is a dependency scan enough for an MCP server?

No. It covers imported libraries. You also need review of what the tools do and controls over which agents can use them.

Do locally installed MCP servers count?

Yes. A server on one developer laptop still runs code with that person's access, so include it in your inventory and scans.

How do I scan an MCP server I only run through a package runner?

Find the package's published manifest and exact version, add it to your inventory, and scan it. Prefer pinning the version rather than running whatever is newest.

Last reviewed: 19 October 2026.

Never miss an update

Weekly insights on software supply chain security, delivered to your inbox.

Self-healing security runs on Safeguard.

Your first fix PR is minutes away.

No sales call required, even your agent can complete the purchase over MCP.