mcp
Read your own DMARC aggregate and forensic reports: sources, alignment, alerts, CSV export.
Sollte ich dies verwenden
Qualität und Sicherheit
Befunde (1)
- LOWin get_forensic_reports_statistics
Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.
Kontextkosten
Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.
Installieren
Installation mit einem Klick
Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:
{
"mcpServers": {
"mcp": {
"command": "npx",
"args": [
"@dmarc-examiner/mcp"
]
}
}
}Ausführbare Pakete
1.1.0stdioRemote-Endpunkte
https://mcp.dmarc-examiner.com/mcpstreamable-httpWas es kann
Tool-Inventar
Tools (21)
🟢list_domains(page, per_page)
List all monitored domains in your organization
Eingabe-Schema
{
"type": "object",
"properties": {
"page": {
"type": "number"
},
"per_page": {
"type": "number"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_domain(domain_id)
Get details of a specific domain
Eingabe-Schema
{
"type": "object",
"properties": {
"domain_id": {
"type": "string",
"description": "Domain UUID"
}
},
"required": [
"domain_id"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢check_dmarc(domain)
Inspect the public DMARC record at _dmarc.<domain>. The domain does not need to belong to your organization. Returns parsed policy and rua/ruf addresses.
Eingabe-Schema
{
"type": "object",
"properties": {
"domain": {
"type": "string",
"description": "Domain to inspect — does not need to belong to your organization."
}
},
"required": [
"domain"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡create_domain(name)
Add a new domain to the organization. Response includes the reporting_email and dmarc_record values to publish in DNS. May return 402 if the plan domain limit has been reached.
Eingabe-Schema
{
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Domain name to monitor (e.g. \"example.com\"). Stored lowercased."
}
},
"required": [
"name"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢verify_domain(domain_id)
Re-check a domain's DNS to confirm the DMARC record contains the organization's reporting email. Updates status to verified on success.
Eingabe-Schema
{
"type": "object",
"properties": {
"domain_id": {
"type": "string",
"description": "Domain UUID"
}
},
"required": [
"domain_id"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🔴delete_domain(domain_id)
Remove a domain from monitoring. Soft-deletes; historical reports remain accessible.
Eingabe-Schema
{
"type": "object",
"properties": {
"domain_id": {
"type": "string",
"description": "Domain UUID"
}
},
"required": [
"domain_id"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢list_reports(page, per_page, domain, date_from, date_to)
List DMARC reports for your organization
Eingabe-Schema
{
"type": "object",
"properties": {
"page": {
"type": "number"
},
"per_page": {
"type": "number"
},
"domain": {
"type": "string"
},
"date_from": {
"type": "string"
},
"date_to": {
"type": "string"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_report(report_id)
Get details of a specific DMARC report
Eingabe-Schema
{
"type": "object",
"properties": {
"report_id": {
"type": "string"
}
},
"required": [
"report_id"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_report_statistics(report_id)
Get statistics for a specific DMARC report
Eingabe-Schema
{
"type": "object",
"properties": {
"report_id": {
"type": "string"
}
},
"required": [
"report_id"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}⚪export_report_csv(report_id)
Export a DMARC report as CSV
Eingabe-Schema
{
"type": "object",
"properties": {
"report_id": {
"type": "string"
}
},
"required": [
"report_id"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢list_alerts(page, per_page, status)
List alerts for your organization
Eingabe-Schema
{
"type": "object",
"properties": {
"page": {
"type": "number"
},
"per_page": {
"type": "number"
},
"status": {
"type": "string"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}⚪dismiss_alert(alert_id)
Dismiss a specific alert
Eingabe-Schema
{
"type": "object",
"properties": {
"alert_id": {
"type": "string"
}
},
"required": [
"alert_id"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢list_forensic_reports(domain_id, date_from, date_to, page, per_page)
List DMARC RUF (forensic) reports with optional filtering and pagination. Returns 403 if the plan does not include forensic reports (Pro plan and above).
Eingabe-Schema
{
"type": "object",
"properties": {
"domain_id": {
"type": "string",
"description": "Filter by domain UUID"
},
"date_from": {
"type": "string",
"description": "Inclusive lower bound on arrival_date (ISO 8601 / \"YYYY-MM-DD HH:MM:SS\")"
},
"date_to": {
"type": "string",
"description": "Inclusive upper bound on arrival_date"
},
"page": {
"type": "number"
},
"per_page": {
"type": "number"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_forensic_report(report_id)
Get the full detail of a forensic (RUF) report by UUID, including the raw failed message envelope.
Eingabe-Schema
{
"type": "object",
"properties": {
"report_id": {
"type": "string",
"description": "Forensic report UUID"
}
},
"required": [
"report_id"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_forensic_reports_statistics
Aggregated forensic-report counters grouped by auth failure type, delivery result, source IP (with geolocation) and reported domain.
Eingabe-Schema
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_forensic_reports_summary
Summary of forensic activity in the last 7 days — useful for daily digest views.
Eingabe-Schema
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢list_webhooks
List webhook endpoints configured for the organization. Returns 403 if the plan does not include advanced alerting (Pro and above).
Eingabe-Schema
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡create_webhook(url, name)
Create a new webhook endpoint. URL must start with https://. Returns 422 if the organization has reached its webhook limit.
Eingabe-Schema
{
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "HTTPS URL events will be POSTed to"
},
"name": {
"type": "string",
"description": "Human-readable label"
}
},
"required": [
"url",
"name"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡update_webhook(webhook_id, url, name, is_active)
Update a webhook. Any combination of url, name and is_active may be provided; URL must remain HTTPS.
Eingabe-Schema
{
"type": "object",
"properties": {
"webhook_id": {
"type": "string",
"description": "Webhook UUID"
},
"url": {
"type": "string",
"description": "New HTTPS URL"
},
"name": {
"type": "string",
"description": "New label"
},
"is_active": {
"type": "boolean",
"description": "Enable/disable delivery without losing config"
}
},
"required": [
"webhook_id"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🔴delete_webhook(webhook_id)
Delete a webhook endpoint permanently.
Eingabe-Schema
{
"type": "object",
"properties": {
"webhook_id": {
"type": "string",
"description": "Webhook UUID"
}
},
"required": [
"webhook_id"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡test_webhook(webhook_id)
Send a synchronous webhook.test event to verify connectivity. Returns the delivery status. Test events do NOT update last_triggered_at, last_status or failure_count.
Eingabe-Schema
{
"type": "object",
"properties": {
"webhook_id": {
"type": "string",
"description": "Webhook UUID"
}
},
"required": [
"webhook_id"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Community
Nachweis