Claude와 Mixpanel MCP로 데이터 분석하기

서성원·2026년 4월 20일

mcp

목록 보기
2/4
post-thumbnail

Mixpanel이란?

제품 분석(Product Analytics)도구로서, 사용자의 이벤트를 트래킹할 수 있는 서비스에요.

쉽게 말하면 “우리 서비스에서 사용자들이 뭘 하는지, 어디서 이탈하는지 숫자로 보여주는 도구”에요.

저희 팀은 Mixpanel에서 직접 퍼널과 인사이트를 만들어서 데이터를 보고 있었어요.
쿼리를 짜는 게 아니라, Mixpanel UI 안에서 이벤트를 고르고, 필터를 붙이고, breakdown을 설정하는 방식이에요.

하지만 불편함이 있었어요.

1. UI 적응 비용이 크다.

Insights / Funnels / Retention 각각 인터페이스가 달라요. 내가 머릿속에 그린 지표를 Mixpanel이 요구하는 방식으로 옮기는 과정 자체가 피로해요. 특히 처음 보는 breakdown 옵션을 찾아다니거나, 집계 방식(unique / total / median)을 바꾸는 것처럼 사소한 설정이 생각보다 많은 클릭을 요구해요.

Insights

Retention

Funnels

2. 리포트는 최대 5개까지만 저장된다

Mixpanel 무료 플랜 기준으로 개인이 저장할 수 있는 리포트(퍼널, 인사이트 등)는 최대 5개에요.

분석을 하면 할수록 기존 리포트를 지워야 하는 상황이 생겼어요. 물론 팀원 한 명 당 하나의 리포트를 만들 수 있었지만, 사실 제가 거의 모든 리포트를 다 만드는 상황이었기에 여전히 어려움이 있었어요.

Mixpanel MCP를 Claude Code에 연결하면 이 두 가지를 모두 해결할 수 있어요.

UI 대신 자연어로 묻고, 결과마다 고유한 Mixpanel URL을 받기 때문에 개수 제한이 없었어요.


MCP란?

MCP(Model Context Protocol)는 Claude 같은 AI가 외부 툴을 직접 호출할 수 있게 해주는 프로토콜이에요. Mixpanel MCP는 Mixpanel의 쿼리 API를 Claude가 직접 호출할 수 있도록 래핑한 서버에요.

쉽게 말하면 아래와 같은 플로우가 가능해져요.

나 → Claude에게 자연어로 질문
Claude → Mixpanel MCP 서버 호출
Mixpanel MCP → Mixpanel API로 쿼리 실행
결과 → Claude가 해석해서 나에게 전달

설정 방법

Claude웹에서 추가하기

1. MCP Server URLs 얻기

MCP Server - Mixpanel Docs

https://mcp.mixpanel.com/mcp 이 URL을 복사

2. Claude 설정 → 커넥터 → 커스텀 커넥터 추가

이름은 아무거나 설정하면 되고, 원격 MCP 서버 URL에 이전에 복사해둔 주소를 붙여넣고 추가.

이제 웹에서 MCP를 사용할 수 있고, 터미널에서 또한 가능.


mcp.json으로 추가하기

1. Claude Code에서 MCP 서버 등록

Claude Code 설정에서 Mixpanel MCP 서버를 추가한다. ~/.claude/settings.json 또는 Claude Desktop 설정에서:

{
  "mcpServers": {
    "mixpanel": {
      "command": "npx",
      "args": ["-y", "@mixpanel/mcp"],
      "env": {
        "MIXPANEL_SERVICE_ACCOUNT_USERNAME": "your-service-account",
        "MIXPANEL_SERVICE_ACCOUNT_SECRET": "your-secret"
      }
    }
  }
}

2. Mixpanel 서비스 계정 발급

Mixpanel → Organization Settings → Service Accounts에서 생성.

  • 권한: Analyst 이상 (읽기 전용으로 충분)
  • username / secret 두 값을 복사해서 위 설정에 넣으면 끝

3. 연결 확인

