PM/마케터를 위한 업무 자동화-세팅편
안녕하세요! PM 지은입니다.
초기 단계의 창업팀에서 일하면서 개발을 제외한 모든 일을 하고 있다고 봐도 무방할 것 같은데요,
일을 시작한 지 5개월 차, 매번 반복되는 업무가 생겼고 반복성 업무를 자동화하고 제가 진짜 집중해야 할 부분에 시간을 쏟기 위해 자동화 방법을 연구하기 시작했습니다.
자동화 시스템 활용에 대해서는 매일 업무에 적용하면서 꾸준히 가장 효과가 큰 방법을 찾고 있어요.
오늘 글에서는 개발 지식이 전혀 없어도 가능한 Big Query-Cursor-Notion MCP 자동화 시스템 구축에 대해서 다루어보겠습니다!
*웹서비스 기준 연동 방법입니다!
아마 프로덕트를 운영하신다면 GA4는 거의 필수로 하고 계실 것 같은데요,
간단하게 설명하면, GA4(Google Analytics 4)는 사용자의 웹·앱 행동 데이터를 통합 분석하는 툴입니다. 구글에서 제공하고 있고, 이벤트 기반 구조로 전환되어, 사용자 여정을 중심으로 맞춤형 인사이트를 제공합니다.
GA4 -> 관리 -> 제품링크 -> BigQuery 링크로 접속해 주세요.
저는 이미 생성해서 링크가 보이는데, 연결이 처음이라면 우측에 "연결" 버튼을 눌러주세요.
저의 경우, 내보내기 유형은 매일로 선택했습니다.
� 내보내기 유형 선택: 스트리밍(실시간) 내보내기는 클라우드 프로젝트 결제가 필요하므로 초기 창업팀 또는 사이드 프로젝트 팀에게는 '매일' 내보내기가 합리적입니다.
Google Cloud는 구글이 제공하는 클라우드 컴퓨팅 플랫폼입니다. 서버, 데이터베이스, AI, 빅데이터 분석 등 IT 인프라를 인터넷상에서 구축하고 운영할 수 있게 해주는 서비스입니다.
Google Cloud에서 새 프로젝트 생성을 진행해 주세요.
이제 왼측 메뉴에서 Big Query를 클릭해 주세요
Big Query의 경우, 연결되는데 1~2일이 소요될 수 있습니다.
저는 GA4와 Big Query를 연결한 다음날 데이터를 열람할 수 있었어요!
Big Query -> 데이터 세트에서 analytic_XXXXXX로 된 데이터세트가 보인다면 성공적으로 연결되었습니다!
혹시 중간 과정에서 연동에 문제가 있었다면 권한을 확인해 보세요! 툴들 대부분 관리자/편집자에게만 이런 연동 작업을 허용하기 때문에 권한도 확인해 보시면 좋을 것 같고, 또한 개인적으로 구글 툴을 연결하는 과정에서는 GPT보다는 Gemini가 훨씬 정확한 결과를 주었습니다. 막히는 부분 캡처해서 Gemini에게 [하려는 작업]-[막힌 부분]을 설명하면 도와줄 거예요!
여기까지 한 작업은, Google Cloud 프로젝트 내에 GA4 속성 ID가 포함된 데이터 세트를 생성한 것입니다. 이 데이터 세트에는 매일 혹은 실시간으로 GA4의 이벤트 데이터가 events_YYYYMMDD 형식의 테이블로 쌓이게 됩니다.
analytics_XXXXXX는 데이터들이 담기는 데이터 세트이며, 이 안에 날짜별 테이블 events_YYYYMMDD들이 존재합니다. 날짜별 테이블 안에는 각종 필드를 활용하여 쿼리를 짜고, 데이터를 분석할 수 있어요.
Google Cloud Big Query 콘솔에서도 바로 쿼리를 짜고 실행할 수 있지만, 우리의 궁극적인 목표는 MCP 연결을 통한 자동화이죠!
이제 자동화 작업을 위한 Step을 시작해 볼게요.
Google Cloud의 왼측탭을 열어서 이번엔 IAM 및 관리자 -> 서비스 계정을 클릭해 주세요!
생성된 서비스 계정을 클릭하고 '키' 탭에서 JSON 형식의 새 키를 생성하고 다운로드합니다.
⚠️ 이때 다운로드된 파일이 바로 service-account-key.json인데, 내 계정 정보가 들어있기 때문에 절대 외부에 노출되면 안 되는 기밀 정보입니다!
이제 Cursor를 활용할 차례인데요, Cursor는 AI를 기반으로 한 프로그래밍 전용 IDE(통합 개발 환경)입니다.
아래 페이지에서 다운로드할 수 있어요.
커서를 세팅하기 전에, Cursor와 Notion MCP 연결을 도식화한 그림을 첨부할게요!
이 내용을 보면서 세팅하시면 조금 더 이해하기 수월할 거예요.
커서를 다운로드하였다면 첫 번째로, BigQuery에서 데이터를 추출하고 처리하는 환경을 만들어 보겠습니다.
1. 사용하는 노트북/컴퓨터에 파일을 생성
2. 파일 내에는 5개의 문서/파일 생성
필요한 문서/파일은 아래와 같습니다!
1) run_query.py -> Python으로 작성된 메인 프로그램, env 파일의 환경 변수와 서비스 계정 키를 사용하여 BigQuery에 접속하고, 실제 SQL 쿼리를 실행하여 분석 결과를 가져오는 역할을 수행
2) service-account-key.json -> (아까 다운로드한 그 파일) Python 스크립트가 Google Cloud Platform (GCP)에 안전하게 접속하여 BigQuery 작업을 수행할 수 있도록 인증 정보를 제공하는 서비스 계정 키 파일. 이 파일이 없으면 BigQuery API를 호출할 수 없음
3). env -> BigQuery 접속 정보, 프로젝트 ID, 데이터셋 이름 등 스크립트 실행에 필요한 설정 값이나 비밀 정보를 저장하는 파일.
4). gitignore -> Git을 사용하여 코드 버전을 관리할 때,. env나 service-account-key.json과 같은 민감한 파일이나 생성된 임시 파일(예:. venv 폴더)이 Git 저장소에 올라가는 것을 방지하도록 설정하는 파일.
5) requirements.txt -> Python 프로젝트(run_query.py)를 실행하는 데 필요한 모든 외부 라이브러리 목록과 그 버전 정보를 명시함.
. venv의 경우, 가상 환경으로 프로젝트에 필요한 라이브러리(requirements.txt에 명시된 google-cloud-bigquery, python-dotenv 등)를 이. venv 안에만 설치할 수 있도록 하는 환경이라고 해요.
찾아보니, 필수는 아닌듯한데 충돌 없이 안전하게 작업하고 싶다면 생성해 주는 것도 좋을 것 같습니다.
두 번째는 통합 설정 파일을 생성해주어야 합니다.
이렇게 폴더를 생성하고 이 안에 JSON 파일을 생성해 주세요.
{
"mcpServers": {
"notionApi": {
"command": "npx",
"args": ["-y", "@notionhq/notion-mcp-server@1.9.0"],
"env": {
"NOTION_TOKEN": "ntn_XXXXXXX"
}
},
"bigquery": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-bigquery@0.1.0"],
"env": {
"GOOGLE_CLOUD_PROJECT": "프로젝트명",
"GOOGLE_APPLICATION_CREDENTIALS": "파일 경로/service-account-key.json"
}
}
}
}
이 코드에서 NOTION_TOKEN의 경우,
1. Notion 설정(Profile)에서 '연결' 또는 '통합' 메뉴로 이동합니다.
2. 새로운 통합을 생성합니다.
3. 생성 후 나타나는 '시크릿 키(Secret Key)'를 복사하여 ntn_XXXXXXX부분에 붙여 넣으세요. (프라이빗 토큰입니다.)
4. 이 통합을 데이터에 접근할 특정 Notion 페이지/데이터베이스에 추가해야 접근 권한이 생깁니다.
GOOGLE_APPLICATION_CREDENTIALS 설정은 Python 스크립트가 Google Cloud에 인증하기 위한 서비스 계정 키 파일의 위치를 지정합니다.
1. 이전에 다운로드한 service-account-key.json 파일을 찾고
2. 그 파일이 저장된 '컴퓨터의 경로'를 복사하여 파일 경로/service-account-key.json 부분에 붙여 넣으세요. (예: /Users/username/project/key.json)
Cursor Setting에서도 Tools&MCP에 접속한 다음, New MCP Server를 선택한 다음에
연결하고 싶은 툴을 입력해 주시면 됩니다.
이제 파일들을 다 생성했으면 쿼리가 제대로 작동하는지 확인해야 하는데요!
Cursor Agent 창에
프롬프트
BigQuery MCP 서버가 mcp.json의 설정대로 정상적으로 인증되는지 확인해 줘.
[내 프로젝트명] 프로젝트의 데이터셋 목록을 API를 통해 조회하는 코드를 작성하고, 해당 코드를 실행해서 연결 상태를 증명해 줘.
프롬프트
Notion MCP 서버가 mcp.json의 토큰을 사용해서 접속 가능한지 확인해 줘. Notion API를 통해 워크스페이스 정보(또는 특정 데이터베이스의 제목)를 가져오는 간단한 Python 함수를 작성하고 실행해 줘.
이렇게 연결 테스트가 완료되었다고 나오면 성공입니다 ⭐️
여기까지 왔는데 혹시 오류가 있다면 GPT나 Gemini보다는 Cursor Agent와 대화하면서 세팅하는 것이 좋습니다. 내 파일 경로랑 안에 어떤 내용이 들어있는지 확인하면서 대답하기 때문에 부족한 파일, 오류가 나는 파일을 정확하게 집어서 알려주고, 고칠 수 있습니다!
오늘은 정말 기초적인 연동만 다뤘지만, 공부하다 보니 커서의 별칭 기능으로 파일을 간편하게 호출하거나, PM/마케터가 실무에서 200% 활용할 수 있는 다양한 방법들이 있더라고요!
그래서 다음 편에서는 Cursor MCP 실전 활용법으로 찾아오겠습니다!
브런치를 구독하시면 새 글이 올라올 때 가장 먼저 알림을 받으실 수 있어요 ✨
N잡러 PM/마케터의 더 많은 이야기는 제 인스타그램에서도 함께 할 수 있어요!
https://www.instagram.com/jay.in.pm/