# util_email_dmarc_alignment_check

Email DMARC Alignment Check combines caller-supplied SPF and DKIM alignment outcomes for DMARC from bounded caller-supplied values without an external provider. Call Email DMARC Alignment Check before combining caller-supplied SPF and DKIM alignment outcomes for DMARC. Returns normalized web evidence, the computed finding, and an explicit pass or advisory status for Email DMARC Alignment 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_email_dmarc_alignment_check`. HTML page: https://policylayer.com/tools/io-github-davidmosiah-delx-mcp-a2a/util-email-dmarc-alignment-check

## Facts

- Tool: `util_email_dmarc_alignment_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: 3 (3 required)
- Recommended policy verdict: Allowed

## Parameters

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `policy` | string | yes | Policy supplied to Email DMARC Alignment Check; used only for this bounded calculation and processed in memory without retention. |
| `spf_aligned` | boolean | yes | SPF Aligned supplied to Email DMARC Alignment Check; used only for this bounded calculation and processed in memory without retention. |
| `dkim_aligned` | boolean | yes | DKIM Aligned supplied to Email DMARC Alignment 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_email_dmarc_alignment_check",
    "arguments": {
      "policy": "<policy>",
      "spf_aligned": false,
      "dkim_aligned": false
    }
  }
}
```

## Why util_email_dmarc_alignment_check is rated Low

Even though util_email_dmarc_alignment_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_email_dmarc_alignment_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_email_dmarc_alignment_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