Claude Code 세션을 시작하면 MCP 서버가 자동으로 뜸. 아래와 같이 물어보기.

"우리 Mixpanel 프로젝트 목록 보여줘"

실제 사용 예시

연결 이후부터는 “mixpanel mcp로 ~~해줘”라고 물어보면 되는데, 그냥 물어보는 것보단 규칙을 정해서 일관성있게 답을 얻고 싶었어요. 그래서 mixpanel용 클로드 command 를 만들었어요.

단계는 6단계로 아래와 같이 설정

[step1] 분석 유형 확인 
[step2] 필요한 데이터 확인
[step3] 쿼리 스키마 확인
[step4] 분석 실행
[step5] 결과 분석 및 해석
[step6] 문서화

이 단계 안에서 주의할 점들이나 더 신경써야 할 점들은 프로젝트 성격에 맞게 커스텀했어요.

클로드 커맨드


아래는 클로드 mixpanel 커맨드에 작성했던 “분석 유형”인데, 프로젝트마다 다르기 때문에 그냥 넘어가도 좋아요.
(참고로 저는 현재 대학교의 동아리를 보여주고 지원할 수 있는 웹서비스를 운영 중이에요😊)

패턴 1. 퍼널 분석

자연어 질문:

"메인페이지 방문 → 상세페이지 방문 → 지원하기 버튼 클릭 퍼널을
 최근 30일 기준으로 유니크 유저로 보여줘"

Claude가 하는 일:

  • Funnels 쿼리 스키마를 확인
  • 이벤트명(MainPage Visited, ClubDetailPage Visited, Club Apply Button Clicked)을 매핑
  • API 호출 → 단계별 전환율 반환

결과 예시:

단계유저 수전환율
--------------:-------:
메인페이지 방문1,709100%
상세페이지 방문45126%
지원 버튼 클릭6114%

핵심은 이벤트명을 정확히 몰라도 된다는 점이에요. "지원하기 클릭"이라고 하면 Claude가 알아서 Club Apply Button Clicked로 매핑해요.


패턴 2. TOP N 랭킹

자연어 질문:

"동아리별로 상세페이지 체류시간 중간값을 내림차순으로 보여줘 (최근 30일)"

Claude가 하는 일:

  • ClubDetailPage Duration 이벤트에서 duration_seconds 프로퍼티를 median으로 집계
  • clubName 기준으로 breakdown
  • 결과를 정렬해서 테이블로 반환

이걸 Mixpanel UI에서 직접 하려면: Insights → 이벤트 선택 → Aggregate Property → breakdown 추가 → 정렬 순서 변경… 꽤 많은 클릭이 필요해요.


패턴 3. 트렌드 분석

자연어 질문:

"지난 5주간 메인 방문, 상세 방문, 지원 클릭 유저 수 주간 추이 보여줘"

결과: 주차별 꺾은선 데이터 + Mixpanel 리포트 링크

Claude가 리포트 URL도 함께 반환하기 때문에, 더 자세히 보고 싶으면 링크 타고 Mixpanel 대시보드에서 바로 확인할 수 있어요.


패턴 4. 코호트 비교

자연어 질문:

"지원하기 버튼을 클릭한 유저와 안 한 유저의 상세페이지 체류시간을 비교해줘"

이런 코호트성 비교는 Mixpanel UI에서 설정이 까다롭다. MCP는 Claude가 내부적으로 frequency-per-user breakdown을 써서 자동으로 처리해줘요.


Mixpanel UI 대비 달라지는 점

항목Mixpanel UIMCP
리포트 저장 개수개인당 최대 5개제한 없음 (쿼리마다 고유 URL 발급)
지표 설정 방법이벤트/필터/breakdown 직접 클릭자연어로 요청
결과 공유링크 직접 복사응답에 Mixpanel URL 자동 포함
이벤트명 숙지 필요 여부알아야 함몰라도 됨 (Claude가 검색)
반복 분석매번 수동으로 설정같은 질문 재사용 가능

Tip

이벤트명을 몰라도 된다

Claude가 Get-Events 툴로 먼저 이벤트 목록을 검색한 뒤 쿼리를 짜요.

"지원 완료" 같은 표현으로도 찾아줘서 편해요.

프로젝트 ID를 알려주면 빠르다

매번 프로젝트를 물어보는 걸 피하려면 대화 초반에 한 번 알려줘요. 그럼 헷갈리는 일 없이 잘 대답해줍니다.

"우리 프로젝트 ID는 3611536이야, 앞으로 이걸로 써줘"

주의사항

외부 사이트 추적불가

예를 들어, 결제 버튼이 외부회사(토스,카카오 등)의 페이지로 이동하는 경우, 버튼 클릭까지만 추적 가능하고 실제 결제 완료 여부는 알 수 없어요.

너무 긴 기간 + 세분화된 breakdown은 타임아웃

90일 범위 + 사용자별 일별 breakdown처럼 데이터 양이 많은 조합은 쿼리가 타임아웃될 수 있어요.

실제로 저도 90일 넘는 기간을 설정하니 데이터가 너무 많아 조회할 수 없었어요.

이 경우 기간을 30일 이내로 줄이거나, 잡히는 이벤트 수를 줄이거나(이벤트 목록 자체를 줄이기), breakdown 기준을 완화해야 해요.


직접 적용해보기

1-3월 데이터를 MCP로 분석하면서 흥미로운 사실을 발견했어요.

처음 가설은 단순했어요. "상세페이지를 오래 볼수록 관심이 높고, 지원하기를 더 많이 누를 것이다."

하지만 데이터는 반대였어요.

┌────────────────────┬─────────────────┬───────────────┐
│ 지원하기 클릭 횟수 │ 체류시간 중간값 │ 체류시간 평균             │
├────────────────────┼─────────────────┼───────────────┤
│ 0~4번               │ 8초             │ 22~32초        │
├────────────────────┼─────────────────┼───────────────┤
│ 4~12번              │ 8초             │ 13~20초        │
├────────────────────┼─────────────────┼───────────────┤
│ 14번 이상            │ 6초             │ 12.6초         │
└────────────────────┴─────────────────┴───────────────┘
  • 클릭을 가장 많이 한 유저일수록 오히려 체류시간이 짧았어요.
  • 반대로 거의 안 누른 유저들이 페이지를 더 오래 봤어요.

해석: 클릭을 많이 한 유저는 이미 플랫폼에 익숙해서 빠르게 스캔하고 결정한다. 오래 머문 유저는 아직 확신이 없어 고민중이거나, 정보가 충분하지 않다고 느끼는 상태일 가능성이 있다.

즉 체류시간 = 관심도라는 단순한 등식은 성립하지 않았어요. 이 인사이트를 얻기까지 UI에서 직접 코호트를 설정했다면 훨씬 오래 걸렸을 것 같아요.

얻은 개선포인트

이 데이터 하나로 방향이 명확해졌습니다. 상세페이지를 오래 보는 유저는 아직 확신을 못 잡은 상태일 가능성이 높아요. 즉 페이지 체류시간을 늘리는 것보다, 오래 머문 유저가 결국 지원 버튼을 누르게 만드는 것이 진짜 개선 포인트인거죠.

아직 어떤 UI 개선을 할 지 정확하게 정하지는 않았지만, 방향성을 잘 잡을 수 있었어요.


마무리

Mixpanel MCP를 쓰면서 좋은점은 두 가지였어요.

UI 적응 비용 제거

  • Mixpanel 인터페이스를 익히지 않아도 됩니다. 머릿속에 있는 지표를 그대로 말하면 Claude가 알아서 쿼리로 만들어줘요.

리포트 개수 제한 해소

  • 쿼리를 실행할 때마다 고유한 Mixpanel URL이 발급해줘요. 저장해두지 않아도 링크만 있으면 언제든 다시 볼 수 있고, 5개 제한에 걸릴 일이 없어요. 특히 주간 리포트처럼 반복적인 분석이나, 갑자기 생긴 수치 이상을 빠르게 파악할 때 효과적입니다.
profile
Frontend Developer

0개의 댓글