Check a URL against a WARDEN egress allowlist
check_egress_urlVerify a URL's hostname against an operator allowlist before a tool fetches it. Empty allowlist blocks all hosts, preventing unauthorized callbacks.
Instructions
Ask EgressGuard whether a URL's hostname is on an operator allowlist. A tool reaching a host you never listed is the classic phone-home tell. Empty allowlist blocks everything (fail-closed), not everything-allowed.
When to use: a tool is about to fetch/post and you want the same check a host should wrap around that request. Hostnames match case-insensitively; "*.example.com" matches subdomains, not the apex.
When NOT to use: vetting tool definitions (vet_mcp_server / static_scan_tools); canonicalizing JSON (canonicalize_json). This does not fetch the URL and does not inspect tool text.
Behaviour: local URL parse + hostname match. Unparseable URLs are refused. No DNS, no HTTP. Idempotent.
Returns { allowed, host?, reason? }. Example: check_egress_url({ url: "https://api.github.com/repos", allowlist: ["api.github.com", "*.internal.example.com"] }).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Absolute URL the tool wants to open (https://host/path). Only the hostname is compared; path, query, and credentials are not allowlisted separately. Must be parseable by the WHATWG URL parser. | |
| allowlist | Yes | Permitted hostnames. Exact match, or leading "*." for subdomains ("*.example.com" matches api.example.com, not example.com). Empty array blocks every host. Entries are trimmed and compared case-insensitively. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| host | No | Parsed hostname when the URL was valid. | |
| reason | No | Why the request is blocked; omitted when allowed is true. | |
| allowed | Yes | true only when the hostname matches an allowlist entry. |