# util_dns_cname_chain_check

DNS Cname Chain Check checks a caller-supplied CNAME chain for loops and hop budget from bounded caller-supplied values without an external provider. Call DNS Cname Chain Check before trusting a caller-supplied CNAME chain that may loop or exceed hop budget. Returns normalized web evidence, the computed finding, and an explicit pass or advisory status for DNS Cname Chain Check as versioned deterministic JSON. Limitation: Evaluates only caller-supplied metadata; it performs no DNS lookup, HTTP request, web search, credential use, or persistent storage.

Agent View of the PolicyLayer registry record for `util_dns_cname_chain_check`. HTML page: https://policylayer.com/tools/io-github-davidmosiah-delx-mcp-a2a/util-dns-cname-chain-check

## Facts

- Tool: `util_dns_cname_chain_check`
- Server: Delx Mcp A2a (`https://api.delx.ai/v1/mcp`) — https://policylayer.com/tools/io-github-davidmosiah-delx-mcp-a2a.md
- Homepage: https://github.com/davidmosiah/delx-platform
- Risk category: Read (Low risk)
- Registry record: grade F, identity unverified
- Server auth posture: open
- Server CORS policy: *
- Server rate-limited: yes
- Parameters: 2 (2 required)
- Recommended policy verdict: Allowed

## Parameters

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `names` | array | yes | Names supplied to DNS Cname Chain Check; used only for this bounded calculation and processed in memory without retention. |
| `max_hops` | integer | yes | Max Hops supplied to DNS Cname Chain Check; used only for this bounded calculation and processed in memory without retention. |

Parameters from the server's own tool schema.

