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

사용자 이벤트 하나 이상 업로드

clevertap_get_events

필터를 사용하여 이벤트 데이터 쿼리

clevertap_get_events_cursor

커서를 통해 다음 페이지의 이벤트 결과 가져오기

clevertap_get_event_count

이벤트 총 개수 가져오기(비동기 폴링 포함)

프로필

도구

설명

clevertap_upload_profiles

사용자 프로필 생성 또는 업데이트

clevertap_get_profile

식별자, 이메일 또는 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를 사용하여 보류 중인 비동기 요청 폴링

웹 / 브라우저

도구

설명

clevertap_web_login

Chromium 창을 열고 수동 로그인 후 대시보드 세션 쿠키 및 CSRF 토큰 캡처(SSO 및 2FA 지원)

clevertap_web_session_status

프로젝트에 대해 웹 세션이 캡처되었는지, 언제 획득되었는지 확인

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을 허용합니다.

웹 도구 필수 조건: 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_PROJECTSenv 블록 내에서 직렬화된 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