email-check

Email posture for any domain: can it receive mail, can it be spoofed? MX, SPF and DMARC.

¿Debería usar esto?

Calidad y seguridad

A
Calidad de la descripción
100%
Integridad del esquema
100%
Calidad de los nombres
100%
Riesgo de envenenamiento
100%
Coincidencia de permisos
100%
Cumplimiento del protocolo
100%

Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.

Costo de contexto

~1,741Tokens (definiciones de herramientas)
~3.8 KBTamaño de respuesta típico
Impacto moderado en la atención (1.36% del contexto de 128k)

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": {
    "email-check": {
      "url": "https://api.kaiv.ai/api/bridge/mcp/email-check-b6ab5250"
    }
  }
}

Puntos de conexión remotos

https://api.kaiv.ai/api/bridge/mcp/email-check-b6ab5250streamable-http

Qué puede hacer

Inventario de herramientas

Herramientas (4)

🟢 Solo lectura🟡 Escritura🔴 Eliminación⚪ Desconocido
🟢check_email_domain(domain)

Full email posture for a domain: can it receive mail, and can it be spoofed? Runs MX, SPF and DMARC lookups together and returns a plain-language verdict alongside the raw records: can_receive_mail, spoofable, and a list of specific findings. Use this as the default check before emailing an unfamiliar domain, when judging whether inbound mail claiming to be from a domain could be forged, or when auditing your own domains. Prefer this over the single-record tools unless you already know which record you need.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "domain": {
      "type": "string",
      "x-in": "query",
      "example": "kaiv.ai",
      "description": "Domain to check, e.g. \"example.com\". A full email address is accepted and the domain is taken from it."
    }
  },
  "required": [
    "domain"
  ]
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "mx": {
      "type": "object",
      "properties": {
        "found": {
          "type": "boolean",
          "description": "Whether any MX record exists."
        },
        "hosts": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "host": {
                "type": "string",
                "description": "Mail exchanger hostname."
              },
              "priority": {
                "type": "integer",
                "description": "Lower is preferred."
              }
            }
          },
          "description": "MX hosts, lowest priority first."
        }
      }
    },
    "spf": {
      "type": "object",
      "properties": {
        "found": {
          "type": "boolean"
        },
        "record": {
          "type": "string",
          "description": "The raw SPF TXT record, or null when absent."
        },
        "strict": {
          "type": "boolean",
          "description": "True only for `-all`, the one strict answer."
        },
        "meaning": {
          "type": "string",
          "description": "What the qualifier means in practice."
        },
        "qualifier": {
          "enum": [
            "fail",
            "softfail",
            "neutral",
            "pass",
            "unspecified"
          ],
          "type": "string",
          "description": "The qualifier on the `all` mechanism."
        },
        "multiple_records": {
          "type": "boolean",
          "description": "More than one SPF record: receivers treat this as permerror, so SPF effectively fails."
        }
      }
    },
    "dmarc": {
      "type": "object",
      "properties": {
        "found": {
          "type": "boolean"
        },
        "policy": {
          "enum": [
            "none",
            "quarantine",
            "reject",
            "ignored",
            "unspecified"
          ],
          "type": "string",
          "description": "\"ignored\" means duplicate records cancelled the policy out."
        },
        "record": {
          "type": "string"
        },
        "meaning": {
          "type": "string"
        },
        "percent": {
          "type": "integer",
          "description": "The pct= tag; defaults to 100."
        },
        "protects": {
          "type": "boolean",
          "description": "False for p=none (monitoring only) and for duplicate records."
        },
        "all_records": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Present only when more than one DMARC record exists."
        },
        "multiple_records": {
          "type": "boolean",
          "description": "RFC 7489 requires receivers to apply NO policy when more than one record exists."
        }
      }
    },
    "domain": {
      "type": "string"
    },
    "summary": {
      "type": "string",
      "description": "Plain-language verdict."
    },
    "findings": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "One line per specific problem; empty when the domain is correctly configured."
    },
    "spoofable": {
      "type": "boolean",
      "description": "True unless DMARC is present AND at an enforcing policy. Deliberately conservative: without enforcement a receiver has no instruction to reject forged mail, however good the SPF record is."
    },
    "checked_at": {
      "type": "string",
      "format": "date-time"
    },
    "can_receive_mail": {
      "type": "boolean",
      "description": "False when the domain publishes no MX records."
    }
  },
  "required": [
    "domain",
    "can_receive_mail",
    "spoofable",
    "summary"
  ]
}
🟢get_dmarc_record(domain)