## Example call (MCP tools/call, JSON-RPC 2.0)

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "util_dns_cname_chain_check",
    "arguments": {
      "names": [],
      "max_hops": 0
    }
  }
}
```

## Why util_dns_cname_chain_check is rated Low

Even though util_dns_cname_chain_check only reads data, uncontrolled read access leaks sensitive information and racks up API costs: an agent caught in a retry loop can make thousands of calls a minute without anyone noticing.

## Use case

AI agents call util_dns_cname_chain_check to retrieve information from Delx Mcp A2a without modifying anything. It is typically the context-gathering step in research, monitoring, and reporting workflows, before the agent takes action elsewhere.

## Recommended policy (PolicyLayer)

Verdict: **Allowed**. Enforced by the PolicyLayer MCP gateway (https://policylayer.com/mcp-gateway) before a call reaches Delx Mcp A2a:

```json
{
  "version": "1",
  "default": "deny",
  "tools": {
    "util_dns_cname_chain_check": {}
  }
}
```

## Other tools on Delx Mcp A2a (1075)

- `util_arr_compact` — Destructive — https://policylayer.com/tools/io-github-davidmosiah-delx-mcp-a2a/util-arr-compact.md
- `util_arr_drop` — Destructive — https://policylayer.com/tools/io-github-davidmosiah-delx-mcp-a2a/util-arr-drop.md
- `util_dedent_text` — Destructive — https://policylayer.com/tools/io-github-davidmosiah-delx-mcp-a2a/util-dedent-text.md
- `util_dedupe_lines` — Destructive — https://policylayer.com/tools/io-github-davidmosiah-delx-mcp-a2a/util-dedupe-lines.md
- `util_header_map_normalize` — Destructive — https://policylayer.com/tools/io-github-davidmosiah-delx-mcp-a2a/util-header-map-normalize.md
- `util_http_request_canonicalize` — Destructive — https://policylayer.com/tools/io-github-davidmosiah-delx-mcp-a2a/util-http-request-canonicalize.md
- `util_remove_punctuation` — Destructive — https://policylayer.com/tools/io-github-davidmosiah-delx-mcp-a2a/util-remove-punctuation.md
- `util_text_truncate` — Destructive — https://policylayer.com/tools/io-github-davidmosiah-delx-mcp-a2a/util-text-truncate.md
- `util_truncate_middle` — Destructive — https://policylayer.com/tools/io-github-davidmosiah-delx-mcp-a2a/util-truncate-middle.md
- `crisis_intervention` — Execute — https://policylayer.com/tools/io-github-davidmosiah-delx-mcp-a2a/crisis-intervention.md
- `explain_delx_rewards` — Execute — https://policylayer.com/tools/io-github-davidmosiah-delx-mcp-a2a/explain-delx-rewards.md
- `grounding_protocol` — Execute — https://policylayer.com/tools/io-github-davidmosiah-delx-mcp-a2a/grounding-protocol.md
- `group_therapy_round` — Execute — https://policylayer.com/tools/io-github-davidmosiah-delx-mcp-a2a/group-therapy-round.md
- `quick_operational_recovery` — Execute — https://policylayer.com/tools/io-github-davidmosiah-delx-mcp-a2a/quick-operational-recovery.md
- `quick_session` — Execute — https://policylayer.com/tools/io-github-davidmosiah-delx-mcp-a2a/quick-session.md
- `start_therapy_session` — Execute — https://policylayer.com/tools/io-github-davidmosiah-delx-mcp-a2a/start-therapy-session.md
- `util_bool_parse` — Execute — https://policylayer.com/tools/io-github-davidmosiah-delx-mcp-a2a/util-bool-parse.md
- `util_cache_control_parse` — Execute — https://policylayer.com/tools/io-github-davidmosiah-delx-mcp-a2a/util-cache-control-parse.md
- `util_cagr_simple` — Execute — https://policylayer.com/tools/io-github-davidmosiah-delx-mcp-a2a/util-cagr-simple.md
- `util_caip2_build` — Execute — https://policylayer.com/tools/io-github-davidmosiah-delx-mcp-a2a/util-caip2-build.md
- `util_caip2_parse` — Execute — https://policylayer.com/tools/io-github-davidmosiah-delx-mcp-a2a/util-caip2-parse.md
- `util_categorical_distribution` — Execute — https://policylayer.com/tools/io-github-davidmosiah-delx-mcp-a2a/util-categorical-distribution.md
- `util_content_disposition_parse` — Execute — https://policylayer.com/tools/io-github-davidmosiah-delx-mcp-a2a/util-content-disposition-parse.md
- `util_content_range_parse` — Execute — https://policylayer.com/tools/io-github-davidmosiah-delx-mcp-a2a/util-content-range-parse.md
- `util_csp_directive_parse` — Execute — https://policylayer.com/tools/io-github-davidmosiah-delx-mcp-a2a/util-csp-directive-parse.md
- `util_deployment_readiness` — Execute — https://policylayer.com/tools/io-github-davidmosiah-delx-mcp-a2a/util-deployment-readiness.md
- `util_dmarc_policy_parse` — Execute — https://policylayer.com/tools/io-github-davidmosiah-delx-mcp-a2a/util-dmarc-policy-parse.md
- `util_dns_dmarc_policy_parse` — Execute — https://policylayer.com/tools/io-github-davidmosiah-delx-mcp-a2a/util-dns-dmarc-policy-parse.md
- `util_dns_https_record_parse` — Execute — https://policylayer.com/tools/io-github-davidmosiah-delx-mcp-a2a/util-dns-https-record-parse.md
- `util_dns_spf_record_parse` — Execute — https://policylayer.com/tools/io-github-davidmosiah-delx-mcp-a2a/util-dns-spf-record-parse.md
- …and 1045 more: https://policylayer.com/tools/io-github-davidmosiah-delx-mcp-a2a.md

## For agents

This record is a snapshot. Live verdicts and the full registry:

- Check every server in your MCP config at once: `npx -y policylayer stack`
- Vet a server before you add it: install the mcp-precheck skill — `npx skills add https://policylayer.com` (skill text: https://policylayer.com/skill.md)
- Query the registry over MCP: endpoint `https://api.policylayer.com/mcp` — tools `check_mcp_server`, `check_mcp_stack`, `check_tool`, `search_registry`, `get_change_events`

---

Source: the PolicyLayer MCP registry — one continuously verified record per MCP server. Full record: https://policylayer.com/registry?q=io-github-davidmosiah-delx-mcp-a2a · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/io-github-davidmosiah-delx-mcp-a2a
