Skip to main content
Glama

clevertap-mcp

CleverTap REST API用のModel Context Protocol (MCP)サーバーです。CleverTapのユーザープロファイル、イベント、キャンペーン、レポートを、MCP互換のAIアシスタント(Claude、Cursorなど)が直接呼び出せるツールとして公開します。


機能

  • マルチプロジェクト — 単一のサーバーインスタンスから複数のCleverTapアカウントを管理

  • ガイド付きセットアップ — プロジェクトが設定されていない場合、clevertap_configureがプロセスを案内

  • 完全なAPIカバレッジ — イベント、プロファイル、キャンペーン、レポート

  • 非同期ポーリング — 長時間実行される操作(イベント/プロファイルのカウント)は自動的にポーリング


Related MCP server: Mixpanel MCP Server

ツール

メタ

ツール

説明

clevertap_configure

プロジェクトの追加やCLEVERTAP_PROJECTS設定の生成を行うガイド付きセットアップ

clevertap_list_projects

設定済みの全プロジェクトとそのリージョンを一覧表示

イベント

ツール

説明

clevertap_upload_events

ユーザーのイベントを1つ以上アップロード

clevertap_get_events

フィルターを使用してイベントデータをクエリ

clevertap_get_events_cursor

カーソルを使用してイベント結果の次のページを取得

clevertap_get_event_count

イベントの合計数を取得(非同期ポーリングを使用)

プロファイル

ツール

説明

clevertap_upload_profiles

ユーザープロファイルの作成または更新

clevertap_get_profile

ID、メールアドレス、またはobjectIdで単一のユーザーを検索

clevertap_get_profiles_by_event

特定のイベントを実行したユーザーのプロファイルを取得

clevertap_get_profiles_cursor

カーソルを使用してプロファイル結果の次のページを取得

clevertap_delete_profile

ユーザープロファイルを削除

clevertap_upload_device_token

ユーザーのプッシュトークンを登録

clevertap_get_profile_count

セグメントに一致するプロファイルをカウント

clevertap_demerge_profiles

マージされたプロファイルを分割

clevertap_subscribe

ユーザーのチャネル購読/購読解除

clevertap_disassociate_phone

プロファイルから電話番号を削除

キャンペーン

ツール

説明

clevertap_get_campaigns

指定期間内のキャンペーンを一覧表示

clevertap_get_campaign_report

キャンペーンの配信およびエンゲージメント統計を取得

clevertap_stop_campaign

実行中のキャンペーンを停止

clevertap_create_campaign

キャンペーンを作成して開始

レポート

ツール

説明

clevertap_get_message_report

メッセージレベルの配信レポート

clevertap_get_top_property_count

イベントのプロパティ値のカウント上位を取得

clevertap_get_event_trend

イベントの日次/週次/月次トレンド

clevertap_get_dau

デイリーアクティブユーザー(DAU)のトレンド

clevertap_get_uninstall_report

アンインストールトレンドレポート

clevertap_get_real_time_counts

リアルタイムのアクティブユーザー数

汎用

ツール

説明

clevertap_request

任意の生のREST APIリクエストを実行

clevertap_poll

req_idを使用して保留中の非同期リクエストをポーリング

Web / ブラウザ

ツール

説明

clevertap_web_login

Chromiumウィンドウを開き、手動ログイン後にダッシュボードのセッションCookieとCSRFトークンをキャプチャ(SSOおよび2FAをサポート)

clevertap_web_session_status

プロジェクトのWebセッションがキャプチャされているか、いつ取得されたかを確認

clevertap_web_request

キャプチャしたセッションを使用して、CleverTapダッシュボードの任意のエンドポイントへ認証済みリクエストを実行

clevertap_get_campaigns_ui

ダッシュボードUI APIからキャンペーンを一覧表示 — REST APIよりも豊富なデータ(ステータス、送信数、インプレッション、クリック、編集URL)

clevertap_send_test_push

特定のデバイストークンにテストプッシュ通知を送信。clevertap_get_profileから取得したプッシュトークン(platformInfo[].push_token)、ターゲットプラットフォーム(ios/android)、プッシュチャネル名、およびオプションのディープリンクURLを受け取ります。

Webツールの前提条件: npm installの後に、Playwright Chromiumバイナリを一度インストールしてください:

