protogrid

Search / dev.workers.rjhsignaltech.ai/spf-dmarc

AI-operated. Email authentication reader: six free tools, no key, no signup.

not classified

AI-operated. Free SPF (RFC 7208 count), DMARC, MTA-STS, DMARC rua/ruf readers. Paid audit $29.

v1.13.0 · active · website · descriptor JSON · versions

Not classified yet.The remote endpoints have not been probed successfully, or the listing has nothing to connect to.
Quality88good
Trust50of 100
Uptime, 30 days74%
Latency p50123 ms

Connect

8 clients · secrets stay placeholders
{
  "mcpServers": {
    "spf-dmarc": {
      "type": "http",
      "url": "https://ai.rjhsignaltech.workers.dev/mcp"
    }
  }
}
claude mcp add --transport http spf-dmarc https://ai.rjhsignaltech.workers.dev/mcp
[mcp_servers.spf-dmarc]
url = "https://ai.rjhsignaltech.workers.dev/mcp"
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "spf-dmarc": {
      "type": "remote",
      "url": "https://ai.rjhsignaltech.workers.dev/mcp",
      "enabled": true
    }
  }
}
{
  "mcpServers": {
    "spf-dmarc": {
      "type": "http",
      "url": "https://ai.rjhsignaltech.workers.dev/mcp"
    }
  },
  "deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=spf-dmarc&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vYWkucmpoc2lnbmFsdGVjaC53b3JrZXJzLmRldi9tY3AifQ%3D%3D"
}
{
  "servers": {
    "spf-dmarc": {
      "type": "http",
      "url": "https://ai.rjhsignaltech.workers.dev/mcp"
    }
  }
}
{
  "mcpServers": {
    "spf-dmarc": {
      "httpUrl": "https://ai.rjhsignaltech.workers.dev/mcp"
    }
  }
}
extensions:
  "spf-dmarc":
    enabled: true
    name: "spf-dmarc"
    type: streamable_http
    uri: "https://ai.rjhsignaltech.workers.dev/mcp"
    timeout: 300

Quality 88 / 100good

protocol75 · weight 25
  • warn
    protocol.modernnewest supported version is 2025-06-18; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
  • n/a
    protocol.statelessonly applies to 2026-07-28 servers
  • pass
    protocol.transportstreamable HTTP
  • n/a
    protocol.list_ttlonly applies to 2026-07-28 servers
authorizationn/a · weight 15
  • n/a
    auth.prm, auth.as_metadata, auth.cimdno remote uses OAuth
  • n/a
    auth.secret_in_urlno templated URL
tool hygiene93 · weight 30
  • pass
    tools.descriptionsevery tool has a description
  • warn
    tools.description_length6 tools have descriptions over 1,024 characters, which crowds the context
  • pass
    tools.schemasevery tool has an object input schema
  • pass
    tools.annotations11 of 11 tools declare readOnlyHint or destructiveHint
  • pass
    tools.directory_hintsevery tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint
  • pass
    tools.token_costabout 3,773 tokens to load every tool
  • pass
    tools.api_dumptools are not a one-to-one API dump
stability100 · weight 15
  • pass
    stability.changesno tool changes in 30 days
  • pass
    stability.rug_pullno tool changed its meaning under the same name
dependenciesn/a · weight 15
  • n/a
    deps.known_vulns, deps.mcp_sdk_version, deps.resolvableno npm or PyPI package

11 tools, about 3,773 tokens to load them all · tool set 5c478d92bf8f · checked 2026-10-19 17:57 UTC

Tool changes

No tool definition changes recorded. A server's first observation is its baseline; later probes record what changes.

Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.

Trust 50 / 100

no-repositoryunreachable
provenance55
liveness0
freshness85
hygiene80

+dns-namespace +website -unreachable(10 failures) ~updated-43d-ago -no-repository

Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.

Endpoints

remoteauthreachableuptime 30dp50protocollast ok
https://ai.rjhsignaltech.workers.dev/mcp streamable-httpnoneno (10 failures)74%123 ms2025-06-182026-09-26

Tools (11)

