My favourite MCPs: Kit (formerly ConvertKit)
I can check all my newsletter stats, subscribers and even draft messages right from my AI.
Not sure what an MCP server is or how it’s used? Check out my explainer here.
Kit is the email platform my list lives on. In November 2025 it had no MCP server, so I wrote one — mcp-kit, open source, connecting Claude to subscribers, tags, sequences and broadcasts. I used it for six months. In June I deprecated it, because Kit shipped first-party servers of their own with wider coverage and managed sign-in, so there’s no API key sitting in a config file on my machine any more. My repo’s README now points at theirs. That’s the right ending for a tool like this; I was ever only after the capability.
What it gives you is the account as tools rather than as screens. Look up a subscriber, tag a segment, schedule a broadcast, read open and click figures, tidy up sequences left over from a project you retired two years ago. The chores that used to be a dashboard crawl I postponed indefinitely are now sentences, and the ones worth repeating can run to a schedule.
Auditing engagement one afternoon, I found four separate tools returning wrong or truncated answers while reporting complete success. A request for statistics on a specific list of sends ignored my list entirely and returned the ten most recent — I only caught it because three different requests came back byte-for-byte identical. A link-click report silently stopped at ten links, so an eighteen-link issue looked like a ten-link issue. A filter for active subscribers cheerfully included people who had unsubscribed, confirmed cancelled on their own records. And a tag’s member list came back empty seconds after ten people had been tagged successfully.
Every one of those returned a clean status code. The pattern underneath all four is that reads of a single record were always right, and reads of a whole collection were repeatedly wrong. Which is less a complaint about one platform than a description of what working with any API through an assistant is like. The failure mode is rarely an error message; it’s a confident wrong number.
There’s a second layer of unreliability that has nothing to do with the API. Litmus finds that over half of all email opens now happen on a device with Apple’s Mail Privacy Protection switched on, which loads the tracking pixel whether or not a human ever looks. Corporate link scanners do the same to clicks. So an open rate is a number about machines.
Making it repeatable
The one-off ask, when the answer matters:
Tell me which subscribers have opened nothing in the last ten sends, and read each record individually rather than trusting a filter.
The standing version lives in a skill — a text file of instructions the assistant reads when the job comes up, in plain English:
When reading anything out of Kit:
- Trust per-record reads. Distrust collection reads.
- Read the individual record back before reporting any state
change. A filter re-run is not proof.
- Treat every count as a floor, not a census.
- Ask for 100 results on link clicks. It truncates at 10 in
silence.
- Never quote an open rate as engagement. Over half of opens are
machines. Use clicks on links in the body.
- Confirm the exact change list with me before any write. Writes
go to real people.Six lines, and five of them are that afternoon’s mistakes written down. The sixth I put there on purpose. Tagging somebody or removing them changes what lands in a real person’s inbox, so an assistant should stop and show me the list before it does anything.
If you already pay for Kit, you already have this — one line to add the account server, another for their developer docs if you’re building against the API. The version I wrote is still up as a reference, with a deprecation notice pointing at the official ones.
Six months of maintaining my own server, retired in an afternoon. Best possible outcome for a tool I only built because nobody else had.



