DnsGuard
Check a domain's email authentication: SPF, DKIM, DMARC, BIMI, MX, MTA-STS, TLS-RPT. Score + fixes.
¿Debería usar esto?
Calidad y seguridad
Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.
Costo de contexto
Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.
Instalar
Instalación con un clic
Agrega esto a tu archivo `claude_desktop_config.json`:
{
"mcpServers": {
"dnsguard": {
"url": "https://dnsguard.mike-tusa.workers.dev/mcp"
}
}
}Puntos de conexión remotos
https://dnsguard.mike-tusa.workers.dev/mcpstreamable-httpQué puede hacer
Inventario de herramientas
Herramientas (1)
🟢check_domain(domain, dkim_selector, include_raw)
Audit the email-authentication DNS records of a domain. Returns a 0–100 score and A–F grade (MX 10, SPF 25, DMARC 30, DKIM 25, BIMI 10, plus up to 5 bonus points for MTA-STS and TLS-RPT, capped at 100), each check's status, published record, findings and recommended fixes, and a link to the full report. Read-only: it only queries public DNS and the domain's public MTA-STS policy file. Same engine and scoring as the DnsGuard JSON API (GET /api/check).
Esquema de entrada
{
"type": "object",
"properties": {
"domain": {
"type": "string",
"minLength": 1,
"maxLength": 300,
"description": "Domain to check, e.g. example.com. A URL or email address is accepted and reduced to its domain."
},
"dkim_selector": {
"type": "string",
"maxLength": 255,
"description": "Optional DKIM selector (the s= value from a DKIM-Signature header), e.g. s1 or google. Common selectors are always tried."
},
"include_raw": {
"type": "boolean",
"default": false,
"description": "Also return the full /api/check JSON (all records, SPF include tree, DKIM keys) in structuredContent.raw. Larger output."
}
},
"required": [
"domain"
],
"additionalProperties": false
}Esquema de salida
{
"type": "object",
"properties": {
"domain": {
"type": "string"
},
"organizationalDomain": {
"type": "string"
},
"score": {
"type": "number"
},
"maxScore": {
"type": "number"
},
"grade": {
"type": "string",
"enum": [
"A",
"B",
"C",
"D",
"F"
]
},
"scoreBreakdown": {
"type": "object",
"properties": {
"base": {
"type": "number"
},
"bonus": {
"type": "number"
},
"bonusMax": {
"type": "number"
},
"cap": {
"type": "number"
}
}
},
"checks": {
"type": "object",
"properties": {
"mx": {
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"pass",
"warn",
"fail",
"info"
]
},
"score": {
"type": "number"
},
"maxScore": {
"type": "number"
},
"bonus": {
"type": "boolean",
"description": "true for MTA-STS / TLS-RPT (bonus points on top of the 100-point core)"
},
"record": {
"type": "string",
"description": "Published record (omitted when none was found)"
},
"findings": {
"type": "array",
"items": {
"type": "object",
"properties": {
"level": {
"type": "string",
"enum": [
"pass",
"info",
"warn",
"fail"
]
},
"message": {
"type": "string"
}
},
"required": [
"level",
"message"
]
}
},
"recommendations": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"status",
"score",
"maxScore",
"findings",
"recommendations"
]
},
"spf": {
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"pass",
"warn",
"fail",
"info"
]
},
"score": {
"type": "number"
},
"maxScore": {
"type": "number"
},
"bonus": {
"type": "boolean",
"description": "true for MTA-STS / TLS-RPT (bonus points on top of the 100-point core)"
},
"record": {
"type": "string",
"description": "Published record (omitted when none was found)"
},
"findings": {
"type": "array",
"items": {
"type": "object",
"properties": {
"level": {
"type": "string",
"enum": [
"pass",
"info",
"warn",
"fail"
]
},
"message": {
"type": "string"
}
},
"required": [
"level",
"message"
]
}
},
"recommendations": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"status",
"score",
"maxScore",
"findings",
"recommendations"
]
},
"dmarc": {
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"pass",
"warn",
"fail",
"info"
]
},
"score": {
"type": "number"
},
"maxScore": {
"type": "number"
},
"bonus": {
"type": "boolean",
"description": "true for MTA-STS / TLS-RPT (bonus points on top of the 100-point core)"
},
"record": {
"type": "string",
"description": "Published record (omitted when none was found)"
},
"findings": {
"type": "array",
"items": {
"type": "object",
"properties": {
"level": {
"type": "string",
"enum": [
"pass",
"info",
"warn",
"fail"
]
},
"message": {
"type": "string"
}
},
"required": [
"level",
"message"
]
}
},
"recommendations": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"status",
"score",
"maxScore",
"findings",
"recommendations"
]
},
"dkim": {
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"pass",
"warn",
"fail",
"info"
]
},
"score": {
"type": "number"
},
"maxScore": {
"type": "number"
},
"bonus": {
"type": "boolean",
"description": "true for MTA-STS / TLS-RPT (bonus points on top of the 100-point core)"
},
"record": {
"type": "string",
"description": "Published record (omitted when none was found)"
},
"findings": {
"type": "array",
"items": {
"type": "object",
"properties": {
"level": {
"type": "string",
"enum": [
"pass",
"info",
"warn",
"fail"
]
},
"message": {
"type": "string"
}
},
"required": [
"level",
"message"
]
}
},
"recommendations": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"status",
"score",
"maxScore",
"findings",
"recommendations"
]
},
"bimi": {
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"pass",
"warn",
"fail",
"info"
]
},
"score": {
"type": "number"
},
"maxScore": {
"type": "number"
},
"bonus": {
"type": "boolean",
"description": "true for MTA-STS / TLS-RPT (bonus points on top of the 100-point core)"
},
"record": {
"type": "string",
"description": "Published record (omitted when none was found)"
},
"findings": {
"type": "array",
"items": {
"type": "object",
"properties": {
"level": {
"type": "string",
"enum": [
"pass",
"info",
"warn",
"fail"
]
},
"message": {
"type": "string"
}
},
"required": [
"level",
"message"
]
}
},
"recommendations": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"status",
"score",
"maxScore",
"findings",
"recommendations"
]
},
"mtaSts": {
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"pass",
"warn",
"fail",
"info"
]
},
"score": {
"type": "number"
},
"maxScore": {
"type": "number"
},
"bonus": {
"type": "boolean",
"description": "true for MTA-STS / TLS-RPT (bonus points on top of the 100-point core)"
},
"record": {
"type": "string",
"description": "Published record (omitted when none was found)"
},
"findings": {
"type": "array",
"items": {
"type": "object",
"properties": {
"level": {
"type": "string",
"enum": [
"pass",
"info",
"warn",
"fail"
]
},
"message": {
"type": "string"
}
},
"required": [
"level",
"message"
]
}
},
"recommendations": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"status",
"score",
"maxScore",
"findings",
"recommendations"
]
},
"tlsRpt": {
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"pass",
"warn",
"fail",
"info"
]
},
"score": {
"type": "number"
},
"maxScore": {
"type": "number"
},
"bonus": {
"type": "boolean",
"description": "true for MTA-STS / TLS-RPT (bonus points on top of the 100-point core)"
},
"record": {
"type": "string",
"description": "Published record (omitted when none was found)"
},
"findings": {
"type": "array",
"items": {
"type": "object",
"properties": {
"level": {
"type": "string",
"enum": [
"pass",
"info",
"warn",
"fail"
]
},
"message": {
"type": "string"
}
},
"required": [
"level",
"message"
]
}
},
"recommendations": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"status",
"score",
"maxScore",
"findings",
"recommendations"
]
}
}
},
"notes": {
"type": "array",
"items": {
"type": "string"
}
},
"checkedAt": {
"type": "string"
},
"cached": {
"type": "boolean"
},
"tier": {
"type": "string",
"enum": [
"anonymous",
"free",
"pro"
]
},
"reportUrl": {
"type": "string"
},
"apiUrl": {
"type": "string"
},
"version": {
"type": "string"
},
"raw": {
"type": "object",
"description": "Full /api/check response (only when include_raw is true)"
}
},
"required": [
"domain",
"score",
"maxScore",
"grade",
"checks",
"reportUrl"
]
}Comunidad
Evidencia