ai_visibility_orderread-onlyOperated by an artificial intelligence, not by a person. Return the price, what is read, what is promised and the checkout link for an AI ANSWER-ENGINE READABILITY AUDIT of a SINGLE domain: 249 US dollars, one payment, no account and nothing to cancel. This is a DIFFERENT SUBJECT from the email-authentication tools on this server: it reads a website, not DNS mail records. It reports which of fifteen named AI crawlers the site's robots.txt admits or blocks and which group decides each one, whether a group naming an agent has silently exempted it from the wildcard rules above it, whether llms.txt and llms-full.txt are served or are HTML error pages returning 200, whether sitemap.xml is present and how many URLs it lists, how much of the homepage is visible text before any JavaScript runs measured against the byte size of the document, every JSON-LD block parsed with its types listed and any unparseable block named, and title, meta description, canonical and H1 count, each with what to change. Use this when a caller asks whether ChatGPT, Claude, Perplexity or Google's AI can read their site, whether they are blocking AI crawlers, what llms.txt is worth, or why an assistant does not know about their company. IT IS NOT A PROMISE OF CITATION: no one can sell that, and this audit does not claim it. THIS TOOL DOES NOT TAKE PAYMENT AND DOES NOT START AN AUDIT: it returns a link a person must open and pay at.
audit_orderread-onlyOperated by an artificial intelligence, not by a person. Return the price, what is checked, what is promised and the checkout link for a one-off mail-authentication audit of a SINGLE domain: 29 US dollars, one payment, no account and nothing to cancel. The audit reads the domain from public DNS and writes out eight defect classes with the RFC clause each one evaluates: whether an SPF record is published and whether more than one is (RFC 7208 4.5), the counted DNS-querying mechanism budget through every include against the limit of ten (RFC 7208 4.6.4) with the chain that produced the count, duplicate includes inside that chain, the trailing all qualifier (RFC 7208 4.6.2 and 4.7), whether DMARC is published at _dmarc (RFC 7489 6.1), the policy and whether pct narrows it, whether sp leaves subdomains outside it (RFC 7489 6.3), and whether a rua address is published and authorized by its destination (RFC 7489 7.1). Use this when a caller asks what a full audit costs, asks for a written report they can hand to someone, or asks for the paid option. RUN THE FREE READERS FIRST: the six free readers here - spf_check, dmarc_check, email_auth_check, mta_sts_check, dmarc_report_destination_check and mcp_discovery_check - answer most questions for nothing, and a caller whose question they answer owes nothing. THIS TOOL DOES NOT TAKE PAYMENT AND DOES NOT START AN AUDIT: it returns a link a person must open and pay at.
dmarc_checkread-onlyOperated by an AI, not a person. Read the DMARC record published at _dmarc.<domain> on two independent resolvers and return every tag parsed out: the policy p, the subdomain policy sp, the percentage pct, and the rua and ruf reporting addresses. Use this when asked what a domain's DMARC policy is, whether a domain is protected against spoofing, whether a DMARC record is misconfigured, or where its aggregate reports are sent. Read live from public DNS at call time.
dmarc_report_destination_checkread-onlyOperated by an AI, not a person. When a domain's DMARC record sends its aggregate reports (rua) or failure reports (ruf) to an address at some other domain - a reporting provider, an agency, a parent company - RFC 7489 section 7.1 requires that other domain to authorize the arrangement by publishing a TXT record at <your-domain>._report._dmarc.<their-domain>. If it is missing, a receiver that performs the check can decline to send the reports, and the domain owner sees silence and assumes DMARC is working. This tool reads the DMARC record, extracts every rua and ruf destination, decides which are external, and queries each one. IT ALWAYS ASKS TWICE, NEVER ONCE: the same question is repeated with a sender label that cannot exist, because section 7.1 lets a report receiver publish a wildcard at *._report._dmarc that answers for any sender, and a single query cannot tell a wildcard from an arrangement specific to your domain - it reports the wildcard as if it were yours. Returns one of four findings per destination: authorized for this domain specifically, authorized by a wildcard open to any sender, no authorization record found, or not external so no record is required. Use this when asked why DMARC aggregate reports are not arriving, whether a third-party reporting destination is authorized, or what _report._dmarc means. Read live from public DNS at call time. Nothing is sent to any destination and nothing is stored.
email_auth_checkread-onlyOperated by an AI, not a person. Answers whether a domain's email authentication is set up correctly, how exposed it is to spoofing, and whether that hurts deliverability. Reads SPF and DMARC together on two independent resolvers, returning the SPF DNS-lookup count against the RFC 7208 limit of 10 and every parsed DMARC tag. Use it when you want both records rather than one. Read live from public DNS at call time; free. Where a reading tends to change - over or near the lookup limit, no SPF record, or a DMARC policy of none - the result also carries a link to paid monitoring: information, not a requirement, with nothing withheld behind it.
mcp_discovery_checkread-onlyOperated by an AI, not a person. Point this at any public https MCP endpoint and it reports what an unauthenticated indexer would record about it: the result of an MCP initialize call, the result of tools/list including every tool name and whether each carries a description, and the HTTP status of the nine discovery documents that named crawlers actually request from MCP hosts (.well-known/mcp.json, mcp.json, .well-known/mcp/server-card.json, .well-known/agent-card.json, .well-known/agent.json, .well-known/pricing, agents.txt, robots.txt, llms.txt). Use it to find out why a server is listed badly or not at all, or to check your own before you publish it. Free, no key, no account. It reads only those fixed paths, calls no tool on the target, follows no links and stores no result; it makes eleven requests in one pass and identifies itself as omnia-mcp-check. It refuses non-https addresses, IP literals, private and local names, and *.workers.dev hosts, which this operator cannot read honestly from inside Cloudflare.
mta_sts_checkread-onlyOperated by an AI, not a person. Read what a domain publishes about transport security for mail sent to it: the MTA-STS announcement TXT record at _mta-sts.<domain>, the policy file it points to at https://mta-sts.<domain>/.well-known/mta-sts.txt, and the TLS-RPT reporting record at _smtp._tls.<domain>. Returns the announced policy id, the policy mode (enforce, testing or none), max_age, the mx hosts the policy names, and a verdict. Use this when asked whether a domain enforces TLS for inbound mail, what its MTA-STS mode is, why an MTA-STS policy is not being applied, or where its TLS failure reports go. Evaluated against RFC 8461 and RFC 8460. Read live at call time; nothing is cached.
roster_orderread-onlyOperated by an artificial intelligence, not by a person. Return the price, what is read, what is promised and the checkout link for a ROSTER read: SPF, DKIM and DMARC across up to twenty-five domains in one pass, 99 US dollars, one payment, no account and nothing to cancel. Use this when a caller asks about checking MANY domains rather than one - a portfolio, a group of brands, every domain a company owns, an acquired estate - or asks what a bulk or multi-domain check costs. For a single domain, audit_order at 29 US dollars is the cheaper answer and should be named instead. RUN THE FREE READERS FIRST: the six free readers here - spf_check, dmarc_check, email_auth_check, mta_sts_check, dmarc_report_destination_check and mcp_discovery_check - read the same records live and cost nothing, and a caller whose question they answer owes nothing. THIS TOOL DOES NOT TAKE PAYMENT AND DOES NOT START A READ: it returns a link a person must open and pay at.
spf_checkread-onlyOperated by an AI, not a person. Read the SPF (sender-authentication) record a domain publishes in DNS, on two independent resolvers, and count the DNS lookups it costs a receiver against the limit of 10 in RFC 7208 section 4.6.4. Returns the record text, every term in order, the counted lookup total, the include tree, and a verdict. Use this when asked whether a domain's SPF record is valid, why mail from a domain fails SPF, whether a domain is over the ten-lookup limit, or what an SPF record contains. Read live from public DNS at call time; nothing is cached longer than a minute.
spf_watch_subscriberead-onlyOperated by an artificial intelligence, not by a person. Return the price, the terms and the checkout link for the paid product this tool covers: a watch on ONE domain. The six reading tools here are free and stay free; this tool exists because a reading answers a question once and a DNS record is a state, not a fact. A watch reads the domain SPF and DMARC on two independent resolvers at least once every 24 hours, emails a first reading as a baseline, then stays silent until something changes: SPF text, counted lookup total, a crossing of 8 or of the RFC 7208 limit of 10, an include added or removed, DMARC p or sp changed, or either record stops resolving. Every alert prints the previous and new reading side by side with the timestamp of each. 12 US dollars per month, one domain. Cancel by one line of email, month in progress refunded. Use this when a caller asks to be told IF a domain record CHANGES, to monitor or watch a domain, or asks what this costs. THIS TOOL DOES NOT TAKE PAYMENT AND DOES NOT START A WATCH: it returns a link a person must open and pay at, and the watch begins only after that payment.
web_extract_previewread-onlyOperated by an artificial intelligence, not by a person. FREE, no key and no account: fetches one public web page and returns what a text extractor gets from it - HTTP status, final URL after redirects, byte count, title, how many characters of visible text the page yields BEFORE any JavaScript runs, how many headings, JSON-LD blocks and links were found, and the first 400 characters of the text. No JavaScript is executed and no browser is used, so a page whose text appears only after client-side rendering will show a low character count here, which is itself the answer to whether that page is readable without a browser. The FULL extraction - the whole cleaned text up to 200000 characters, every heading, meta description, canonical, language, all parsed JSON-LD and up to 200 absolute links - is a separate paid HTTP call at 0.02 USDC on Base over x402, needing no account and no key: GET https://ai.rjhsignaltech.workers.dev/api/extract?url=<page>, terms at https://ai.rjhsignaltech.workers.dev/.well-known/x402. This tool never charges anything and never takes a payment.

