From 6984e55df73e655d950e297746f7034f613afbc1 Mon Sep 17 00:00:00 2001 From: Cursor Agent Date: Tue, 25 Aug 2026 06:29:21 +0000 Subject: [PATCH] Add Klaviyo third-party MCP plugin Klaviyo ships an official remote MCP server over Streamable HTTP with per-user OAuth, so the plugin is a URL-only mcp.json with no variables block. Co-authored-by: Roshan Sadanani --- .cursor-plugin/marketplace.json | 5 ++ README.md | 1 + .../klaviyo/.cursor-plugin/plugin.json | 34 +++++++++ third_party/klaviyo/CHANGELOG.md | 9 +++ third_party/klaviyo/LICENSE | 21 ++++++ third_party/klaviyo/README.md | 65 ++++++++++++++++++ third_party/klaviyo/assets/logo.png | Bin 0 -> 2205 bytes third_party/klaviyo/mcp.json | 8 +++ 8 files changed, 143 insertions(+) create mode 100644 third_party/klaviyo/.cursor-plugin/plugin.json create mode 100644 third_party/klaviyo/CHANGELOG.md create mode 100644 third_party/klaviyo/LICENSE create mode 100644 third_party/klaviyo/README.md create mode 100644 third_party/klaviyo/assets/logo.png create mode 100644 third_party/klaviyo/mcp.json diff --git a/.cursor-plugin/marketplace.json b/.cursor-plugin/marketplace.json index fbc1650..3c6bf84 100644 --- a/.cursor-plugin/marketplace.json +++ b/.cursor-plugin/marketplace.json @@ -172,6 +172,11 @@ "name": "amplemarket", "source": "third_party/amplemarket", "description": "Search people and companies, enrich leads, run sequences." + }, + { + "name": "klaviyo", + "source": "third_party/klaviyo", + "description": "Manage profiles, segments, campaigns, and flows." } ] } diff --git a/README.md b/README.md index d600b7c..30feaa3 100644 --- a/README.md +++ b/README.md @@ -39,6 +39,7 @@ Official Cursor plugins for popular developer tools, frameworks, and SaaS produc | `juicebox` | [Juicebox](third_party/juicebox/) | Cursor | Integrations | Query recruiting analytics, shortlists, and sourcing agents. | | `outreach` | [Outreach](third_party/outreach/) | Cursor | Integrations | Search sequences, prospects, and Kaia meetings. | | `amplemarket` | [Amplemarket](third_party/amplemarket/) | Cursor | Integrations | Search people and companies, enrich leads, run sequences. | +| `klaviyo` | [Klaviyo](third_party/klaviyo/) | Cursor | Integrations | Manage profiles, segments, campaigns, and flows. | Author values match each plugin’s `plugin.json` `author.name` (Cursor lists `plugins@cursor.com` in the manifest). ## Repository structure diff --git a/third_party/klaviyo/.cursor-plugin/plugin.json b/third_party/klaviyo/.cursor-plugin/plugin.json new file mode 100644 index 0000000..af4a92c --- /dev/null +++ b/third_party/klaviyo/.cursor-plugin/plugin.json @@ -0,0 +1,34 @@ +{ + "name": "klaviyo", + "displayName": "Klaviyo", + "version": "1.0.0", + "minClientVersions": { + "cursor": "3.13.0" + }, + "description": "Manage profiles, segments, campaigns, and flows.", + "author": { + "name": "Cursor", + "email": "plugins@cursor.com" + }, + "homepage": "https://developers.klaviyo.com/en/docs/klaviyo_mcp_server", + "repository": "https://github.com/cursor/plugins", + "license": "MIT", + "logo": "assets/logo.png", + "keywords": [ + "klaviyo", + "marketing", + "email", + "sms", + "campaigns", + "segments", + "mcp" + ], + "category": "integrations", + "tags": [ + "klaviyo", + "marketing", + "mcp", + "email" + ], + "mcpServers": "./mcp.json" +} diff --git a/third_party/klaviyo/CHANGELOG.md b/third_party/klaviyo/CHANGELOG.md new file mode 100644 index 0000000..ec58d99 --- /dev/null +++ b/third_party/klaviyo/CHANGELOG.md @@ -0,0 +1,9 @@ +# Changelog + +All notable changes to this plugin will be documented here. + +## 1.0.0 — initial release + +- Added the `klaviyo` MCP server pointing at `https://mcp.klaviyo.com/mcp`. +- Auth uses OAuth — no API key or client ID to configure. +- Logo: Klaviyo's official mark, from the `klaviyo` GitHub organization. diff --git a/third_party/klaviyo/LICENSE b/third_party/klaviyo/LICENSE new file mode 100644 index 0000000..ca2bba7 --- /dev/null +++ b/third_party/klaviyo/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2026 Cursor + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/third_party/klaviyo/README.md b/third_party/klaviyo/README.md new file mode 100644 index 0000000..7e8a357 --- /dev/null +++ b/third_party/klaviyo/README.md @@ -0,0 +1,65 @@ +# Klaviyo + +Cursor plugin that connects agents to [Klaviyo](https://www.klaviyo.com) through Klaviyo's official remote [Model Context Protocol](https://modelcontextprotocol.io/) server. + +Build segments, draft campaigns and flows, look up profiles and events, and pull reporting from the signed-in Klaviyo account. + +## Install + +1. Open **Cursor Settings → Plugins**. +2. Search for **Klaviyo**. +3. Click **Install**, then complete the Klaviyo sign-in prompt. + +Or run `/add-plugin klaviyo` in chat. + +## MCP + +```json +{ + "mcpServers": { + "klaviyo": { + "type": "http", + "url": "https://mcp.klaviyo.com/mcp" + } + } +} +``` + +Auth is OAuth with Dynamic Client Registration. Cursor registers itself and prompts for Klaviyo sign-in when the plugin connects — there is no API key or client ID to configure. + +## Before you connect + +You need the **Owner**, **Admin**, or **Manager** role on the Klaviyo account. Tool calls run with that user's permissions. + +## What agents can do + +| Category | Capabilities | +| --- | --- | +| Profiles & events | Look up and update profiles, push events, and manage consent and data-privacy requests | +| Lists & segments | Create and query lists and segments, and manage membership | +| Campaigns & flows | Draft, schedule, and inspect email, SMS, and push campaigns and flows | +| Templates & catalogs | Manage templates, images, coupons, catalogs, and reviews | +| Reporting | Campaign, flow, form, and segment performance reporting | +| Account config | Accounts, brands, tags, sending domains, webhooks, and applications | + +The hosted runtime is the source of truth for tool names and schemas. + +## Notes + +- Tool calls run as the Klaviyo user who authorizes the connection and cannot exceed that user's permissions. +- The full catalog is large. Klaviyo supports URL query parameters to trim it — `?core-tools-only=true` for the core set, `?read-only=true` to drop every write tool, and `?toolsets=profiles:read,campaigns:read` to pick specific toolsets. Edit the plugin's server URL if you want a narrower surface. +- `?disable-tools-with-user-generated-content=true` hides tools that return user-generated content, which is worth setting on shared or sensitive accounts. +- Add `?company=your-company-slug` to pin a specific account when you belong to more than one. +- The URL must have no trailing slash. + +## Docs + +- Klaviyo MCP server: https://developers.klaviyo.com/en/docs/klaviyo_mcp_server +- MCP server guide (help center): https://help.klaviyo.com/hc/en-us/articles/52833598880923 +- Server URL: https://mcp.klaviyo.com/mcp + +Logo is Klaviyo's official mark, from the `klaviyo` GitHub organization. + +## License + +MIT diff --git a/third_party/klaviyo/assets/logo.png b/third_party/klaviyo/assets/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..d2113fdd4fab73102c347cc9321fe937e5d917b8 GIT binary patch literal 2205 zcmcgu`BxI!8a)y(#WII(#%s80PNg|zOTz)NoJ&)j3QbHXv$V1@lSHVlW~Fvb$r-!m zkeFpEmJ|4_%q&sM@QDgulT3+F5GOz%_r2fVA8>#8&e`i*=d5$SebzqvyW{WYsiD42 z9RQ%=?d676&K-Y++Ir=P9*tE6Kn?Hh<{EU3BOD`T{1UzM-CUn-19S1JXtztOH662w z@TOARxN(qUCN_+Tk_WhbqQT#!9UCE^p;y8}0_%ce1{!zKE4TVq6r*6j4Cb?&a^W~5 zHtKL~|HE8J#Pq*bUyY0!mMCI>QmrX;@2E1N;uM}#*u!2kI)tMzAq7F0}R z?g=G9IuJh;>yoN(QVC+1v-G1MeNy6UzoY|L@zTV7cXA2l&Mi}18Rduxzfexv1vVnd z*137zF+xtl%IDHV`?1>*Q1aSI!RDUBQ}Z*cTj$67Ql3Tqp+7RI>Y@@kTf;2I>tNcy zsU##a2bhZZETDDk3lFnAT}B;Ic*b$-eQV!F1!^*&WCINbOR{B9)=21GN3-81Zu>r( zbQr)dibPeI!Qth)Cg;`dbPv4fD1Z;nh>Qbgrjg~P^2R_5i)F8!awu6Pgk=6TntpZc zki)Flya&H88=edU>z=Qk-0hMxG;m0D{)0wQ(duR_q@y1)o3Txr#z>J}+UdNaS%H4v zUAqb;H`KFx4(rYfgd@_WEFSIH-foWdgEe!N@x7j@RgWTqr>xlKIewm(_@)^L>P$P#F#Forc5Lf@Cpw) zy{YTG)RYVtkm|DrII4O-u~OU$SsRkh=ep#2^Xa$|UE!!yb&I-%I_}lVX4Da>NaEan z^?Th}Y0HreJu7!$Gbv+)`ww)cZrIN!=GCBUsdII%5Y+rjS66+j?9Wpd@~gO9u9spE zrV{BNeWNabJ(^U?{`k+KnWedF$f&zu!db(d!kT&JDDn>rE4rzlKIVi1Hs6w{u~={6 z&OAZa^5ulGpu1zo$skJahE?=A%u;IKS$XPKTFAYjU;{`x0+-S0@w|&!a{`N5LX_-& zdrns$bW4&`Gw@f>1 zyM8^vlE(Ru`O^DhXI`kk+ zS8y}n@vbE0&RM%?6~i#W7vmhu&(Ysf4qjN;aeq`vk2MNP?R-Q#_2JTz}kq#miCS?X!k4$(MAlUH-LBU z9p4i>A2YgiFF}xZ0bPN~7F~yu54ew;Z=|)Xt{k0d&v6W@U9gj$3V?KIsYV%Y-9Pxr z!GpKbh5jPYV1e{MQQ=lG?5D$pbJ^#DEJIoF^h_JE)6uScZ5Kl=kd~tRyU`S0hrwu- zF9hBXQ9dQ2ioqzPeWBgd_m32&Gw_^w&089Wlz*{|Btdq$NQlV&1oIaB1ip9mJDt!d zu*v+Dcq5rNbe&6l@o73Y!X?>_jX{`FJ{U>_6kk1*T~YSbviMSxH`0?|cV4f!{5QtS z2}e#tV(Eh3HTU6Ik1nqqtCA;ogqtT#lZC{TQmRbwE5CkNdvRlZ<)#k!W1&}%JB v@7$otExKHaBOlWg|Lw-A^?$}XvkH3>+`pFE%ekj)JAk*lpWCy8kvIPXiXq~* literal 0 HcmV?d00001 diff --git a/third_party/klaviyo/mcp.json b/third_party/klaviyo/mcp.json new file mode 100644 index 0000000..f7d605d --- /dev/null +++ b/third_party/klaviyo/mcp.json @@ -0,0 +1,8 @@ +{ + "mcpServers": { + "klaviyo": { + "type": "http", + "url": "https://mcp.klaviyo.com/mcp" + } + } +}