MailVakt
by mailvakt.com · remote · no sign-in to list tools · v0.1.1 · published by com.mailvakt
Use when email lands in spam: audits SPF, DKIM, DMARC, MX and returns the DNS records to fix it.
8 tools: 4 change things and 4 only read.
Scanned Oct 21, 2026
- Deletes or cancels0Claude Code: deny
- Can't be undone0Claude Code: ask
- Changes things4Claude Code: ask: see these tools
- Only reads4Claude Code: allow: see these tools
1 check matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http mailvakt https://mcp.mailvakt.com/mcpFindings
Matches of fixed checks, with the text they matched.
The server marks "generate_dns_records" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":true}; The name "generate_dns_records" says "generate": a word for a change.
Tools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
8 tools
Changes things 4Claude Code: ask
add_domainAdd a domain to the signed-in user's MailVakt account for DMARC report collection.No findings
Why it is in this group
- The name "add_domain" says "add": a word for a change.
Description, as the server wrote it Add a domain to the signed-in user's MailVakt account for DMARC report collection. Takes a domain; returns its DMARC reporting (rua) address and account entry. Repeated calls for the same account and domain return the existing entry. Requires domains:write permission. Does not verify domain ownership, modify DNS, or start receiving reports until the user publishes the reporting address in DNS.
Annotations the server declares
- title: Add domain
- readOnlyHint: false
- destructiveHint: false
- openWorldHint: false
- idempotentHint: true
diagnose_domainAudit a domain's SPF, DKIM, DMARC, MX, alignment, BIMI, MTA-STS and TLS-RPT setup and check it against free public blocklists (not Spamhaus) when troubleshooting email authenticati…No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Audit a domain's SPF, DKIM, DMARC, MX, alignment, BIMI, MTA-STS and TLS-RPT setup and check it against free public blocklists (not Spamhaus) when troubleshooting email authentication or spam delivery. Takes a domain, optional checks and DKIM selectors, and fresh=true to bypass cached results. Returns a graded scorecard, findings, proposed DNS fixes and a public report permalink. Uses DNS and policy-file lookups; never changes DNS or guarantees inbox placement.
Annotations the server declares
- title: Diagnose email domain
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
generate_dns_recordsPropose email-authentication DNS records and policy files for a domain using its DNS configuration and optional provider names or IDs.1 finding
Why it is in this group
- The name "generate_dns_records" says "generate": a word for a change.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "generate_dns_records" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":true}; The name "generate_dns_records" says "generate": a word for a change.
Description, as the server wrote it Propose email-authentication DNS records and policy files for a domain using its DNS configuration and optional provider names or IDs. Supports baseline (monitoring) or enforce goals; baseline is the default. Returns typed SPF, DKIM, DMARC, MTA-STS and TLS-RPT proposals or provider setup instructions where applicable. Provider-specific values and reporting addresses may need user input. Uses public DNS/policy lookups, possibly cached. Does not publish records or change DNS.
Annotations the server declares
- title: Generate email DNS records
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
start_inbox_testCreate an email-receipt test in MailVakt.No findings
Why it is in this group
- The name "start_inbox_test" says "start": a word for a change.
Description, as the server wrote it Create an email-receipt test in MailVakt. Takes an optional expected sender domain; returns a test ID, unique recipient address and expiry time. The user must send a test message to that address before expiry, then use get_inbox_test to read the result. Creates a new test on each call. Does not send email or measure inbox-versus-spam placement at Gmail, Outlook or other mailbox providers.
Annotations the server declares
- title: Start inbox test
- readOnlyHint: false
- destructiveHint: false
- openWorldHint: false
Only reads 4Claude Code: allow
analyze_email_headersAnalyze raw email headers supplied by the user to investigate authentication or delivery issues.No findings
Why it is in this group
- The name "analyze_email_headers" says "analyze": a word for reading.
Description, as the server wrote it Analyze raw email headers supplied by the user to investigate authentication or delivery issues. Returns the SPF, DKIM and DMARC results reported in those headers, alignment, the sending IP, whether that IP and the From domain are on free public blocklists (not Spamhaus), and detected issues. It does not independently verify DKIM signatures or establish the receiving provider's exact spam-filter decision. Provide headers only, not the message body.
Annotations the server declares
- title: Analyze email headers
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: true
get_dmarc_summarySummarize received DMARC aggregate reports for a domain already in the signed-in user's MailVakt account.No findings
Why it is in this group
- The name "get_dmarc_summary" says "get": a word for reading.
Description, as the server wrote it Summarize received DMARC aggregate reports for a domain already in the signed-in user's MailVakt account. Takes the domain and a 1-to-90-day window (default 7); returns report and message totals, DMARC pass/fail counts, and per-source SPF/DKIM alignment and receiver actions. Requires domains:read and reports:read permissions. Returns zero totals if no reports were received, or an error if the domain is not in the account. Does not add domains or generate report traffic.
Annotations the server declares
- title: DMARC report summary
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
get_inbox_testRead a MailVakt email-receipt test using the ID returned by start_inbox_test.No findings
Why it is in this group
- The name "get_inbox_test" says "get": a word for reading.
Description, as the server wrote it Read a MailVakt email-receipt test using the ID returned by start_inbox_test. Returns pending, received or expired status and, when processed, the received message's authentication, unsubscribe, content and deliverability findings. Reports processing failures as errors. Anyone with the test ID can retrieve it; use only an ID supplied by the user or created in this conversation. Does not measure placement at other mailbox providers.
Annotations the server declares
- title: Get inbox test result
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
list_domainsList domains in the signed-in user's MailVakt account, including each domain's DMARC reporting address.No findings
Why it is in this group
- The name "list_domains" says "list": a word for reading.
Description, as the server wrote it List domains in the signed-in user's MailVakt account, including each domain's DMARC reporting address. Takes no input and requires domains:read permission. Returns an empty list if the account has no domains. Use to find the account's available domains before requesting DMARC summaries; does not enumerate domains belonging to other users.
Annotations the server declares
- title: List domains
- readOnlyHint: true
- destructiveHint: false
- openWorldHint: false
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Install
Pinned to version 0.1.1. Values in angle brackets are yours to fill in.
claude mcp add --transport http mailvakt https://mcp.mailvakt.com/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__mailvakt__analyze_email_headers",
"mcp__mailvakt__get_inbox_test",
"mcp__mailvakt__list_domains",
"mcp__mailvakt__get_dmarc_summary"
],
"ask": [
"mcp__mailvakt__diagnose_domain",
"mcp__mailvakt__generate_dns_records",
"mcp__mailvakt__start_inbox_test",
"mcp__mailvakt__add_domain"
],
"deny": []
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as mailvakt. Review it before you use it.