Wook's AI and Marketing

NotebookLM 100% 활용하기 (4편) — 블로그 자동화 파이프라인

AI Learnings 2026-05-03

1편~3편까지 NotebookLM의 UI 기반 사용법을 다뤘습니다. 이번 4편에서는 프로그래밍으로 NotebookLM을 자동화하는 방법을 다룹니다.

이 글은 개발자 또는 자동화에 관심 있는 파워유저를 대상으로 합니다.


MCP CLI란?

MCP (Model Context Protocol)는 AI 시스템이 외부 도구와 데이터 소스에 연결되는 표준 프로토콜입니다. NotebookLM MCP CLI는 이 프로토콜을 통해 NotebookLM의 모든 기능을 프로그래밍으로 제어할 수 있게 해줍니다.

기존 방식 vs MCP CLI

기존 (웹 UI)MCP CLI
브라우저에서 수동 클릭터미널에서 명령어 실행
한 번에 하나씩 처리배치 처리 가능
반복 작업 비효율적스크립트로 자동화
결과를 수동으로 복사파일로 직접 다운로드

Step 1: MCP CLI 설치

설치 명령어

# uv (권장 — 빠르고 안정적)
uv tool install notebooklm-mcp-cli

# 또는 pip
pip install notebooklm-mcp-cli

인증 설정

# 자동 로그인 (브라우저 팝업)
nlm login

# 계정 전환
nlm login switch <profile>

nlm login 명령어를 실행하면 브라우저가 열리고 Google 계정 인증이 진행됩니다. 인증이 완료되면 토큰이 로컬에 저장되어, 이후 CLI 명령어를 바로 사용할 수 있습니다.


Step 2: 기본 CLI 명령어

노트북 목록 확인

# 모든 노트북 조회
nlm notebooks list

# 결과 예시:
# ID: eac87d4a-2144-...  Title: AI and Cybersecurity  Sources: 54
# ID: 84a40771-cb67-...  Title: Autonomous AI Reasoning  Sources: 10

새 노트북 생성

nlm notebooks create --title "블로그 리서치 - AI 트렌드 2026"

소스 추가

# URL 소스 추가
nlm sources add --notebook <ID> --type url --url "https://example.com/article"

# 여러 URL 한 번에 추가
nlm sources add --notebook <ID> --type url --urls "url1,url2,url3"

# 텍스트 소스 추가
nlm sources add --notebook <ID> --type text --text "분석할 내용..." --title "메모"

# 파일 업로드
nlm sources add --notebook <ID> --type file --file-path "./report.pdf"

Step 3: Deep Research 자동화

웹 리서치 실행

# Fast Research (약 30초, ~10개 소스)
nlm research start \
  --notebook <ID> \
  --query "AI agent security vulnerabilities 2026" \
  --mode fast \
  --source web

# Deep Research (약 5분, ~40개 소스)
nlm research start \
  --notebook <ID> \
  --query "AI agent security vulnerabilities 2026" \
  --mode deep \
  --source web

리서치 상태 확인 & 소스 가져오기

# 진행 상태 확인 (완료까지 대기)
nlm research status --notebook <ID> --max-wait 300

# 발견된 소스를 노트북에 가져오기
nlm research import --notebook <ID> --task-id <TASK_ID>

Step 4: AI 질의응답 (프로그래밍)

기본 쿼리

nlm query --notebook <ID> --query "이 소스들의 핵심 주제를 5개로 요약해줘"

대화 맥락 유지

# 첫 번째 질문
nlm query --notebook <ID> --query "AI 에이전트의 보안 위험을 분석해줘"
# → conversation_id: abc123 반환

# 후속 질문 (같은 대화 맥락)
nlm query --notebook <ID> \
  --query "그 중 가장 심각한 위험은 무엇인가?" \
  --conversation-id abc123

특정 소스만 지정

nlm query --notebook <ID> \
  --query "이 두 소스의 견해를 비교해줘" \
  --source-ids "source-id-1,source-id-2"

Step 5: Studio 아티팩트 생성

보고서 생성 (Blog Post)

nlm studio create --notebook <ID> \
  --type report \
  --report-format "Blog Post" \
  --language ko

인포그래픽 생성

nlm studio create --notebook <ID> \
  --type infographic \
  --orientation landscape \
  --detail-level detailed \
  --language ko \
  --focus-prompt "AI 에이전트 보안 위협 비교"

오디오 오버뷰 생성