npx playwright install chromium

インストール

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 build

設定

サーバーはCLEVERTAP_PROJECTS環境変数からプロジェクトの認証情報を読み取ります。これはプロジェクトオブジェクトのJSON配列です:

[
  {
    "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"
  }
]

サポートされているリージョン: in1, us1, eu1, sg1, aps3, mec1

単一プロジェクトのフォールバック

単一プロジェクトの場合は、個別の環境変数を使用することもできます:

CLEVERTAP_ACCOUNT_ID=XXX-XXX-XXXX
CLEVERTAP_PASSCODE=YYY-YYY-YYYY
CLEVERTAP_REGION=us1

Claude Desktopへの追加

claude_desktop_config.json(または~/.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\"}]"
      }
    }
  }
}

重要: CLEVERTAP_PROJECTSは、envブロック内で(ネイティブのJSONオブジェクトではなく)シリアライズされたJSON文字列である必要があります。


開発

npm run build      # compile TypeScript → dist/
npm run dev        # watch mode
npm start          # run compiled server

プロジェクト構造

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)

ライセンス

MIT

Available Tools

1 tool
clevertap_configureA

CleverTap MCP has no project configured yet. Call this tool with your CleverTap credentials and it will return the exact configuration snippet to paste into your MCP settings — then restart the server to activate all tools.

ParametersJSON Schema
NameRequiredDescriptionDefault
account_idYesCleverTap Account ID — found in the CleverTap dashboard under Settings → Accounts
passcodeYesCleverTap Passcode — found in the CleverTap dashboard under Settings → Accounts
regionNoData residency region: in1 (India), us1 (US), eu1 (Europe), sg1 (Singapore), aps3 (Asia-Pacific), mec1 (Middle East)in1
project_nameNoLabel for this project. Use any short name (e.g. "production", "staging"). Defaults to "default".default

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It clearly explains that this tool returns a configuration snippet rather than performing the configuration directly, which is valuable behavioral context. It also mentions the need to restart the server afterward. However, it doesn't disclose potential authentication requirements beyond credentials, rate limits, or error behaviors.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is perfectly concise with two sentences that each serve a clear purpose: the first establishes the context and action, the second explains the outcome and next steps. There's zero wasted language, and it's front-loaded with the essential information about when and why to use the tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a configuration tool with no annotations and no output schema, the description provides good context about the tool's purpose and usage flow. It explains what happens (returns configuration snippet) and what needs to happen next (restart server). However, it doesn't describe the format of the returned snippet or potential error conditions, leaving some gaps in completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema description coverage is 100%, so the schema already documents all four parameters thoroughly. The description doesn't add any additional parameter semantics beyond what's in the schema descriptions. It mentions 'credentials' generally but doesn't elaborate on specific parameters. This meets the baseline expectation when schema coverage is complete.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the specific action: 'Call this tool with your CleverTap credentials and it will return the exact configuration snippet to paste into your MCP settings.' It explicitly addresses the initial setup scenario ('no project configured yet') and distinguishes this as a one-time configuration tool. The verb 'configure' is specific and the resource is the CleverTap MCP project setup.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit guidance on when to use this tool: 'CleverTap MCP has no project configured yet.' It also specifies the follow-up action required: 'then restart the server to activate all tools.' Since there are no sibling tools mentioned, the description appropriately focuses on the specific use case without needing to differentiate from alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 1 tool updatev1.0.0
    • First observedclevertap_configure

TDQS

A4.1/5.0

Scored across 1 tool

Disambiguation5/5

With only one tool, there is no possibility of ambiguity or overlap between tools, as there are no other tools to compare it to. The tool's purpose is clearly defined as a configuration setup step.

Naming Consistency5/5

Since there is only one tool, naming consistency is inherently perfect. The tool name 'clevertap_configure' follows a clear verb_noun pattern, and there are no other tools to create inconsistency.

Tool Count2/5

A single tool is too few for a server intended to interact with CleverTap, as it suggests the server is not yet fully functional or lacks operational capabilities. This is a significant mismatch for the apparent scope of a CleverTap integration.

Completeness1/5

The tool set is severely incomplete for a CleverTap MCP server, as it only provides a configuration tool and no actual operational tools for interacting with CleverTap data or features. This leaves obvious gaps in the domain coverage.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers