Search

26. Notion MCP 활용으로 영상 요약 내용 저장하기

섹션
8. Workflow + Agent: 영상 요약 에이전트

Notion MCP 활용으로 영상 요약 내용 저장하기

Notion MCP 설정

MCP 어댑터 설정

GitHub에서 사용한 것과 유사한 방식으로 설정 복사
MCP 어댑터로 감싸기
API 키 변경 필요

설정 시 주의사항

Notion MCP는 JSON을 딕셔너리로 제공하지 않음
문자열 형태로 입력해야 함 (그렇지 않으면 오류 발생)
LangChain 어댑터에 따라 transport 지정 필요

툴 리스트 및 블록 문법

사용 가능한 툴

기존 데이터베이스에 페이지 게시
페이지 생성 후 블록 추가
Notion 데이터베이스에 페이지 생성 및 블록 추가

블록 문법의 복잡성

공식 문서의 append block children 엔드포인트 참조
다양한 블록과 객체들이 각각의 문법에 맞춰 작성 필요
헤딩 사용 시 rich text 컬러 지정 필요
헤딩 1, 2, 3의 깊이 차이 존재
rich text 타입을 텍스트에 맞춰 조정 필요
로직 직접 작성보다 MCP 사용이 효율적

Create React Agent 구현

에이전트 설정

기존에 많이 사용한 Create React Agent 활용
Notion 툴을 툴 리스트에 포함
LLM 설정 및 툴 사용 지시

노드 변경 방식

복잡한 LangGraph 문법 학습 대신 간단한 방법 선택
Upload to Notion 노드 변경
기존 MCP 에이전트의 Agent A-Stream 호출 방식 활용
헬퍼 함수 복사 및 async 변경

오류 처리 및 해결

데이터베이스 ID vs 페이지 ID 문제

데이터베이스 ID를 제공했지만 페이지 ID로 인식하는 오류 발생
두 가지 해결 방법 제시

첫 번째 해결책: 프롬프트 개선

세부사항 포함하여 데이터베이스에 페이지 생성 후 페이지 ID 사용 지시
경험상 Notion MCP에서 잘 작동하지 않음

두 번째 해결책: 노드 추가

Create Notion Page 노드 별도 추가
페이지 생성 후 페이지 ID 반환
반환된 페이지 ID로 블록 추가

페이지 생성 구현

페이지 생성 코드

MCP 툴 사용하지 않고 기존 코드 활용
outline 제거하고 title만 사용
children 제거

페이지 ID 처리

Create Page Endpoint의 반환값에 ID 포함
해당 ID가 MCP에서 사용할 페이지 ID
상태에 페이지 ID 저장 후 블록 추가에 활용

테스트 및 결과 확인

함수 테스트

에이전트 실행 전 개별 함수 테스트
페이지 생성 및 고유값 확인
UUID 형태의 동일한 값 확인
uploadToNotion 호출 시 페이지 ID와 outline 사용

결과 확인

에이전트 실행 결과 양호
Notion에서 불릿 포인트 확인 가능

프롬프트 개선

Generate Outline 프롬프트 수정

마크다운 형식 유지 지시
헤딩과 서브헤딩 사용
불릿 포인트나 번호 사용 지시

Upload Notion 프롬프트 수정

마크다운 형식 인식하도록 수정
제목 변경으로 혼동 방지

헤딩 처리 개선

헤딩 사용 문제

MCP 제작 시 헤딩 사용법 미숙으로 인한 문제
개별 블록 제작 시 전체적이지 않은 결과

Notion API 문서 참조

블록 객체의 헤딩 섹션 참조
헤딩 입력 방법 복사 및 적용
헤딩 3까지만 지원하도록 프롬프트 수정

LangChain 문법 개선

f-string 제거
템플릿 형태로 감싸기
일반 문자열과 변수 구분
human message의 invoke로 prompt value 생성
문자열 형태로 포맷팅 후 전달

최종 결과

성공적인 구현

음성 인식 완료 후 헤딩 적용 성공
Notion에서 올바른 헤딩 형태 확인
비디오에서 텍스트 추출 → 요약 → Notion 업로드 완료

실무 활용 가능성

회사 교육 시 비디오 자료 활용
YouTube 영상 공유 시 요약 활용
다음 강의: YouTube 비디오 요약 구현 예정