Skip to the content
Agent Tools

Email Engagement Report in Claude

Events to recipient report. The MCP server is https://emailpld.openkrill.app/mcp. No key. The steps below are only for Claude. A call to engagement_report was checked against that server on 2026-10-08.

Connection
Streamable HTTP
API key
None needed
Free limit
200 calls a day
Protocol
MCP 2024-11-05

Questions it answers

Email Engagement Report turns a raw email event export into a per-recipient engagement report. Paste a Customer.io reporting webhook file as NDJSON or JSON. SendGrid and Mailgun event objects are accepted when their field names are present.

Add an optional recipient CSV with recipient_id, email and an external id such as npi. Add an optional campaign CSV with deployment_key, deployment_code, campaign_name, client and deploy_date.

It counts each event id once, joins events to recipients by id, delivery id or email, and applies editable rules. Machine opens from Apple privacy proxies and link-scanner clicks stay apart from human opens. Unique open and unique click are one per recipient per send. A bounce clears delivered. Opens and clicks outside the time window stay out of the file.

The answer has a per-send summary, a per-recipient table, a CSV, and an exceptions list of events with no recipient. The page at the tool host runs the same report on pasted text.

There is no account and nothing is stored. The report is computed for the call and is not kept or cached. The only lasting record is a daily count of calls per tool.

What it can do

  • Removes repeated events by event id
  • Joins events to recipients by id, delivery id or email
  • Keeps machine opens and link-scanner clicks apart from human opens
  • Counts unique open and unique click once per recipient per send
  • Clears delivered when a bounce arrives, inside an editable time window
  • Returns a summary, a recipient table, a CSV and unmatched events

Tools

  • engagement_report, Build an email engagement report. Use this when the user pastes a Customer.io reporting webhook export, or a SendGrid or Mailgun event file, and wants a per-recipient engagement report or CSV. Pass events as NDJSON or a JSON array. Optional recipients_csv uses recipient_id, email and npi or external_id. Optional campaigns_csv uses deployment_key and deployment_code. Returns a per-send summary, up to 500 recipient rows, a CSV of every row, and events with no recipient. Nothing is stored. Do not use it to send mail or to call a mail platform API.

Add Email Engagement Report in Claude

Claude connects to a remote MCP server as a custom connector. The connection is made from Anthropic's cloud, not from your laptop, so the server must be on the public internet. Email Engagement Report is. These steps were checked against Claude's custom-connector article (updated 2026-08-11) and the Claude Code MCP docs on 2026-10-01.

On a Pro or Max plan:

  1. Open Customize, then Connectors.
  2. Select the plus button, then Add custom connector.
  3. Paste https://emailpld.openkrill.app/mcp. Leave Advanced settings empty: this server does not need an OAuth client id or secret.
  4. Select Add. The connector is yours. Anthropic has not reviewed it, and it is not a Directory listing.
  5. In a conversation, open the plus button, then Connectors, and enable Email Engagement Report. Ask: Turn this Customer.io webhook export into a per-recipient engagement report.

On Team and Enterprise, an Owner adds the connector first at Organization settings, then Connectors, then Add, then Custom, then Web, and pastes the same URL. Members then connect it from Customize. A Free plan can add one custom connector.

In Claude Code, add it from the project directory:

claude mcp add --transport http emailpld https://emailpld.openkrill.app/mcp

That writes a local or user config. A JSON entry needs "type": "http" (or streamable-http) plus the url. An entry with a url and no type is skipped. Confirm with claude mcp get emailpld. The tools you should see are engagement_report.

Enable the connector only in conversations that need it. Claude can call the tools while you work, including during research, so turn off any tool you do not want invoked. Email Engagement Report does not write to your accounts. It still receives the arguments of each call. Read the privacy page before you paste anything that is not public.

A call checked on 2026-10-08

The events are made-up sample rows with one repeated event id, one machine open and one click. No real person is in the file. The request below was posted to https://emailpld.openkrill.app/mcp as tools/call. HTTP 200. Source: the Email Engagement Report server, read 2026-10-08.

{
  "method": "tools/call",
  "params": {
    "name": "engagement_report",
    "arguments": {
      "events": "{\"event_id\":\"e1\",\"object_type\":\"email\",\"metric\":\"sent\",\"timestamp\":1789480800,\"data\":{\"newsletter_id\":41,\"delivery_id\":\"D1\",\"identifiers\":{\"id\":\"R-1\",\"email\":\"ada@example.com\"}}}\n{\"event_id\":\"e1\",\"object_type\":\"email\",\"metric\":\"sent\",\"timestamp\":1789480801,\"data\":{\"newsletter_id\":41,\"delivery_id\":\"D1\",\"identifiers\":{\"id\":\"R-1\",\"email\":\"ada@example.com\"}}}\n{\"event_id\":\"e2\",\"object_type\":\"email\",\"metric\":\"opened\",\"timestamp\":1789480900,\"data\":{\"newsletter_id\":41,\"delivery_id\":\"D1\",\"identifiers\":{\"id\":\"R-1\"},\"prefetched\":true}}\n{\"event_id\":\"e3\",\"object_type\":\"email\",\"metric\":\"clicked\",\"timestamp\":1789481000,\"data\":{\"newsletter_id\":41,\"delivery_id\":\"D1\",\"identifiers\":{\"id\":\"R-1\"}}}",
      "recipients_csv": "recipient_id,email,npi\nR-1,ada@example.com,9999000001\n"
    }
  }
}
  • duplicates removed. 1
  • recipients. 1 returned
  • unique open. 1
  • unique click. 1
  • notice. Computed for this call only. Nothing is stored.

Repeat the call yourself if you need a newer reading. Cached answers expire. A rate limit is not a result: wait and try again. Nothing in the call is a ranking, a filing, or advice.

Use it in other apps

Frequently asked questions

How do I install the Email Engagement Report MCP server in Claude?

Add the server configuration pointing to https://emailpld.openkrill.app/mcp using streamable HTTP in Claude. Follow the client configuration steps and restart Claude.

Do I need an API key to run Email Engagement Report in Claude?

No API key is needed to connect and run calls. The server provides an unpaid network allowance. An optional key can be supplied for higher limits.

What should I do if Email Engagement Report does not connect in Claude?

Check that your client config uses the streamable HTTP endpoint https://emailpld.openkrill.app/mcp without local command wrappers, and restart your client.

Words on this page

Source: plugin listing for emailpld in this repository, and a live tools/call on 2026-10-08. As of 2026-10-08.