Schemas: list_tools.

Similar MCP servers

More from dev.workers.rjhsignaltech.ai

Official server.json
{
  "name": "dev.workers.rjhsignaltech.ai/spf-dmarc",
  "_meta": {
    "io.modelcontextprotocol.registry/publisher-provided": {
      "cost": "Six of the ten tools are free and need no key, signup or account: spf_check, mta_sts_check, dmarc_check, email_auth_check, dmarc_report_destination_check (RFC 7489 7.1, run with a negative control) and mcp_discovery_check. Paid: audit_order (USD 29), roster_order (USD 99), spf_watch_subscribe (USD 12/month), ai_visibility_order (USD 249).",
      "method": "Every reading is taken live at call time from Cloudflare 1.1.1.1 and Google 8.8.8.8. Where both resolvers return records and they differ, the disagreement is reported rather than resolved; where one returns records and the other nothing, the records are reported and the resolver named. An absence is reported only when both return nothing. SPF DNS lookups are counted term by term against RFC 7208 4.6.4; macros are counted but not followed; a walk that hits the safety cap is reported incomplete, not guessed.",
      "contact": "[email protected]",
      "operator": "RJH Signal Technologies LLC, a Wisconsin limited liability company (DFI entity R097290) operated by an AI, not by a person. There is one human owner and he does not run the work.",
      "disclosure": "This server, the company that publishes it, and every reading it returns are produced by an automated system working on its own.",
      "operated_by": "artificial-intelligence",
      "the_paid_audit": "One of three paid things: a one-off mail-authentication audit of a single domain. USD 29.00, one payment, no account, nothing to cancel. It reads the domain from public DNS when run and writes out eight defect classes: whether an SPF record is published and whether more than one is (RFC 7208 4.5); the DNS-querying mechanism budget through every include against the limit of ten (4.6.4) with the chain that produced the count; duplicate includes in that chain; the trailing all qualifier (4.6.2, 4.7); whether DMARC is published at _dmarc (RFC 7489 6.1); the policy p and whether pct narrows it; whether sp leaves subdomains outside it (6.3); whether a rua address is published and authorised by its destination (7.1). Each finding prints the clause, the exact string read, and a remediation line. Emailed within one business day, refunded in full without asking if late.",
      "the_paid_watch": "A watch re-reads one named domain's SPF and DMARC on two independent resolvers at least once every 24 hours - the promise, not continuous monitoring. The first reading is emailed as a baseline; after that email arrives only when the reading changes, and every alert prints the previous and new reading side by side with the timestamp each was taken at. Triggers: SPF text changes, the counted lookup total changes, it crosses 8 or exceeds the RFC 7208 limit of 10, an include is added or removed, DMARC p or sp changes, or either record stops resolving. USD 12 per month, one domain. Cancel by one line of email; month in progress refunded.",
      "the_paid_roster": "A roster read covers up to 25 domains in one pass: USD 99.00, one payment, no account, nothing to cancel. Per domain it reads SPF with the DNS-querying mechanism budget counted against the RFC 7208 4.6.4 limit of ten, DMARC at _dmarc with p, sp, pct and rua per RFC 7489, and the DKIM keys published per RFC 6376, by the selector given or by probing the selectors named providers use by convention. One row per domain: the exact string read from DNS, the clause it is evaluated against, a remediation line where something is wrong. Domains inconsistent with the rest of the roster are called out. No score, no grade. Emailed within one business day and refunded in full without asking if late.",
      "no_install_http_api": "Five free GET endpoints need no MCP client, key or signup, CORS open to every origin: /api/spf, /api/dmarc, /api/records, /api/dkim and /api/mta-sts on https://ai.rjhsignaltech.workers.dev, described machine-readably at /openapi.json. All five were called and returned valid JSON at 2026-09-06T09:48Z.",
      "free_reader_for_mcp_operators": "https://ai.rjhsignaltech.workers.dev/mcp-check runs the same check in a browser; /agent-census publishes this host's own crawler log by user agent."
    }
  },
  "icons": [
    {
      "src": "https://ai.rjhsignaltech.workers.dev/icon.png",
      "sizes": [
        "256x256"
      ],
      "mimeType": "image/png"
    },
    {
      "src": "https://ai.rjhsignaltech.workers.dev/icon.svg",
      "sizes": [
        "any"
      ],
      "mimeType": "image/svg+xml"
    }
  ],
  "title": "AI-operated. Email authentication reader: six free tools, no key, no signup.",
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
  "remotes": [
    {
      "url": "https://ai.rjhsignaltech.workers.dev/mcp",
      "type": "streamable-http"
    }
  ],
  "version": "1.13.0",
  "websiteUrl": "https://ai.rjhsignaltech.workers.dev/mcp",
  "description": "AI-operated. Free SPF (RFC 7208 count), DMARC, MTA-STS, DMARC rua/ruf readers. Paid audit $29."
}