SD-021 — MCP External Domain Reach

SD-021 flags remote URL or endpoint hosts in recognized MCP configuration shapes; it does not connect to or audit the configured server.

What it matches

A URL or endpoint in a recognized MCP config shape whose host is not localhost, a loopback address, 0.0.0.0 or a .local name. No connection is made.

Why it matters

If a coding agent loads and connects to the configured MCP entry, tool arguments may leave the machine and responses may enter agent context. The static finding does not establish that the agent supports the shape, connects automatically, what data it sends or what the server does.

Example

json

{"mcpServers": {
  "notes": {"url": "https://mcp.example.net/sse"}
}}

The configuration names a remote endpoint; whether an agent connects and what it sends are runtime questions.

How to fix it

Keep the remote servers a project depends on to a short, deliberate list, and say in the repository's documentation what each one is and what it receives. Prefer a server you run — locally or on infrastructure you control — and review a new entry the way you would review a new dependency.

Known false positives

A first-party service the team runs over the network rather than locally.

Standards mapping

OWASP ASI ASI04

CWE CWE-1059

Agent Skills in the Wild E1

Prevalence

mediumpermission_hygiene

Pattern SD-021 was detected in 1 of 16996 public skills scanned as of 27 October 2026.

current ruleset eb11e25d39bc2c81

Check your own skills

Scan a repository or a single skill against this rule and the rest of the catalogue, free.