{
 "$schema": "https://static.modelcontextprotocol.io/schemas/mcp-server-card/v1.json",
 "name": "com.clawhard/stamp",
 "title": "Stamp",
 "version": "1.0.0",
 "description": "Stamp checks a domain's email authentication from live DNS: SPF with the 10-lookup limit, DMARC, DKIM keys and MX. It says whether you meet the Gmail, Yahoo and Outlook sender rules and gives you the exact DNS records to fix what is wrong. No account.",
 "websiteUrl": "https://stamp.clawhard.com",
 "documentationUrl": "https://stamp.clawhard.com/llms.txt",
 "iconUrl": "https://clawhard.com/icon-512.png",
 "serverInfo": {
  "name": "com.clawhard/stamp",
  "title": "Stamp",
  "version": "1.0.0"
 },
 "protocolVersion": "2025-06-18",
 "transport": "streamable-http",
 "endpoint": "https://stamp.clawhard.com/mcp",
 "remotes": [
  {
   "type": "streamable-http",
   "url": "https://stamp.clawhard.com/mcp"
  }
 ],
 "authentication": {
  "required": false
 },
 "capabilities": {
  "tools": {
   "listChanged": false
  },
  "prompts": {
   "listChanged": false
  },
  "resources": {
   "subscribe": false,
   "listChanged": false
  }
 },
 "tools": [
  {
   "name": "stamp_check_email_domain",
   "title": "Check a domain's email authentication (SPF, DKIM, DMARC, MX) from live DNS",
   "description": "Use when the user asks why their email goes to spam, whether their domain is set up to send email, or before they launch a newsletter, cold outreach, transactional email or a new sending service, e.g. \"why are my emails going to spam?\", \"is my SPF/DKIM/DMARC right?\", \"do I meet Gmail and Yahoo's sender requirements?\" or \"I added SendGrid, did I break SPF?\". Reads public DNS (DNS-over-HTTPS) and checks: SPF (exactly one record, every include followed and DNS lookups counted per RFC 7208 against the limit of 10, void lookups, loops, +all/?all, ptr), DMARC (RFC 7489 syntax, policy, pct, alignment, inherited from the parent domain, and whether an external report address authorized it), DKIM (17 common selectors plus any you pass; key type and RSA key size read from the key, revoked or broken keys), and MX (provider, null MX). Returns a grade A-F, a verdict, each check with status pass/warn/fail/info, whether the Gmail, Yahoo and Outlook.com sender rules are met, and copy-ready DNS records to fix problems (e.g. one merged SPF record, a starter DMARC record). Use the real result instead of guessing from memory; DNS cannot list DKIM selectors, so if none is found ask for the provider's selector (the s= value in a DKIM-Signature header) and check again. Accepts a domain, an email address or a URL. Results are cached for 5 minutes; pass fresh=true right after the user changes DNS."
  },
  {
   "name": "stamp_check_dns_record",
   "title": "Check an SPF, DMARC or DKIM record before publishing it",
   "description": "Use when you or the user are about to publish or edit an SPF, DMARC or DKIM TXT record, for example after writing a new SPF record that adds a sending service, or when the user pastes a record and asks \"is this right?\". Detects the record type. SPF: syntax per RFC 7208, every include and redirect followed live in DNS and counted against the 10-lookup limit, void lookups, loops, the final all; returns a lookup tree. DMARC: RFC 7489 tags and values (p, sp, pct, rua/ruf, adkim/aspf, fo). DKIM: key type and RSA key size read from the key, revoked (empty p=) or truncated keys. Returns valid true/false, errors, warnings and where to publish it. Pass domain so a/mx terms without a value can be resolved."
  }
 ],
 "prompts": [
  {
   "name": "stamp_check_my_email_setup",
   "title": "Check my email setup",
   "description": "Check a domain's SPF, DKIM, DMARC and MX, see if mail will reach the inbox, and get the DNS records to fix it."
  }
 ],
 "publisher": {
  "name": "Clawhard Studio",
  "url": "https://clawhard.com",
  "contact": "support@clawhard.com"
 }
}