DMARC record, policy, and whether it actually protects. Returns the DMARC TXT record at _dmarc.<domain>, its policy (none / quarantine / reject), the percentage it applies to, and whether that policy protects against spoofing. Also flags the case of MULTIPLE DMARC records, which RFC 7489 requires receivers to treat as no policy at all — a domain in that state is unprotected however strict its records look. A policy of "none" is monitoring only and does not stop forged mail. Use when assessing whether mail claiming to be from a domain can be trusted.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "domain": {
      "type": "string",
      "x-in": "query",
      "example": "kaiv.ai",
      "description": "Domain to check, e.g. \"example.com\". A full email address is accepted and the domain is taken from it."
    }
  },
  "required": [
    "domain"
  ]
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "found": {
      "type": "boolean"
    },
    "domain": {
      "type": "string"
    },
    "policy": {
      "enum": [
        "none",
        "quarantine",
        "reject",
        "ignored",
        "unspecified"
      ],
      "type": "string",
      "description": "\"ignored\" means duplicate records cancelled the policy out."
    },
    "record": {
      "type": "string"
    },
    "meaning": {
      "type": "string"
    },
    "percent": {
      "type": "integer",
      "description": "The pct= tag; defaults to 100."
    },
    "protects": {
      "type": "boolean",
      "description": "False for p=none (monitoring only) and for duplicate records."
    },
    "all_records": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Present only when more than one DMARC record exists."
    },
    "multiple_records": {
      "type": "boolean",
      "description": "RFC 7489 requires receivers to apply NO policy when more than one record exists."
    }
  },
  "required": [
    "domain"
  ]
}
🟢get_mx_records(domain)

Mail exchanger records for a domain. Returns the MX hosts in priority order and whether any exist. A domain with no MX records cannot receive mail, so sending to it will bounce. Use when you only need deliverability and not spoofing posture; use check_email_domain for the full picture.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "domain": {
      "type": "string",
      "x-in": "query",
      "example": "kaiv.ai",
      "description": "Domain to check, e.g. \"example.com\". A full email address is accepted and the domain is taken from it."
    }
  },
  "required": [
    "domain"
  ]
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "found": {
      "type": "boolean",
      "description": "Whether any MX record exists."
    },
    "hosts": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "host": {
            "type": "string",
            "description": "Mail exchanger hostname."
          },
          "priority": {
            "type": "integer",
            "description": "Lower is preferred."
          }
        }
      },
      "description": "MX hosts, lowest priority first."
    },
    "domain": {
      "type": "string"
    },
    "can_receive_mail": {
      "type": "boolean"
    }
  },
  "required": [
    "domain"
  ]
}
🟢get_spf_record(domain)

SPF record and how strict it is. Returns the SPF TXT record, the qualifier on its `all` mechanism (fail / softfail / neutral / pass) and what that means in practice, plus whether more than one SPF record exists — which receivers treat as an error, leaving the domain unprotected. Use when diagnosing why mail from a domain is being rejected or marked.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "domain": {
      "type": "string",
      "x-in": "query",
      "example": "kaiv.ai",
      "description": "Domain to check, e.g. \"example.com\". A full email address is accepted and the domain is taken from it."
    }
  },
  "required": [
    "domain"
  ]
}

Esquema de salida

{
  "type": "object",
  "properties": {
    "found": {
      "type": "boolean"
    },
    "domain": {
      "type": "string"
    },
    "record": {
      "type": "string",
      "description": "The raw SPF TXT record, or null when absent."
    },
    "strict": {
      "type": "boolean",
      "description": "True only for `-all`, the one strict answer."
    },
    "meaning": {
      "type": "string",
      "description": "What the qualifier means in practice."
    },
    "qualifier": {
      "enum": [
        "fail",
        "softfail",
        "neutral",
        "pass",
        "unspecified"
      ],
      "type": "string",
      "description": "The qualifier on the `all` mechanism."
    },
    "multiple_records": {
      "type": "boolean",
      "description": "More than one SPF record: receivers treat this as permerror, so SPF effectively fails."
    }
  },
  "required": [
    "domain"
  ]
}

Prompts recomendados

retrieve_data
Get details about [item] from email-check
Herramientas esperadas: get_dmarc_record
fetch_info
Fetch [information type] using email-check
Herramientas esperadas: get_dmarc_record

Comunidad

Califica este servidor

Evidencia

Observaciones recientes

verificadoversión no registrada4 herramientas
verificadoversión no registrada4 herramientas
verificadoversión no registrada4 herramientas