Google NotebookLM을 터미널에서 자동화하는 완전 실전 가이드
플랫폼: Windows 10 / macOS / Linux
최종 업데이트: 2026-04-02
Google NotebookLM은 사용자가 직접 제공한 소스(문서, URL, YouTube, Google Drive 등)를 기반으로 AI가 질문에 답변하고, 팟캐스트·요약·퀴즈 등 다양한 콘텐츠를 생성하는 지식 관리 도구입니다. 일반 ChatGPT/Gemini와 달리 "내가 지정한 소스 내에서만" 답변하기 때문에 할루시네이션이 적고 인용 출처가 명확합니다.
기본적으로 NotebookLM은 웹 UI(notebooklm.google.com)를 통해 사용하지만, 이 가이드는 nlm CLI 도구와 Claude Code 스킬을 활용해 NotebookLM을 터미널에서 자동화하는 방법을 다룹니다.
| 작업 | 방법 |
|---|---|
| 웹페이지·YouTube를 소스로 추가 | nlm source add |
| 소스 내용 기반으로 질문·답변 | nlm notebook query |
| AI 팟캐스트 자동 생성 | nlm audio create |
| 웹 딥 리서치 자동 수행 | nlm research start --mode deep |
| 전략 보고서(Briefing Doc) 생성·다운로드 | nlm report create + nlm download report |
| Claude Code와 연동해 AI가 전 과정 자동화 | nlm-skill 스킬 활용 |
이 저장소에서는 다음 두 가지 실제 작업을 수행했습니다:
- AI CEO 인터뷰 분석: NotebookLM 노트북에 인터뷰 소스를 추가하고 AI 팟캐스트를 생성
- AI 에이전트 트렌드 2026 딥 리서치: 웹 리서치로 10개 소스 수집 → Briefing Doc 자동 생성 → 심층 질의로 종합 보고서 작성
output/
├── AI CEO 인터뷰 분석/
│ └── ai-ceo-analysis.md
└── AI agent trends 2026/
├── briefing-doc.md ← NotebookLM 자동 생성 브리핑 문서
└── ai-agent-trends-2026-report.md ← 심층 질의 기반 종합 보고서
nlm을 사용하는 방법은 두 가지입니다. 어떤 방법을 선택할지는 환경에 따라 다릅니다.
| 항목 | CLI (nlm 터미널 명령어) |
MCP (Model Context Protocol) |
|---|---|---|
| 사용 방법 | 터미널에서 직접 명령어 실행 | Claude/AI 에이전트가 내부적으로 함수 호출 |
| 주요 사용자 | 개발자, 자동화 스크립트 | AI 어시스턴트 (Claude Code 등) |
| 대화형 지원 | 제한적 (nlm chat start는 REPL로 AI 제어 불가) |
AI가 자연어로 지시하면 자동 실행 |
| 인터랙티브 REPL | nlm chat start (인간 전용) |
불필요 — AI가 직접 호출 |
| 인증 공유 | MCP와 동일한 인증 백엔드 공유 | CLI와 동일한 인증 백엔드 공유 |
| 추천 상황 | 쉘 스크립트, CI/CD, 독립 실행 | Claude Code와 함께 사용할 때 |
[사용자가 Claude Code에 자연어로 지시]
↓
[Claude Code가 nlm-skill 가이드 참조]
↓
[CLI 명령어를 Bash로 실행 OR MCP 도구를 직접 호출]
↓
[결과를 파싱해 마크다운·파일 등으로 정리]
- MCP 도구(
mcp__notebooklm-mcp__*)가 보이면: Claude가 MCP 도구를 직접 호출하는 방식 가능 - MCP 도구가 없고 CLI만 있으면:
Bash(nlm ...)형태로 터미널 명령어 실행 - 둘 다 있으면: 사용자에게 선택을 물어본 후 진행
이 저장소의 모든 실습은 CLI 방식을 기준으로 작성되었습니다.
| 항목 | 요구사항 |
|---|---|
| 운영체제 | Windows 10+, macOS 12+, Linux (Ubuntu 20.04+) |
| Node.js | v18 이상 (LTS 권장) |
| Google 계정 | NotebookLM 접근 가능한 계정 |
| 브라우저 | Chrome, Arc, Brave, Edge, Chromium 중 하나 |
| Claude Code | 최신 버전 (스킬 연동 시 필요) |
node --version # v18.0.0 이상이어야 함
npm --version # 8.0.0 이상 권장Windows에서 한글 출력이 깨지는 경우 UTF-8 환경변수를 설정합니다:
# 임시 설정 (현재 세션)
set PYTHONIOENCODING=utf-8
set PYTHONUTF8=1
# 영구 설정 (시스템 환경변수)
setx PYTHONUTF8 1nlm은 npm 패키지로 배포됩니다. 전역 설치를 권장합니다.
npm install -g notebooklm-mcp-cli설치 후 버전 확인:
nlm --version업데이트가 있을 경우 자동으로 알림이 표시됩니다:
notebooklm-mcp-cli 0.5.13 → 0.5.14 available
Run npm install -g notebooklm-mcp-cli to update
업데이트:
npm install -g notebooklm-mcp-cliNotebookLM은 Google 계정 인증이 필요합니다. nlm login은 브라우저를 자동으로 열어 쿠키를 추출합니다.
nlm login실행하면 브라우저가 열리고 Google 계정으로 로그인합니다. 완료 후 터미널에 인증 성공 메시지가 표시됩니다.
nlm login --check성공 시 출력 예시:
✓ Authentication valid!
Profile: default
Notebooks found: 14
Account: yourname@gmail.com
여러 Google 계정을 동시에 사용할 경우:
nlm login --profile work # 업무용 계정 추가
nlm login --profile personal # 개인 계정 추가
nlm login profile list # 모든 프로필 확인
nlm login switch work # 기본 프로필 전환세션 만료 주의: 인증 세션은 약 20분 후 만료됩니다. 명령이 실패하면
nlm login으로 재인증하세요.
Claude Code와 함께 nlm을 사용하려면 전용 스킬을 설치합니다. 스킬은 Claude Code에게 nlm 명령어 사용법을 가르쳐주는 가이드 문서입니다.
nlm skill install claude-codenlm skill list출력 예시:
┌─────────────┬────────────┬────────────┐
│ Tool │ Installed │ Up to date │
├─────────────┼────────────┼────────────┤
│ claude-code │ ✓ │ ✓ │
└─────────────┴────────────┴────────────┘
nlm skill update claude-code
# 또는 모든 스킬 한번에
nlm skill update스킬이 설치되면 Claude Code에서 /nlm-skill 형태로 참조할 수 있으며, Claude가 자동으로 올바른 nlm 명령어를 선택해 실행합니다.
모든 설치가 완료되면 다음 명령어로 전체 동작을 검증합니다.
# 1. 버전 확인
nlm --version
# 2. 인증 상태 확인
nlm login --check
# 3. 노트북 목록 조회 (실제 데이터 반환 여부 확인)
nlm notebook list
# 4. 스킬 설치 상태 확인
nlm skill list정상 출력 예시:
notebooklm-mcp-cli 0.5.13
✓ Authentication valid!
Profile: default
Notebooks found: 3
Account: yourname@gmail.com
Title Sources Updated
─────────────────────────────────────────
AI CEO 인터뷰 분석 5 2026-04-01
...
긴 YouTube 영상의 핵심 내용을 NotebookLM으로 분석하고, AI 팟캐스트(오디오 브리핑)를 자동 생성하는 워크플로우입니다.
"Sam Altman의 최근 인터뷰 영상을 분석하고, 핵심 인사이트를 5분짜리 팟캐스트로 만들고 싶다."
nlm notebook create "AI CEO 인터뷰 분석"
# → 출력: Notebook ID: ba174981-28e3-4145-a148-6835cc54f33e노트북 ID가 길어서 불편하다면 별칭(alias)을 설정합니다:
nlm alias set ai-ceo ba174981-28e3-4145-a148-6835cc54f33e이후 모든 명령에서 ID 대신 ai-ceo를 사용할 수 있습니다.
nlm source add ai-ceo --url "https://www.youtube.com/watch?v=XXXXXXXXX"추가 후 확인:
nlm source list ai-ceo출력 예시:
ID Title Type
──────────────────────────────────────────────────
1018f8e5 Sam Altman Interview 2026 youtube
NotebookLM의 "Audio Overview" 기능으로 AI 두 명이 대화하는 형식의 팟캐스트를 생성합니다.
# 기본 딥다이브 형식
nlm audio create ai-ceo --format deep_dive --confirm
# 짧은 요약 형식
nlm audio create ai-ceo --format brief --length short --confirm
# 특정 주제에 집중한 팟캐스트
nlm audio create ai-ceo --format deep_dive --focus "AI 에이전트와 미래 일자리" --confirm오디오 포맷 옵션:
| 포맷 | 설명 |
|---|---|
deep_dive |
두 진행자가 심층 토론 (기본값) |
brief |
핵심 요약만 간결하게 |
critique |
비판적 시각으로 분석 |
debate |
찬반 토론 형식 |
길이 옵션: short / default / long
# 생성 상태 확인 (completed 될 때까지 반복)
nlm studio status ai-ceo
# 다운로드
nlm download audio ai-ceo --output output/ai-ceo-podcast.mp3출력 예시:
✓ Downloaded audio to: output/ai-ceo-podcast.mp3
#!/bin/bash
NB_ID="ai-ceo"
YOUTUBE_URL="https://www.youtube.com/watch?v=XXXXXXXXX"
nlm source add $NB_ID --url "$YOUTUBE_URL"
nlm audio create $NB_ID --format deep_dive --confirm
echo "팟캐스트 생성 중... 완료까지 약 2-5분 소요"
sleep 120
nlm studio status $NB_ID
nlm download audio $NB_ID --output podcast.mp3
echo "완료: podcast.mp3 저장됨"복수의 소스를 추가하고, 노트북에 질문을 던져 답변을 받아 마크다운 보고서로 정리하는 워크플로우입니다.
"AI 에이전트 관련 아티클 3개를 추가하고, 핵심 트렌드와 기업 사례를 질의로 추출해서 보고서로 정리하고 싶다."
# 웹 아티클 추가
nlm source add ai-ceo --url "https://example.com/article1"
nlm source add ai-ceo --url "https://example.com/article2"
# 직접 텍스트 붙여넣기
nlm source add ai-ceo \
--text "AI 에이전트 시장은 2026년 기준 약 61~99억 달러 규모로..." \
--title "AI 에이전트 시장 조사 메모"
# Google Drive 문서 추가
nlm source add ai-ceo --drive 1KQH3eW0hMBp7WK... --type doc소스 유형별 --type 옵션: doc / slides / sheets / pdf
소스 목록 확인:
nlm source list ai-ceonlm notebook query ai-ceo "2026년 AI 에이전트의 핵심 기술 트렌드는 무엇인가?"출력에서 conversation_id를 메모해 둡니다 — 이를 사용하면 대화 문맥을 유지한 채 후속 질문을 할 수 있습니다.
{
"answer": "...",
"conversation_id": "ff94d84c-7b06-4130-9353-8a909ccf9927"
}# --conversation-id로 이전 대화 이어받기
nlm notebook query ai-ceo \
"앞서 언급한 트렌드 중 기업 도입 시 가장 큰 장벽은?" \
--conversation-id ff94d84c-7b06-4130-9353-8a909ccf9927nlm notebook query의 출력을 파이프하거나, Claude Code에게 정리를 요청합니다.
# JSON 형태로 저장
nlm notebook query ai-ceo "핵심 인사이트 5가지를 번호 목록으로 정리해줘" \
--json > output/insights.json또는 Claude Code에 직접 요청:
"노트북에 질문 3개를 던지고, 답변을 하나의 마크다운 보고서로 정리해서 저장해줘."
Claude Code는 nlm-skill 가이드를 참조해 질문 순서, 문맥 유지, 파일 저장까지 자동으로 처리합니다.
이 저장소에서 실제로 수행한 질의와 결과:
| 질문 | 핵심 답변 요약 |
|---|---|
| 핵심 기술 트렌드? | MAS(멀티에이전트), 자율 실행(Intent-based Computing), MCP/LAM 표준화 |
| 기업 도전 과제? | Agent Sprawl, EU AI Act 규제, 추론 비용 폭증, 할루시네이션 루프 |
| 산업별 ROI? | 금융 2.3배 ROI, 헬스케어 35~40% 시간 절감, 개발자 생산성 55% 향상 |
결과물: ai-agent-trends-2026-report.md
NotebookLM의 웹 리서치 기능으로 특정 주제에 대한 소스를 자동 수집하고, Briefing Doc을 생성·다운로드한 뒤 심층 분석 보고서를 작성하는 고급 워크플로우입니다.
"AI agent trends 2026 주제로 딥 리서치를 수행하고, AI가 생성한 브리핑 문서와 심층 질의를 합쳐 전략 보고서를 만들고 싶다."
# Fast 모드: 약 30초, ~10개 소스
nlm research start "AI agent trends 2026" --notebook-id ai-ceo
# Deep 모드: 약 5분, ~40개 소스 (소스 과다 시 임포트 실패 가능)
nlm research start "AI agent trends 2026" --notebook-id ai-ceo --mode deep실습 경험: 딥 모드로 61개 소스를 수집했으나 임포트 시 서버 오류(502, Code 13)가 반복 발생했습니다.
권장 방법: Fast 모드(10개 이내)로 시작하는 것이 안정적입니다.
출력 예시:
✓ Research started
Query: AI agent trends 2026
Mode: fast
Task ID: 34365eed-0ae6-43ab-a8e1-3093dfea79d3
Estimated time: ~30 seconds
# 완료될 때까지 자동 대기 (최대 120초)
nlm research status ai-ceo --task-id 34365eed-0ae6-43ab-a8e1-3093dfea79d3 --max-wait 120완료 시 출력:
Research Status:
Status: completed
Task ID: 34365eed-0ae6-43ab-a8e1-3093dfea79d3
Sources found: 10
# 전체 임포트
nlm research import ai-ceo 34365eed-0ae6-43ab-a8e1-3093dfea79d3
# 특정 인덱스만 선택 임포트 (소스가 많을 때)
nlm research import ai-ceo 34365eed-0ae6-43ab-a8e1-3093dfea79d3 --indices 0,1,2,3,4임포트 결과:
✓ Imported 4 sources.
• AI agent trends 2026 report | Google Cloud
• 2026 enterprise AI predictions | InformationWeek
• Model Context Protocol – Wikipedia
• The 2026 State of AI Traffic & Cyberthreat Benchmark Report | HUMAN Security
NotebookLM Studio의 Briefing Doc 기능으로 수집된 소스를 바탕으로 구조화된 전략 문서를 자동 생성합니다.
# Briefing Doc 생성
nlm report create ai-ceo --format "Briefing Doc" --confirm
# 특정 주제에 집중한 커스텀 보고서
nlm report create ai-ceo \
--format "Create Your Own" \
--prompt "2026년 AI 에이전트 도입을 고려하는 CIO를 위한 의사결정 가이드를 작성해줘" \
--confirm
# Study Guide 형식
nlm report create ai-ceo --format "Study Guide" --confirm보고서 포맷 옵션:
| 포맷 | 설명 |
|---|---|
Briefing Doc |
핵심 사실과 데이터 중심의 전략 브리핑 |
Study Guide |
학습 목적의 구조화된 가이드 |
Blog Post |
일반 독자를 위한 블로그 형식 |
Create Your Own |
커스텀 프롬프트로 형식 자유 지정 |
nlm studio status ai-ceo출력:
[
{"id": "660488c6-...", "type": "report", "status": "completed"},
{"id": "94ec4403-...", "type": "audio", "status": "completed"}
]# 마크다운으로 다운로드
nlm download report ai-ceo --output "output/AI agent trends 2026/briefing-doc.md"다운로드된 파일: briefing-doc.md
Briefing Doc에 담기지 않은 내용을 추가 질의로 보완합니다.
# 첫 번째 심층 질문
nlm notebook query ai-ceo \
"2026년 AI 에이전트의 핵심 기술 트렌드는? 멀티에이전트, 자율 실행, 툴 사용 측면에서 설명해줘."
# 후속 질문 (conversation_id 사용)
nlm notebook query ai-ceo \
"기업 도입 시 거버넌스, 비용, 신뢰 관점의 도전 과제는?" \
--conversation-id <위에서 받은 ID>
# 산업별 ROI 질문
nlm notebook query ai-ceo \
"AI 에이전트가 가장 큰 임팩트를 미칠 산업과 구체적인 ROI 수치는?" \
--conversation-id <위에서 받은 ID>Claude Code에게 "질의 답변 내용을 종합해서 마크다운 보고서로 저장해줘"라고 요청하면 자동으로 정리합니다.
결과물: ai-agent-trends-2026-report.md
리서치 시작 (fast/deep)
↓
완료 대기 (research status)
↓
소스 임포트 (research import)
↓
Briefing Doc 생성 (report create)
↓
생성 완료 확인 (studio status)
↓
다운로드 (download report)
↓
심층 질의 3~5개 (notebook query)
↓
종합 보고서 마크다운 저장
# 반드시 --confirm 플래그 필요
nlm notebook delete <id> --confirm
nlm source delete <source-id> --confirm삭제 전에 항상 nlm notebook list로 대상을 확인하세요. 삭제된 노트북과 소스는 복구할 수 없습니다.
# ❌ AI 도구에서 절대 사용하지 말 것
nlm chat start <id> # 대화형 REPL — AI가 제어 불가
# ✅ 올바른 방법: 단발성 Q&A
nlm notebook query <id> "질문 내용"nlm chat start는 인간이 터미널에서 직접 대화할 때만 사용하세요.
인증 세션은 약 20분 후 만료됩니다. 명령어 실패 시 재인증합니다:
nlm login오류 메시지:
Error: Cookies have expired or authentication may have expired
Windows에서 한글이 포함된 노트북 제목이나 소스를 다룰 때 인코딩 오류가 발생할 수 있습니다:
# 임시 해결 (명령어 앞에 붙이기)
PYTHONIOENCODING=utf-8 nlm studio status <id>
# 영구 해결 (한 번만 실행)
setx PYTHONUTF8 1NotebookLM API는 연속 호출 시 속도 제한이 적용됩니다. 권장 대기 시간:
| 작업 | 권장 대기 시간 |
|---|---|
| 소스 추가 | 2초 |
| 콘텐츠 생성 | 5초 |
| 리서치 작업 | 2초 |
| 질의(Query) | 2초 |
노트북당 소스는 최대 50개까지만 추가할 수 있습니다. 50개가 넘으면 추가 요청이 실패합니다.
Deep 모드로 40개 이상의 소스를 수집한 뒤 일괄 임포트할 때 서버 오류(502, Code 5, Code 13)가 발생하는 경우가 있습니다.
해결 방법:
- Fast 모드 사용 (약 10개 소스)
--indices로 소수만 선택해서 임포트- 잠시 후 재시도
# 안정적인 방법: 인덱스 선택 임포트
nlm research import ai-ceo <task-id> --indices 0,1,2,3,4NotebookLM의 콘텐츠 생성 기능(오디오, 보고서 등)은 영어를 기본으로 합니다. 한국어 소스를 추가해도 생성 결과물이 영어로 나올 수 있습니다. 한국어 출력이 필요하면:
nlm audio create <id> --language ko --confirm
nlm report create <id> --language ko --confirm단, --language 옵션을 지원하지 않는 경우 NotebookLM 웹 UI에서 언어를 직접 설정해야 합니다.
NotebookLM은 제공된 소스 안에서만 답변하지만, 소스 자체가 부정확하거나 최신 정보가 아닌 경우 결과도 부정확할 수 있습니다. 중요한 수치나 사실은 원본 소스를 직접 확인하세요.
Q. nlm login을 실행해도 브라우저가 안 열려요.
A. 다음을 시도해 보세요:
# 브라우저 명시적 지정
nlm login --browser chrome
nlm login --browser edge
# CDP URL 직접 지정 (외부 CDP 프로바이더 사용 시)
nlm login --provider openclaw --cdp-url http://127.0.0.1:18800포트 충돌이 있을 경우 기존 브라우저를 모두 닫고 재시도합니다.
Q. 노트북 ID가 너무 길어서 불편해요.
A. 별칭(alias) 기능을 사용하세요:
nlm alias set myproject ba174981-28e3-4145-a148-6835cc54f33e
nlm notebook query myproject "질문 내용"
nlm alias list # 전체 목록
nlm alias delete myproject # 삭제Q. 리서치 소스를 임포트할 때 오류가 납니다 (code 5, 502).
A. 여러 원인이 있습니다:
- 소스 수 과다: Fast 모드(~10개) 사용 또는
--indices로 선택 임포트 - 노트북이 이미 50개 소스: 기존 소스를 일부 삭제 후 재시도
- 일시적 서버 오류: 5~10분 대기 후 재시도
- 리서치 task가 만료:
nlm research start --force로 새로 시작
Q. nlm research status에서 task ID가 바뀌었어요.
A. nlm research status <nb-id> 실행 시 반환되는 Task ID가 최초 시작 시 받은 ID와 다를 수 있습니다. 이는 내부적으로 task가 재배정된 경우입니다. status 결과에서 반환된 최신 Task ID를 임포트에 사용하세요.
Q. 오디오(팟캐스트) 생성이 완료됐는지 어떻게 확인하나요?
A.
nlm studio status <nb-id>status 필드가 completed이면 완료입니다. in_progress이면 잠시 기다렸다가 다시 확인하세요. 일반적으로 오디오 생성에는 2~5분이 소요됩니다.
Q. 여러 노트북에 동시에 같은 URL을 추가하고 싶어요.
A. 배치(batch) 기능을 사용하세요:
# 여러 노트북에 소스 일괄 추가
nlm batch add-source --url "https://example.com" --notebooks "id1,id2,id3"
# 태그로 묶인 노트북에 일괄 추가
nlm tag add id1 --tags "ai,research"
nlm batch add-source --url "https://example.com" --tags "ai"Q. Claude Code에서 NotebookLM 작업을 자동화할 때 어떻게 시작하나요?
A. Claude Code에서 자연어로 요청하면 됩니다. nlm-skill이 설치되어 있으면 Claude가 알아서 올바른 명령어를 실행합니다.
예시 요청:
- "'AI 트렌드 2026' 주제로 새 노트북을 만들고 딥 리서치를 실행해줘"
- "기존 AI CEO 인터뷰 노트북에 이 YouTube URL을 추가하고 팟캐스트를 만들어줘"
- "노트북의 소스를 기반으로 다음 질문 3개에 답변하고 마크다운으로 저장해줘"
Q. 노트북 질의(Query)에서 인용 출처를 어떻게 확인하나요?
A. nlm notebook query의 JSON 출력에는 citations와 references 필드가 포함됩니다. --json 플래그를 사용하면 전체 응답을 파싱할 수 있습니다:
nlm notebook query <id> "질문" --json | python -c "
import json, sys
data = json.load(sys.stdin)
print(data['value']['answer'])
print('\n--- 인용 소스 ---')
for ref in data['value']['references']:
print(f\"[{ref['citation_number']}] {ref['cited_text'][:100]}...\")
"Q. 생성된 슬라이드·보고서를 Google Docs로 내보낼 수 있나요?
A. 네, export 명령어를 사용하세요:
# Google Docs로 내보내기
nlm export docs <nb-id> <artifact-id> --title "내 보고서"
# Google Sheets로 내보내기 (데이터테이블 전용)
nlm export sheets <nb-id> <artifact-id> --title "내 데이터"artifact-id는 nlm studio status <nb-id>에서 확인할 수 있습니다.
- nlm-skill SKILL.md — 전체 CLI/MCP 명령어 가이드
- command_reference.md — 명령어 시그니처 레퍼런스
- troubleshooting.md — 오류 해결 가이드
- workflows.md — 엔드-투-엔드 워크플로우
이 문서는 실제 nlm CLI 작업 경험을 바탕으로 작성되었습니다.