CRM Lifecycle Ops MCP
A read-only AI copilot for lifecycle and CRM operations on Braze, Klaviyo, and Iterable. It allows users to plan journeys, get build steps, see what changes will break, check messages on every channel, and prove impact. It functions as a Claude Code plugin and CLI for CI, supporting pre-send QA and live account analysis without sending or editing anything.
Package and access
Local package with source-attributed installation metadata. Koskamo does not execute packages during review.
What you can do with it
- Plan and build marketing journeys with click-by-click steps
- See what a change to a segment or field will break before making it
- Check every message on every channel as every kind of customer
- Prove impact with delivery health reports and problems caught
Source and maintenance
- Maintenance checked
Packages and installation
Source-provided package data. Koskamo has not executed or live-probed this package.
crm-lifecycle-ops 0.5.3
{
"version": "0.5.3",
"transport": "stdio",
"identifier": "crm-lifecycle-ops",
"registryType": "npm",
"environmentVariables": [
{
"name": "CLO_BRAZE_API_KEY",
"format": "string",
"description": "Braze REST API key (read-only permissions). Leave unset to skip Braze."
},
{
"name": "CLO_BRAZE_REST_ENDPOINT",
"format": "string",
"description": "Braze REST endpoint for your instance, e.g. https://rest.iad-01.braze.com"
},
{
"name": "CLO_BRAZE_WORKSPACE",
"format": "string",
"description": "A label for the Braze workspace this key belongs to."
},
{
"name": "CLO_KLAVIYO_API_KEY",
"format": "string",
"description": "Klaviyo private API key (read-only scopes). Leave unset to skip Klaviyo."
},
{
"name": "CLO_KLAVIYO_ACCOUNT",
"format": "string",
"description": "A label for the Klaviyo account this key belongs to."
},
{
"name": "CLO_ITERABLE_API_KEY",
"format": "string",
"description": "Iterable server-side API key (read-only). Leave unset to skip Iterable."
},
{
"name": "CLO_ITERABLE_REGION",
"format": "string",
"description": "Iterable data center: us or eu."
},
{
"name": "CLO_ITERABLE_PROJECT",
"format": "string",
"description": "A label for the Iterable project this key belongs to."
},
{
"name": "CLO_RULES",
"format": "string",
"description": "Optional path to a shared house-rules file so a whole team is checked the same way."
},
{
"name": "CLO_TEAM_DIR",
"format": "string",
"description": "Optional shared folder for the team usage report (check counts only, no message content)."
}
]
}Tools
Reported by the attributed source; not independently observed by Koskamo.
Connect from your client
Each snippet configures the same source-provided package; replace placeholders before use.
Cursor
{
"mcpServers": {
"crm-lifecycle-ops-mcp": {
"command": "npx",
"args": [
"-y",
"crm-lifecycle-ops@0.5.3"
],
"env": {
"CLO_BRAZE_API_KEY": "<YOUR_CLO_BRAZE_API_KEY>",
"CLO_BRAZE_REST_ENDPOINT": "<YOUR_CLO_BRAZE_REST_ENDPOINT>",
"CLO_BRAZE_WORKSPACE": "<YOUR_CLO_BRAZE_WORKSPACE>",
"CLO_KLAVIYO_API_KEY": "<YOUR_CLO_KLAVIYO_API_KEY>",
"CLO_KLAVIYO_ACCOUNT": "<YOUR_CLO_KLAVIYO_ACCOUNT>",
"CLO_ITERABLE_API_KEY": "<YOUR_CLO_ITERABLE_API_KEY>",
"CLO_ITERABLE_REGION": "<YOUR_CLO_ITERABLE_REGION>",
"CLO_ITERABLE_PROJECT": "<YOUR_CLO_ITERABLE_PROJECT>",
"CLO_RULES": "<YOUR_CLO_RULES>",
"CLO_TEAM_DIR": "<YOUR_CLO_TEAM_DIR>"
}
}
}
}Cline
{
"mcpServers": {
"crm-lifecycle-ops-mcp": {
"command": "npx",
"args": [
"-y",
"crm-lifecycle-ops@0.5.3"
],
"env": {
"CLO_BRAZE_API_KEY": "<YOUR_CLO_BRAZE_API_KEY>",
"CLO_BRAZE_REST_ENDPOINT": "<YOUR_CLO_BRAZE_REST_ENDPOINT>",
"CLO_BRAZE_WORKSPACE": "<YOUR_CLO_BRAZE_WORKSPACE>",
"CLO_KLAVIYO_API_KEY": "<YOUR_CLO_KLAVIYO_API_KEY>",
"CLO_KLAVIYO_ACCOUNT": "<YOUR_CLO_KLAVIYO_ACCOUNT>",
"CLO_ITERABLE_API_KEY": "<YOUR_CLO_ITERABLE_API_KEY>",
"CLO_ITERABLE_REGION": "<YOUR_CLO_ITERABLE_REGION>",
"CLO_ITERABLE_PROJECT": "<YOUR_CLO_ITERABLE_PROJECT>",
"CLO_RULES": "<YOUR_CLO_RULES>",
"CLO_TEAM_DIR": "<YOUR_CLO_TEAM_DIR>"
}
}
}
}VS Code
{
"servers": {
"crm-lifecycle-ops-mcp": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"crm-lifecycle-ops@0.5.3"
],
"env": {
"CLO_BRAZE_API_KEY": "<YOUR_CLO_BRAZE_API_KEY>",
"CLO_BRAZE_REST_ENDPOINT": "<YOUR_CLO_BRAZE_REST_ENDPOINT>",
"CLO_BRAZE_WORKSPACE": "<YOUR_CLO_BRAZE_WORKSPACE>",
"CLO_KLAVIYO_API_KEY": "<YOUR_CLO_KLAVIYO_API_KEY>",
"CLO_KLAVIYO_ACCOUNT": "<YOUR_CLO_KLAVIYO_ACCOUNT>",
"CLO_ITERABLE_API_KEY": "<YOUR_CLO_ITERABLE_API_KEY>",
"CLO_ITERABLE_REGION": "<YOUR_CLO_ITERABLE_REGION>",
"CLO_ITERABLE_PROJECT": "<YOUR_CLO_ITERABLE_PROJECT>",
"CLO_RULES": "<YOUR_CLO_RULES>",
"CLO_TEAM_DIR": "<YOUR_CLO_TEAM_DIR>"
}
}
}
}Claude Desktop
{
"mcpServers": {
"crm-lifecycle-ops-mcp": {
"command": "npx",
"args": [
"-y",
"crm-lifecycle-ops@0.5.3"
],
"env": {
"CLO_BRAZE_API_KEY": "<YOUR_CLO_BRAZE_API_KEY>",
"CLO_BRAZE_REST_ENDPOINT": "<YOUR_CLO_BRAZE_REST_ENDPOINT>",
"CLO_BRAZE_WORKSPACE": "<YOUR_CLO_BRAZE_WORKSPACE>",
"CLO_KLAVIYO_API_KEY": "<YOUR_CLO_KLAVIYO_API_KEY>",
"CLO_KLAVIYO_ACCOUNT": "<YOUR_CLO_KLAVIYO_ACCOUNT>",
"CLO_ITERABLE_API_KEY": "<YOUR_CLO_ITERABLE_API_KEY>",
"CLO_ITERABLE_REGION": "<YOUR_CLO_ITERABLE_REGION>",
"CLO_ITERABLE_PROJECT": "<YOUR_CLO_ITERABLE_PROJECT>",
"CLO_RULES": "<YOUR_CLO_RULES>",
"CLO_TEAM_DIR": "<YOUR_CLO_TEAM_DIR>"
}
}
}
}Let your agent find its tools
Find servers like CRM Lifecycle Ops MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.