Dripcheck
БесплатноНе проверенLint email sequences and drip campaigns for deliverability: SPF/DKIM/DMARC, link health, unsubscribe presence, and CAN-SPAM/GDPR compliance.
Описание
Lint email sequences and drip campaigns for deliverability: SPF/DKIM/DMARC, link health, unsubscribe presence, and CAN-SPAM/GDPR compliance.
README
DRIPCHECK
Lint email sequences and drip campaigns for deliverability: SPF/DKIM/DMARC, link health, unsubscribe presence, and CAN-SPAM/GDPR compliance.
PyPI CI License: COCL 1.0 Suite
Part of the Cognis Neural Suite.
pip install cognis-dripcheck
dripcheck lint sequence.json # → prioritized findings in seconds
🔎 Example output
Real, reproducible output from the tool — runs offline:
$ dripcheck-emit --version
dripcheck 0.7.9
$ dripcheck-emit --help
usage: dripcheck [-h] [--version] {lint} ...
Lint email drip sequences for deliverability and CAN-SPAM compliance (unsubscribe, physical address, spam triggers).
positional arguments:
{lint}
lint Lint an email sequence file (or '-' for stdin).
options:
-h, --help show this help message and exit
--version show program's version number and exit
examples:
dripcheck lint sequence.json
dripcheck lint sequence.json --format json | jq .summary
cat sequence.json | dripcheck lint -
dripcheck lint sequence.json --strict
Blocks above are real
dripcheckoutput — reproduce them from a clone.
Sample result format (illustrative values — run on your own data for real findings):
{
"Findings": [
{
"id": "1234567890",
"title": "Suspicious Network Traffic",
"description": "Potential malicious activity detected on port 443.",
"created_by": "John Doe",
"created_at": "2023-02-15T14:30:00Z"
},
{
"id": "2345678901",
"title": "Unusual Login Attempt",
"description": "Failed login attempt from an unfamiliar IP address.",
"created_by": "Jane Smith",
"created_at": "2023-02-16T10:45:00Z"
}
]
}
Usage — step by step
Install the CLI:
pip install dripcheckLint an email sequence described in a JSON file (or
-to read from stdin):dripcheck lint sequence.jsonPipe a sequence in from another step:
cat sequence.json | dripcheck lint -Read the output. Pick the format your workflow speaks —
table(default),json,sarif(GitHub code-scanning), orcsv:dripcheck lint sequence.json --format json > drip.json dripcheck lint sequence.json --format sarif > drip.sarif # upload to code-scanning dripcheck lint sequence.json --format csv > drip.csv # triage in a spreadsheetWire it into CI — treat warnings as failures so deliverability regressions block release:
dripcheck lint sequence.json --strict || exit 1Explore the demos. Each
demos/<NN-name>/folder pairs a real-formatsequence.jsonwith aSCENARIO.md(where the data came from, the exact command, and how to act on the findings):python -m dripcheck lint demos/02-clean-onboarding/sequence.json # passes python -m dripcheck lint demos/03-cold-outreach-saas/sequence.json # failsDemo What it shows 01-basicA small mixed cold/drip sequence with seeded problems 02-clean-onboardingA fully compliant onboarding drip — the green baseline 03-cold-outreach-saasB2B cold outreach: fake RE:/FWD:, missing footers04-promo-spam-trapsA promo that maxes out spam-trigger signals 05-duplicate-subjectsClean emails but a sequence-level duplicate-subject smell ( --strict)06-html-link-heavyHTML link-roundup parsing + too-many-links / low-text-ratio 07-gdpr-eu-newsletterEU/GDPR send with a recognised non-US postal address 08-stdin-ci-gatePiping from stdin and using the exit code as a CI gate 09-broken-edge-casesMissing subject, empty body, oversized subject
Contents
- Why dripcheck? · Features · Quick start · Example · Architecture · AI stack · How it compares · Integrations · Install anywhere · Related · Contributing
Why dripcheck?
A pre-send CI gate — break the build if a campaign is missing an unsubscribe link or trips a spam trigger, before it ever hits a prospect's inbox.
dripcheck is single-purpose, scriptable, and self-hostable: point it at a target, get prioritized results in the format your workflow already speaks (table · JSON · SARIF), gate CI on it, and let agents drive it over MCP.
Features
✅ CAN-SPAM checks: unsubscribe/opt-out mechanism + physical postal address
✅ International address detection (US
City, ST ZIPand EU/FR/DE/ES/IT footers)✅ Spam-trigger word density (subject + body), ALL-CAPS /
!!!·$$$punctuation✅ Deceptive
RE:/FWD:subjects, missing/oversized subjects, empty bodies✅ HTML-aware link checks: too-many-links + low text-to-link ratio
✅ Sequence-level checks (e.g. duplicate subjects across the drip)
✅ Output as table · JSON · SARIF · CSV;
--strictCI gate via exit code✅ Runs on Linux/macOS/Windows · Docker · devcontainer
✅ Ports in Python, JavaScript, Go, and Rust (
ports/)
Quick start
pip install cognis-dripcheck
dripcheck --version
dripcheck lint sequence.json # lint a drip sequence
dripcheck lint sequence.json --format json # machine-readable
dripcheck lint sequence.json --format sarif # GitHub code-scanning
dripcheck lint sequence.json --strict # CI gate (non-zero exit)
Example
$ dripcheck lint demos/03-cold-outreach-saas/sequence.json
DRIPCHECK report
============================================================
[cold-1] quick question about your data pipeline
ERROR no-unsubscribe: No unsubscribe/opt-out mechanism found (CAN-SPAM 15 U.S.C. 7704).
ERROR no-physical-address: No valid physical postal address detected (CAN-SPAM requires one).
[cold-2] RE: quick question about your data pipeline
WARN deceptive-subject: Subject starts with RE:/FW: which can be deceptive for a cold send.
ERROR no-unsubscribe: No unsubscribe/opt-out mechanism found (CAN-SPAM 15 U.S.C. 7704).
...
------------------------------------------------------------
emails=3 errors=5 warnings=2 FAIL
Architecture
flowchart LR
IN[target / export] --> P[dripcheck<br/>collect + correlate]
P --> OUT[ranked findings]
Use it from any AI stack
dripcheck is interoperable with every popular way of using AI:
MCP server —
dripcheck mcp(Claude Desktop, Cursor, Cognis.Studio, uncensored-fleet)OpenAI-compatible / JSON — pipe
dripcheck lint sequence.json --format jsoninto any agent or LLMLangChain · CrewAI · AutoGen · LlamaIndex — wrap the CLI/JSON as a tool in one line
CI / scripts — exit codes + SARIF for non-AI pipelines
How it compares
| | Cognis dripcheck | mail-tester.com + textlint, echoing GlockApps |
|---|:---:|:---:|
| Self-hostable, no account | ✅ | varies |
| Single command, zero config | ✅ | ⚠️ |
| JSON + SARIF for CI | ✅ | varies |
| MCP-native (AI agents) | ✅ | ❌ |
| Polyglot ports (JS/Go/Rust) | ✅ | ❌ |
| Open license | ✅ COCL | varies |
Built in the spirit of mail-tester.com + textlint, echoing GlockApps, re-framed the Cognis way. Missing a credit? Open a PR.
Integrations
Pipes into your stack: SARIF for code-scanning, JSON for anything, an MCP server (dripcheck mcp) for AI agents, and a webhook forwarder for SIEM/Slack/Jira. See docs/INTEGRATIONS.md.
Install — every way, every platform
pip install "git+https://github.com/cognis-digital/dripcheck.git" # pip (works today)
pipx install "git+https://github.com/cognis-digital/dripcheck.git" # isolated CLI
uv tool install "git+https://github.com/cognis-digital/dripcheck.git" # uv
pip install cognis-dripcheck # PyPI (when published)
docker run --rm ghcr.io/cognis-digital/dripcheck:latest --help # Docker
brew install cognis-digital/tap/dripcheck # Homebrew tap
curl -fsSL https://raw.githubusercontent.com/cognis-digital/dripcheck/main/install.sh | sh
| Linux | macOS | Windows | Docker | Cloud |
|---|---|---|---|---|
| scripts/setup-linux.sh | scripts/setup-macos.sh | scripts/setup-windows.ps1 | docker run ghcr.io/cognis-digital/dripcheck | DEPLOY.md (AWS/Azure/GCP/k8s) |
Related Cognis tools
warmline — Score and rank inbound/outbound leads from a YAML rulebook, emitting a ranked queue as JSON/CSV for your SDRs and CI gates.
coldforge — Render personalized cold-outreach sequences from Markdown templates + a contacts CSV, with spam-score linting and per-send dry-run preview.
pactgen — Generate branded sales proposals and SOWs from a YAML scope file + pricing table into PDF/HTML, with a deterministic line-item math check.
crmsync — Bidirectional, idempotent sync of contacts/deals between a local SQLite source-of-truth and CRM APIs (HubSpot/Pipedrive/Salesforce) via one config.
dealflow — Model your sales pipeline as a YAML state machine and compute conversion rates, stage velocity, and weighted forecast straight from CRM exports.
introbot — Find warm-intro paths through your team's combined network graph and draft double-opt-in intro requests from a single contacts manifest.
Explore the suite → 🗂️ all 170+ tools · ⭐ awesome-cognis · 🔗 cognis-sources · 🤖 uncensored-fleet · 🧠 engram
Contributing
PRs, new rules, and demo scenarios are welcome under the collaboration-pull model — see CONTRIBUTING.md and SECURITY.md.
⭐ If
dripchecksaved you time, star it — it genuinely helps others find it.
Interoperability
{} composes with the 300+ tool Cognis suite — JSON in/out and a shared
OpenAI-compatible /v1 backbone. See INTEROP.md for the
suite map, composition patterns, and reference stacks.
License
Source-available under the Cognis Open Collaboration License (COCL) v1.0 — free for personal, internal-evaluation, research, and educational use; commercial / production use requires a license ([email protected]). See LICENSE.
Установка Dripcheck
У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.
▸ github.com/cognis-digital/dripcheckFAQ
Dripcheck MCP бесплатный?
Да, Dripcheck MCP бесплатный — установка в пару кликов через Unyly без оплаты.
Нужен ли API-ключ для Dripcheck?
Нет, Dripcheck работает без API-ключей и переменных окружения.
Dripcheck — hosted или self-hosted?
Self-hosted: сервер запускается локально на твоей машине командой из раздела установки.
Как установить Dripcheck в Claude Desktop, Claude Code или Cursor?
Открой Dripcheck на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.
Похожие MCP
Gmail
Read, send and search emails from Claude
автор: GoogleSlack
Send, search and summarize Slack messages
автор: SlackRunbear
No-code MCP client for team chat platforms, such as Slack, Microsoft Teams, and Discord.
Discord Server
A community discord server dedicated to MCP by [Frank Fiegel](https://github.com/punkpeye)
Klavis AI
Open Source MCP Infra. Hosted MCP servers and MCP clients on Slack and Discord.
Work90210/APIFold
Turn any REST API into a hosted MCP server. 18 free public servers (GitHub, Stripe, Slack, OpenAI, Notion, and more) — no setup required, bring your own API key
автор: Work90210arikusi/deepseek-mcp-server
MCP server for DeepSeek AI with chat, reasoning, multi-turn sessions, function calling, thinking mode, and cost tracking.
автор: arikusihashgraph-online/hashnet-mcp-js
MCP server for the Registry Broker. Discover, register, and chat with AI agents on the Hashgraph network.
автор: hashgraph-onlineprofullstack/mcp-server
A comprehensive MCP server aggregating 20+ tools including SEO optimization, document conversion, domain lookup, email validation, QR generation, weather data,
автор: profullstackWayStation-ai/mcp
Seamlessly and securely connect Claude Desktop and other MCP hosts to your favorite apps (Notion, Slack, Monday, Airtable, etc.). Takes less than 90 secs.
автор: waystation-aiCompare Dripcheck with
Не уверен что выбрать?
Найди свой стек за 60 секунд
Автор?
Embed-бейдж для README
Похожее
Все в категории communication
