clevertap-mcp
Supports push notification management for Android devices through CleverTap's platform, including device token registration and test push sending to Android devices.
Supports push notification management for iOS devices through CleverTap's platform, including device token registration and test push sending to iOS devices.
Provides TypeScript-based tools for programmatic interaction with CleverTap's API, including type-safe operations for events, profiles, campaigns, and reports.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@clevertap-mcpshow me the performance report for my winter sale campaign"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
clevertap-mcp
A Model Context Protocol (MCP) server for the CleverTap REST API. Exposes CleverTap's user profiles, events, campaigns, and reports as tools that any MCP-compatible AI assistant (Claude, Cursor, etc.) can call directly.
Features
Multi-project — manage multiple CleverTap accounts from a single server instance
Guided setup — if no project is configured,
clevertap_configurewalks you through the processFull API coverage — events, profiles, campaigns, and reports
Async polling — long-running operations (event/profile counts) are polled automatically
Tools
Meta
Tool | Description |
| Guided setup to add a project or generate the |
| List all configured projects and their regions |
Events
Tool | Description |
| Upload one or more events for a user |
| Query event data with filters |
| Fetch the next page of event results via cursor |
| Get the total count of an event (with async polling) |
Profiles
Tool | Description |
| Create or update user profiles |
| Look up a single user by identity, email, or objectId |
| Get profiles of users who performed an event |
| Fetch the next page of profile results via cursor |
| Delete a user profile |
| Register a push token for a user |
| Count profiles matching a segment |
| Split merged profiles apart |
| Subscribe/unsubscribe a user to channels |
| Remove a phone number from a profile |
Campaigns
Tool | Description |
| List campaigns within a date range |
| Get delivery and engagement stats for a campaign |
| Stop a running campaign |
| Create and launch a campaign |
Reports
Tool | Description |
| Message-level delivery report |
| Top property value counts for an event |
| Daily/weekly/monthly trend for an event |
| Daily active users trend |
| Uninstall trend report |
| Real-time active user counts |
Generic
Tool | Description |
| Make any raw REST API request |
| Poll a pending async request by |
Web / Browser
Tool | Description |
| Open a Chromium window and capture the dashboard session cookie + CSRF token after manual login (supports SSO and 2FA) |
| Check whether a web session has been captured for a project, and when it was obtained |
| Make an authenticated request to any CleverTap dashboard endpoint using the captured session |
| List campaigns from the dashboard UI API — richer data than the REST API (status, sent, impressions, clicks, edit URL) |
| Send a test push notification to a specific device token. Accepts the push token from |
Prerequisite for web tools: install the Playwright Chromium binary once after
npm install:npx playwright install chromium
Installation
git clone https://github.com/your-org/clevertap-mcp.git
cd clevertap-mcp
npm install
npx playwright install chromium # required for web/browser tools
npm run buildConfiguration
The server reads project credentials from the CLEVERTAP_PROJECTS environment variable — a JSON array of project objects:
[
{
"name": "My App - Production",
"account_id": "XXX-XXX-XXXX",
"passcode": "YYY-YYY-YYYY",
"region": "us1"
},
{
"name": "My App - Staging",
"account_id": "AAA-AAA-AAAA",
"passcode": "BBB-BBB-BBBB",
"region": "us1"
}
]Supported regions: in1, us1, eu1, sg1, aps3, mec1
Single-project fallback
You can also use individual environment variables for a single project:
CLEVERTAP_ACCOUNT_ID=XXX-XXX-XXXX
CLEVERTAP_PASSCODE=YYY-YYY-YYYY
CLEVERTAP_REGION=us1Adding to Claude Desktop
In your claude_desktop_config.json (or ~/.claude.json):
{
"mcpServers": {
"clevertap": {
"command": "node",
"args": ["/absolute/path/to/clevertap-mcp/dist/index.js"],
"env": {
"CLEVERTAP_PROJECTS": "[{\"name\":\"My App\",\"account_id\":\"XXX-XXX-XXXX\",\"passcode\":\"YYY-YYY-YYYY\",\"region\":\"us1\"}]"
}
}
}
}Important:
CLEVERTAP_PROJECTSmust be a serialized JSON string (not a native JSON object) inside theenvblock.
Development
npm run build # compile TypeScript → dist/
npm run dev # watch mode
npm start # run compiled serverProject structure
src/
index.ts # MCP server entry point, project config, tool registration
client.ts # CleverTap REST API HTTP client
tools/
events.ts # Event upload and query tools
profiles.ts # Profile management tools
campaigns.ts # Campaign tools
reports.ts # Analytics and report tools
generic.ts # Raw request / poll tools
web.ts # Browser session tools via Playwright (login, campaigns UI, test push)License
MIT
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Tools
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/ralphcorleone/clevertap-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server