by dmarcguardhq
DMARC aggregate report parser with a built-in dashboard. One Go binary, IMAP in, SQLite, Prometheus metrics, MCP server. Apache-2.0.
# Add to your Claude Code skills
git clone https://github.com/dmarcguardhq/parse-dmarcGuides for using mcp servers skills like parse-dmarc.
Last scanned: 9/13/2026
{
"issues": [
{
"type": "npm-audit",
"message": "convert-svgs: Vulnerability found",
"severity": "high"
},
{
"type": "npm-audit",
"message": "sharp: sharp inherited vulnerabilities in libvips: CVE-2026-33327, CVE-2026-33328, CVE-2026-35590, CVE-2026-35591",
"severity": "high"
}
],
"status": "WARNING",
"scannedAt": "2026-09-13T09:00:10.266Z",
"npmAuditRan": true,
"pipAuditRan": true,
"promptInjectionRan": true
}See how parse-dmarc compares with popular alternatives.
parse-dmarc is an open-source mcp servers skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by dmarcguardhq. DMARC aggregate report parser with a built-in dashboard. One Go binary, IMAP in, SQLite, Prometheus metrics, MCP server. Apache-2.0. It has 201 GitHub stars.
parse-dmarc returned warnings in SkillsLLM's automated security scan. It has no critical vulnerabilities, but review the flagged issues in the Security Report section before adding it to your workflow.
Clone the repository with "git clone https://github.com/dmarcguardhq/parse-dmarc" and add it to your Claude Code skills directory (see the Installation section above).
parse-dmarc is primarily written in Go. It is open-source under dmarcguardhq on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other MCP Servers skills you can browse and compare side by side. Open the MCP Servers category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh parse-dmarc against similar tools.
No comments yet. Be the first to share your thoughts!
Top skills in this category by stars
Requires a passing catalog security scan. Resolve the flagged issues and resubmit to enable featuring.
⚠️ Third-Party Software Notice
This skill is third-party open-source software developed and hosted independently on GitHub. SkillsLLM is an informational directory and does not control or maintain the underlying repository.
Any security checks, ratings, or warnings displayed by SkillsLLM are automated and limited in scope. They do not constitute a security certification or guarantee that the software is safe, error-free, or free from malicious code, vulnerabilities, compromised dependencies, or prompt-injection risks.
Review the source code, permissions, dependencies, and configuration before installing or running any third-party skill. Use is at your own risk. To the maximum extent permitted by applicable law, SkillsLLM is not liable for losses arising from third-party software.
Read your DMARC aggregate reports in one dashboard. One Go binary, SQLite, no Elasticsearch.
Parse DMARC is built and maintained by the team behind DMARCguard, a hosted DMARC monitoring service. The two do not share code, and this repository stays Apache-2.0 in full.

When your DMARC record carries a rua= address, mail receivers such as Google, Microsoft and Yahoo send you aggregate reports: gzip or zip XML attachments, at the interval your record asks for and daily by default, listing every IP that sent mail as your domain and whether SPF and DKIM passed (RFC 7489 section 7.2, carried forward by RFC 9990). Nobody reads those by hand. Parse DMARC does:
message/rfc822 attachments are unwrapped too._dmarc TXT record from a form.FROM scratch.It reads aggregate (RUA) reports only. Failure reports (RUF), TLS-RPT, alerting, login and multi-mailbox intake are not built; see Roadmap and contributing.
Docker, with a named volume for the database:
docker run -d --name parse-dmarc -p 8080:8080 \
-e IMAP_HOST=imap.gmail.com \
-e IMAP_PORT=993 \
-e IMAP_USERNAME=dmarc@example.com \
-e IMAP_PASSWORD='your-app-password' \
-v parse-dmarc:/data \
ghcr.io/dmarcguardhq/parse-dmarc:latest
Homebrew on macOS or Linux:
brew tap meysam81/tap
brew install parse-dmarc
parse-dmarc --gen-config # writes a config.json template
parse-dmarc --config config.json
Or download a release archive, parse-dmarc_<os>_<arch>.tar.gz, from the releases page.
Open http://localhost:8080. Gmail needs an App Password, not the account password. The same image is on Docker Hub as meysam81/parse-dmarc; both names track the same builds, and tags such as v1 or v1.6.0 pin a release.
Receivers only send reports if your DMARC record asks for them. Publish this TXT record at _dmarc.example.com, with your own domain and mailbox:
v=DMARC1; p=none; rua=mailto:dmarc@example.com
p=none asks receivers to deliver as usual and only report. Move to p=quarantine, then p=reject, once every legitimate sender in the reports passes (RFC 9989 section 5.1).rua= is the mailbox Parse DMARC reads. It has to exist and accept mail before the first report arrives.dig +short TXT _dmarc.example.com. Reports typically start within 24 to 48 hours.Cloudflare, Route 53 and every other DNS host take the same three fields: name _dmarc, type TXT, value as above. SPF and DKIM do not have to be set up first; the reports are how you find out what they are doing.
One click on a platform, or a template for the self-hosted PaaS you already run. Every option needs the IMAP settings from Configuration.
| Provider | Deploy | Notes |
|---|---|---|
| CapRover | Self-hosted PaaS | |
| Coolify | Open-source Heroku alternative | |
| Dokploy | Self-hosted deployment platform | |
| Docker | Run anywhere |
| Provider | Deploy | Notes |
|---|---|---|
| DigitalOcean Droplet | VM with Packer image |
Every setting is an environment variable or a key in config.json. Environment is read first and the file overrides it.
| Setting | Environment variable | Default |
|---|---|---|
| IMAP host and port | IMAP_HOST, IMAP_PORT |
required, 993 |
| IMAP username and password | IMAP_USERNAME, IMAP_PASSWORD |
required |
| Mailbox to read | IMAP_MAILBOX |
INBOX |
| Implicit TLS | IMAP_USE_TLS |
true |
| STARTTLS on a plaintext port | IMAP_STARTTLS |
false |
| Internal CA bundle, PEM | IMAP_TLS_CA_FILE |
unset |
| Skip certificate verification | ` |