← All rules
mcp-scan rule
CDN resource load
network-egress-cdninfoWhat mcp-scan saw
An endpoint's host matched the cdn category in KNOWN_ENDPOINTS by exact host or dot-suffix: unpkg.com, cdn.jsdelivr.net, cdnjs.cloudflare.com, skypack.dev, or esm.sh. Reported at INFO with no fix recommendation.
Why it fires
Loading code from a CDN at runtime means the code you reviewed and the code that runs are only related by a URL. That matters more for an MCP server than for a web page, because the server holds credentials and filesystem reach. It stays INFO because the listed CDNs are widely used and the finding is an inventory entry rather than a detection.
When this is a false positive
- Nothing to dismiss on the finding itself. The CDN host is recognized and that is what is being reported.
- The URL may be documentation rather than a runtime load. The scanner serializes the whole config, so a jsdelivr link in a description reports the same as one in args.
- Loading a pinned, integrity-checked asset from a CDN is a normal build-time pattern that happens to be visible in the config.
How to fix it
- Find where the URL appears: an argument means a runtime load, a description means documentation.
- For a runtime load, pin the exact version in the URL rather than a floating tag, so the fetched code cannot change.
- Prefer vendoring the dependency into the package where you can. A server with credentials should not be fetching code at launch.
- Add the host to allowedDomains in .mcp-scan.json to keep it out of the AST scanner's external-endpoint checks.
- No action is required for the finding itself.