nlm studio create --notebook <ID> \
  --type audio \
  --audio-format deep_dive \
  --audio-length long \
  --language ko

아티팩트 다운로드

# 인포그래픽 다운로드
nlm studio download --notebook <ID> \
  --type infographic \
  --output ./output/infographic.png

# 보고서 다운로드
nlm studio download --notebook <ID> \
  --type report \
  --output ./output/report.md

# 데이터 표 다운로드
nlm studio download --notebook <ID> \
  --type data_table \
  --output ./output/data.csv

실전: 블로그 자동 발행 파이프라인

아래는 리서치 → 분석 → 포스트 생성 → 발행까지 전 과정을 자동화하는 파이프라인입니다.

파이프라인 아키텍처

1

💡 주제 입력

  • "AI 에이전트 보안 위협 분석 2026"
2

🔍 Deep Research

  • nlm research start --mode deep
  • 40+ 소스 자동 수집
3

🧠 AI 분석

  • nlm query "핵심 주제 분석..."
  • 구조 설계 & 요약
4

🎨 아티팩트 생성

  • nlm studio create --type report
  • nlm studio create --type infographic
5

📥 다운로드 & 변환

  • nlm studio download
  • Markdown → 블로그 포스트
6

🚀 Git Push & 배포

  • git add, commit, push
  • 블로그 자동 배포

자동화 스크립트 예시

#!/usr/bin/env python3
"""NotebookLM → Blog Post 자동 발행 파이프라인"""

import subprocess
import json
import time
from datetime import date

def run_nlm(args):
    """NLM CLI 명령어 실행"""
    result = subprocess.run(
        ["nlm"] + args,
        capture_output=True, text=True
    )
    return json.loads(result.stdout) if result.stdout else None

def auto_blog_pipeline(topic, category="AI Learnings"):
    """블로그 자동 발행 파이프라인"""
    
    # 1. 노트북 생성
    notebook = run_nlm([
        "notebooks", "create", 
        "--title", f"Blog Research: {topic}"
    ])
    nb_id = notebook["id"]
    print(f"✅ 노트북 생성: {nb_id}")
    
    # 2. Deep Research 실행
    research = run_nlm([
        "research", "start",
        "--notebook", nb_id,
        "--query", topic,
        "--mode", "deep",
        "--source", "web"
    ])
    task_id = research["task_id"]
    
    # 3. 리서치 완료 대기
    print("⏳ Deep Research 진행 중...")
    run_nlm([
        "research", "status",
        "--notebook", nb_id,
        "--max-wait", "300"
    ])
    
    # 4. 소스 가져오기
    run_nlm([
        "research", "import",
        "--notebook", nb_id,
        "--task-id", task_id
    ])
    print("✅ 소스 가져오기 완료")
    
    # 5. 블로그 보고서 생성
    run_nlm([
        "studio", "create",
        "--notebook", nb_id,
        "--type", "report",
        "--report-format", "Blog Post",
        "--language", "ko"
    ])
    time.sleep(60)  # 생성 대기
    
    # 6. 인포그래픽 생성
    run_nlm([
        "studio", "create",
        "--notebook", nb_id,
        "--type", "infographic",
        "--orientation", "landscape",
        "--language", "ko",
        "--focus-prompt", topic
    ])
    time.sleep(120)  # 생성 대기
    
    # 7. 다운로드
    today = date.today().isoformat()
    slug = topic.lower().replace(" ", "-")[:50]
    
    run_nlm([
        "studio", "download",
        "--notebook", nb_id,
        "--type", "report",
        "--output", f"content/posts/{category}/{today}-{slug}.md"
    ])
    
    run_nlm([
        "studio", "download",
        "--notebook", nb_id,
        "--type", "infographic",
        "--output", f"public/images/{slug}-infographic.png"
    ])
    
    print(f"✅ 블로그 포스트 생성 완료: {today}-{slug}.md")

# 실행
auto_blog_pipeline("AI 에이전트 보안 위협 분석 2026")

배치 처리: 여러 노트북 동시 작업

여러 노트북에 같은 질문

nlm batch query \
  --notebook-names "AI Research,Cybersecurity" \
  --query "2026년 가장 중요한 트렌드를 3가지로 요약해줘"

교차 노트북 쿼리

nlm cross-notebook-query \
  --tags "ai,security" \
  --query "공통적으로 언급되는 위험 요소는?"

GitHub Actions 연동

