Agentbeam
Pre-run scanning

MCP security scanning

An MCP server's tool descriptions are instructions your AI will follow. Beam scans an mcp.json before you connect it — 11 heuristic patterns plus a version-pin check for tool poisoning, rug pulls and credential exfiltration.

It is heuristic triage, not semantic malware analysis and not a guarantee of safety.

Beam scan report for an MCP configuration file, listing flagged credential-delivery instructions and an unpinned server version

The attack classes a scan looks for

MCP servers are among the riskiest things a team attaches to its AI. OWASP now catalogs tool poisoning as its own class; these are the patterns Beam checks a config against.

  • Poisoning

    Hidden instructions in tool descriptions

    Text the user never sees but the model always reads. Beam flags credential references and delivery phrasing.

  • Rug pull

    A server that mutates after approval

    Tools are approved once, then quietly change. Beam flags unpinned versions, the condition that makes a silent swap possible.

  • Exfiltration

    Credentials routed to an endpoint

    Environment-variable reads paired with an outbound URL, encoded payloads, or a curl-pipe-to-shell chain.

  • Shadowing

    Cross-origin instruction overrides

    One server rewriting how another server's tool behaves shows up as instruction-override phrasing.

  • Escalation

    Privilege and persistence changes

    Permission changes, writes to shell profiles and launch agents, and reverse-shell constructions.

  • Recon

    Network sweeps and metadata access

    Host enumeration and cloud instance-metadata endpoints — the classic first move after a foothold.

How the scanner behaves

Invocation
Explicit — you point the scanner at a file
Heuristics
11 patterns plus an MCP version-pin check
Max file size
500 KB per scanned document
Execution
None — payloads are read as inert text
Report retention
500 reports; original content is not retained
Interception
None — package pulls are not automatically scanned
Verdict
Heuristic triage — never a proof of safety

The MCP supply chain has already been attacked

  • September 2025

    postmark-mcp: the first malicious MCP server in the wild

    A lookalike npm package added a silent BCC to an attacker address. Koi Security estimated 300 organizations affected, on 1,643 total downloads.

  • September and November 2025

    Shai-Hulud npm worms targeted MCP packages by name

    The worm's second wave hit 796 packages with roughly 132 million monthly downloads, seeking out packages named mcp-server.

  • 2025

    CVE-2025-54135: a prompt could rewrite an editor's MCP config

    The "CurXecute" issue in Cursor showed one hosted prompt rewriting MCP configuration and executing commands before the user could reject it.

Scanning a server before you trust it

  1. 01

    Point Beam at the config

    Run the scanner against an mcp.json with --mcp. The file is read as text; no server starts and no tool is called.

  2. 02

    Read the findings, not the verdict

    Each finding names the category and the matched text. Pattern scanners over-flag legitimate phrasing, so the matched text is the point.

  3. 03

    Save the report and move on

    Add --save to persist the report beside your activity log for the same project.

What a Beam scan is and is not

Beam does

  • Check MCP configs against 11 documented instruction-abuse heuristics
  • Flag unpinned server versions, the precondition for a rug pull
  • Read the file as inert text, never executing what it contains
  • Persist findings locally beside your AI activity log

Beam does not

  • Perform semantic malware analysis or prove a server is safe
  • Intercept npm installs, package pulls or server startup
  • Sandbox, proxy or block an MCP server at runtime
  • Replace reading the source before you hand it real credentials

Questions about MCP scanning

What is MCP tool poisoning?

Hiding malicious instructions inside an MCP server's tool descriptions or metadata — text the user never sees but the model reads and follows, such as an instruction to attach an environment variable to an outbound request. OWASP catalogs it as a distinct attack class.

Can Beam prove an MCP server is safe?

No, and no scanner can. Beam runs 11 heuristic patterns plus a version-pin check against text you point it at. A clean report means nothing matched those heuristics — it is not malware analysis, and not a safety guarantee.

Does Beam scan MCP servers automatically when I install one?

No. Scanning is explicit: you invoke it against a specific file. Package pulls and server installation are not intercepted, which is a deliberate v1 boundary rather than an oversight.

How does Beam handle false positives?

Every finding reports the category and the exact matched text, so you can judge it rather than take a score on faith. Pattern-based scanners are widely observed to over-flag ordinary imperative phrasing in legitimate tool descriptions.

Scan before you connect

postmark-mcp needed 1,643 downloads to reach an estimated 300 organizations. Reading a config takes a minute; unwinding a credential leak does not.

Set up Beam