Klaviyo MCP Server community fork adding template listing, campaign cloning, template cloning, and campaign-message template traversal tools
Project description
klaviyo-mcp-server-extended
A community fork of Klaviyo's official klaviyo-mcp-server (v0.4.1) adding six tools that the official server does not expose.
This is an unofficial, unsupported patch. It layers the missing tools onto the official code without changing any existing behavior — everything that works in the official server continues to work identically here.
Why this exists
As of April 2026, the official Klaviyo MCP server (v0.4.1) does not expose tools to:
- List email templates (only fetch by known ID)
- Traverse from a campaign or campaign message to its associated template
- Clone a campaign or a template
These gaps make it impossible to clone an email campaign end-to-end through the MCP server, even though the underlying REST API fully supports all of these operations and the bundled klaviyo-api Python SDK already has the methods wired up. This fork simply exposes them.
Tools added
All six tools are thin wrappers around methods that already exist in the official klaviyo-api SDK. They follow the same style conventions as the surrounding code (@mcp_tool, get_klaviyo_client(), clean_result()).
| Tool | Writes? | REST endpoint |
|---|---|---|
klaviyo_get_email_templates |
no | GET /api/templates |
klaviyo_clone_email_template |
yes | POST /api/template-clone |
klaviyo_get_messages_for_campaign |
no | GET /api/campaigns/{id}/campaign-messages |
klaviyo_get_template_for_campaign_message |
no | GET /api/campaign-messages/{id}/template |
klaviyo_get_template_id_for_campaign_message |
no | GET /api/campaign-messages/{id}/relationships/template |
klaviyo_clone_campaign |
yes | POST /api/campaign-clone |
All other tools from the official server are preserved unchanged.
Authentication
Identical to the official local server: private API key via the PRIVATE_API_KEY environment variable. This fork does not provide OAuth or any remote hosting — OAuth is Klaviyo's own gateway at https://mcp.klaviyo.com/mcp and is not part of the open-source package.
The private API key needs the same scopes as the official server. For the new tools specifically:
templates:read— forget_email_templates,get_template_for_campaign_messagetemplates:write— forclone_email_templatecampaigns:read— forget_messages_for_campaign,get_template_id_for_campaign_messagecampaigns:write— forclone_campaign
The full recommended scope set from Klaviyo's docs already covers all of these.
Installation
From PyPI
After this package is published, install and run the fork with:
uvx --from klaviyo-mcp-server-extended klaviyo-mcp-server
Pin the release version for reproducible MCP client configs:
uvx --from klaviyo-mcp-server-extended==0.4.2 klaviyo-mcp-server
From a local wheel
Build the wheel first:
uv build
Then run the generated wheel from dist/:
uvx --from ./dist/klaviyo_mcp_server_extended-0.4.2-py3-none-any.whl klaviyo-mcp-server
MCP client config (Claude Desktop, Cursor, VS Code)
Replace the official uvx klaviyo-mcp-server@latest invocation with uvx --from klaviyo-mcp-server-extended==0.4.2 klaviyo-mcp-server. For example, in Claude Desktop:
{
"mcpServers": {
"klaviyo": {
"command": "uvx",
"args": [
"--from",
"klaviyo-mcp-server-extended==0.4.2",
"klaviyo-mcp-server"
],
"env": {
"PRIVATE_API_KEY": "YOUR_API_KEY",
"READ_ONLY": "false",
"ALLOW_USER_GENERATED_CONTENT": "false"
}
}
}
}
The entry point command (klaviyo-mcp-server) is unchanged, so no downstream agent code needs to change — only the --from package is new.
Verifying the fork loaded
After restarting your MCP client, your tool list should include the six new tools alongside the existing ones. In Claude Desktop, click Search and tools → klaviyo to confirm.
Upstream relationship
- Based on
klaviyo-mcp-server==0.4.1from PyPI (published 2026-03-05) - Version
0.4.2, based on the upstream0.4.1base plus the six added tools - No changes to existing tools, models, utilities, prompts, or scripts
- The added tools are the only diff
If Klaviyo eventually ships equivalent tools upstream, uninstall this fork and revert to the official klaviyo-mcp-server@latest.
License
MIT, matching the upstream package. See LICENSE.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file klaviyo_mcp_server_extended-0.4.2.tar.gz.
File metadata
- Download URL: klaviyo_mcp_server_extended-0.4.2.tar.gz
- Upload date:
- Size: 28.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
be370cde65628f65df32c1d302b4d68ef60728c1333b47fe04429a1b4d313f64
|
|
| MD5 |
b066d3a6a34a9f699b7e592632a09117
|
|
| BLAKE2b-256 |
90b404bb56cdb5a46cfb661b0c5849a66357ee4691feb8e7be75b4048d1b4c0d
|
Provenance
The following attestation bundles were made for klaviyo_mcp_server_extended-0.4.2.tar.gz:
Publisher:
publish.yaml on MissionSquad/mcp-klaviyo
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
klaviyo_mcp_server_extended-0.4.2.tar.gz -
Subject digest:
be370cde65628f65df32c1d302b4d68ef60728c1333b47fe04429a1b4d313f64 - Sigstore transparency entry: 1353675764
- Sigstore integration time:
-
Permalink:
MissionSquad/mcp-klaviyo@4a026feb03d3634bc9944896cc1408fe54a58a24 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/MissionSquad
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yaml@4a026feb03d3634bc9944896cc1408fe54a58a24 -
Trigger Event:
push
-
Statement type:
File details
Details for the file klaviyo_mcp_server_extended-0.4.2-py3-none-any.whl.
File metadata
- Download URL: klaviyo_mcp_server_extended-0.4.2-py3-none-any.whl
- Upload date:
- Size: 44.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fcb8b668eecf59f76586a14ccbbd77bb0d69e32f60307791d97c4f97f13597d5
|
|
| MD5 |
4a15aa1d6dd1ac7ec01bf652f500d371
|
|
| BLAKE2b-256 |
01232269afbd01fb0aae8f458b3e7eaf4a0d0cf83bf16733f637683d73576cc8
|
Provenance
The following attestation bundles were made for klaviyo_mcp_server_extended-0.4.2-py3-none-any.whl:
Publisher:
publish.yaml on MissionSquad/mcp-klaviyo
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
klaviyo_mcp_server_extended-0.4.2-py3-none-any.whl -
Subject digest:
fcb8b668eecf59f76586a14ccbbd77bb0d69e32f60307791d97c4f97f13597d5 - Sigstore transparency entry: 1353675868
- Sigstore integration time:
-
Permalink:
MissionSquad/mcp-klaviyo@4a026feb03d3634bc9944896cc1408fe54a58a24 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/MissionSquad
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yaml@4a026feb03d3634bc9944896cc1408fe54a58a24 -
Trigger Event:
push
-
Statement type: