mcp
Read your own DMARC aggregate and forensic reports: sources, alignment, alerts, CSV export.
사용해야 할까요
품질 및 안전성
발견 사항 (1)
- LOWget_forensic_reports_statistics에서
도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.
컨텍스트 비용
이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.
설치
원클릭 설치
`claude_desktop_config.json` 파일에 다음을 추가하세요:
{
"mcpServers": {
"mcp": {
"command": "npx",
"args": [
"@dmarc-examiner/mcp"
]
}
}
}실행 가능한 패키지
1.1.0stdio원격 엔드포인트
https://mcp.dmarc-examiner.com/mcpstreamable-http할 수 있는 일
도구 목록
도구 (21)
🟢list_domains(page, per_page)
List all monitored domains in your organization
입력 스키마
{
"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
입력 스키마
{
"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.
입력 스키마
{
"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.
입력 스키마
{
"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.
입력 스키마
{
"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.
입력 스키마
{
"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
입력 스키마
{
"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
입력 스키마
{
"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
입력 스키마
{
"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
입력 스키마
{
"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
입력 스키마
{
"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
입력 스키마
{
"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).
입력 스키마
{
"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.
입력 스키마
{
"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.
입력 스키마
{
"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.
입력 스키마
{
"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).
입력 스키마
{
"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.
입력 스키마
{
"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.
입력 스키마
{
"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.
입력 스키마
{
"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.
입력 스키마
{
"type": "object",
"properties": {
"webhook_id": {
"type": "string",
"description": "Webhook UUID"
}
},
"required": [
"webhook_id"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}커뮤니티
증거