GitHub Actions에 파이프라인을 연동하면, 정기적으로 블로그를 자동 발행할 수 있습니다:

# .github/workflows/auto-blog.yml
name: Auto Blog Pipeline
on:
  schedule:
    - cron: '0 9 * * 1'  # 매주 월요일 9시
  workflow_dispatch:      # 수동 실행

jobs:
  generate:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Setup Python
        uses: actions/setup-python@v5
        with:
          python-version: '3.12'
      - name: Install NLM CLI
        run: pip install notebooklm-mcp-cli
      - name: Run Pipeline
        env:
          NLM_AUTH_TOKEN: ${{ secrets.NLM_AUTH_TOKEN }}
        run: python scripts/auto_blog_nlm.py
      - name: Commit & Push
        run: |
          git config user.name "Blog Bot"
          git config user.email "bot@blog.com"
          git add content/ public/images/
          git commit -m "auto: new blog post generated"
          git push

핵심 정리

기능CLI 명령어용도
노트북 생성nlm notebooks create주제별 노트북
Deep Researchnlm research start자동 소스 수집
AI 쿼리nlm query소스 분석
아티팩트 생성nlm studio create보고서/인포그래픽
다운로드nlm studio download파일 저장
배치 처리nlm batch대량 처리

다음 편(5편)에서는 이 파이프라인을 확장하여 블로그 시리즈를 책으로 컴파일하는 워크플로우를 다룹니다.

📚 참고자료

💡 AI Learnings 의 다른 글

전체보기

[AI 개발 자동화] Gemini CLI Superpowers 완벽 가이드 및 실전 유스케이스

단순한 터미널 챗봇을 완벽하게 규율 잡힌 시니어 엔지니어로 바꿔주는 Gemini CLI Superpowers 확장의 14가지 핵심 스킬과 실전 활용법을 소개합니다.

2026-05-13

[Antigravity 활용 가이드 3] 오픈소스 Skill로 코딩 자동화 파이프라인 구축하기

Gemini CLI의 꽃이라 할 수 있는 Skill 시스템을 이해하고, 오픈소스로 공개된 다양한 스킬을 확장하여 강력한 코딩 자동화 워크플로우를 구축하는 방법을 알아봅니다.

2026-05-10

[AI 개발의 미래] Gemini CLI Superpowers vs Antigravity 에이전트 전격 비교

최근 인공지능(AI) 코딩 어시스턴트 시장은 단순한 '코드 자동 완성' 시대를 넘어, 개발자의 워크플로우를 주도적으로 설계하고 실행하는 **'에이전트 기반(Agentic) 개발'** 시대로 접어들었습니다 [1]. 그 중심에는 터미널 환경을 AI 통합 워크스페이스로 변모...

2026-05-09

[AI 개발의 혁신] FastMCP란 무엇이며, 왜 사용해야 하는가?

**MCP(Model Context Protocol)**는 대규모 언어 모델(LLM)을 외부 데이터 소스 및 도구와 안전하게 연결해주는 개방형 표준 프로토콜로, 종종 'AI를 위한 USB-C 포트'에 비유됩니다 [1, 2]. 하지만 이 프로토콜의 스펙을 직접 구현하는...

2026-05-09

Model Context Protocol (MCP) 완벽 가이드: AI 에이전트 통합의 새로운 표준

**Model Context Protocol (MCP)**는 2024년 11월 Anthropic이 발표한 오픈 소스 표준으로, AI 애플리케이션이 외부 시스템 및 데이터 소스와 원활하고 안전하게 연결될 수 있도록 돕는 범용 프로토콜입니다 [1], [2]. 과거에는 A...

2026-05-09

[Antigravity 활용 가이드 2] 토큰 한계를 넘는 비법: YOLO 모드와 청킹(Chunking)

Gemini CLI의 강력한 기능인 YOLO 모드를 활용한 브레인스토밍 이터레이션 기법과 제한된 컨텍스트 윈도우를 효율적으로 극복하는 청킹(Chunking) 기술을 소개합니다.

2026-05-09

[Antigravity 활용 가이드 1] Antigravity와 Gemini CLI, 어떻게 다르게 써야 할까?

Agentic AI 코딩 어시스턴트인 Antigravity와 강력한 터미널 도구인 Gemini CLI의 차이점을 알아보고, 각 도구를 어떤 상황에서 어떻게 활용해야 완벽한 시너지를 낼 수 있는지 분석합니다.

2026-05-08