Email Engagement Report
RemoteAbout Email Engagement Report
An MCP server for turning raw email event exports into per-recipient engagement reports. It is part of Openkrill’s email and site-check tools and is public, read-only, and key-free.
Key features
- 01Per-recipient engagement reports
- 02Processes raw email event exports
- 03Public, read-only access
- 04No API key required
Use cases
- 01Review engagement across email recipients
- 02Summarize a raw email event export
MCP support
Exposes Email Engagement Report through an MCP endpoint for MCP clients. The server is public, read-only, and requires no key.
Configuration
Remote servers need no local install. Pick your client, then copy the config or install in one click.
https://emailpld.openkrill.app/mcpclaude mcp add --transport http app-openkrill-emailpld https://emailpld.openkrill.app/mcp{"mcpServers":{"app-openkrill-emailpld":{"type":"http","url":"https://emailpld.openkrill.app/mcp"}}}Open in Cursor{"servers":{"app-openkrill-emailpld":{"type":"http","url":"https://emailpld.openkrill.app/mcp"}}}Open in VS Code{"mcpServers":{"app-openkrill-emailpld":{"type":"http","url":"https://emailpld.openkrill.app/mcp"}}}{"mcpServers":{"app-openkrill-emailpld":{"serverUrl":"https://emailpld.openkrill.app/mcp"}}}Run commands in a terminal; paste JSON into the client’s MCP config and restart. Servers that need sign-in will prompt on first connect.
Tools
3| Parameter | Type | Required | Description |
|---|---|---|---|
| rules | object | No | |
| rules.dedup | boolean | No | Count each event id once. Default true. |
| rules.windowOn | boolean | No | Apply the time window. Default true. |
| rules.windowDays | integer | No | Days after the send that opens and clicks count. Default 14. |
| rules.clickSetsOpen | boolean | No | A counted click with no counted open sets unique open to 1. Default true. |
| rules.keepUnmatched | boolean | No | Keep rows with no recipient match. Default false. They still appear in exceptions. |
| rules.dropMachineClicks | boolean | No | Link-scanner clicks are left out. Default true. |
| rules.proxiedCountsAsOpen | boolean | No | Proxied opens that are not prefetched count as opens. Default true. |
| rules.bounceClearsDelivered | boolean | No | A bounce sets delivered to 0. Default true. |
| rules.syntheticCountsAsOpen | boolean | No | Synthetic opens count as opens. Default true. |
| rules.machineOpensAsImpression | boolean | No | Apple privacy and prefetch opens count as impressions, not opens. Default true. |
| events | string | Yes | The pasted export text itself, not a file name or link, such as {"event_id":"e1","metric":"sent","timestamp":1789480800,"data":{"identifiers":{"id":"R-1"}}}. NDJSON (one event per line) or a JSON array. Read shapes: Customer.io (event_id, metric, timestamp, data.identifiers.id or email, data.delivery_id); SendGrid (flat email, event, timestamp, sg_event_id, sg_message_id); Mailgun (event, id, recipient, timestamp, tags, flat or inside "event-data"). Timestamps are unix seconds; milliseconds are converted. At most 20,000 events and 1,500,000 characters. |
| campaigns_csv | string | No | Optional CSV text with a header row: deployment_key,deployment_code,campaign_name,client,deploy_date. deployment_key must equal the send key the report gives each send, such as newsletter:12, campaign:5:action:7, broadcast:3:action:9, transactional:4, sendgrid:<template id> or mailgun:<tag>; run the report once to read the keys from summary. |
| recipients_csv | string | No | Optional CSV text with a header row, then one row per recipient: recipient_id,email,external_id (external_id may be empty). Example: recipient_id,email,external_id\nR-1,[email protected],CRM-1001. Events join by recipient_id, then delivery id, then email. Without it every send is a row and nothing is an exception. |
Details
From the project READMESite, SEO and Email Checks
Audit a site's SEO and AI crawler access, read a web page as clean Markdown, check a domain's mail delivery, see if a name's domain is free, and report email engagement.
claude plugin install web-email@openkrill
| Skill and MCP server | Tool | Endpoint |
|---|---|---|
site-check | Site SEO & AI Crawler Audit | https://sitecheck.openkrill.app/mcp |
seo-audit | SEO Audit | https://seoaudit.openkrill.app/mcp |
answer-share | Namequota | https://answershare.openkrill.app/mcp |
page-fetch | Page Fetch | https://pagefetch.openkrill.app/mcp |
mailcheck | Domain Mail Check | https://mailcheck.openkrill.app/mcp |
names | Startup Name Check | https://names.openkrill.app/mcp |
emailpld | Email Engagement Report | https://emailpld.openkrill.app/mcp |
Every server is public, read-only and needs no key. Generated from the Agent Tools plugin listings; edits made here are overwritten.
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.