Pantheon-Security/notebooklm-mcp-secure
요약
Pantheon Security에서 유지 관리하는 NotebookLM MCP의 보안 강화 포크 버전입니다. 이 버전은 엔터프라이즈급 보안, 양자 내성 암호화, 그리고 완전한 Gemini API 통합 기능을 제공합니다. 문서 질의, 오디오/비디오 요약, 구조화된 데이터 추출 등 다양한 고급 기능을 추가했으며, 17개에 달하는 강력한 보안 계층과 규정 준수 아키텍처를 갖추고 있습니다.
핵심 포인트
- 엔터프라이즈급 보안 및 양자 내성 암호화 적용
- Gemini API 통합을 통한 심층 연구 기능 제공
- 오디오/비디오 요약, JSON 데이터 추출 등 고급 기능 추가
- GDPR, SOC2 등 규정 준수 아키텍처 구축 완료
제로 환각 답변 • Gemini 심층 연구 • 17개 보안 계층 • 엔터프라이즈 규정 준수
2026년 신규 기능 • 심층 연구 • 문서 API • 노트북 생성 • 보안 • 설치
엔터프라이즈급 보안, 양자 내성 암호화(post-quantum encryption), 그리고 완전한 Gemini API 통합 기능을 갖춘 유일한 NotebookLM MCP입니다. PleasePrompto/notebooklm-mcp의 보안 강화 포크 버전이며 Pantheon Security가 유지 관리합니다.
- 🔍
NotebookLM 노트북 질의— 출처 기반, 제로 환각 답변 - 📚
노트북 프로그램적 생성 및 관리— 수동 클릭 불필요 - 🎙️
오디오 개요 생성— 문서에 대한 팟캐스트 스타일 요약 - 🎬
비디오 개요 생성— 10가지 시각 스타일을 갖춘 AI 비디오 요약 신규 - 📊
데이터 테이블 추출— 노트북 출처에서 구조화된 JSON 신규 - 🔬
Gemini 3 + 심층 연구— 사고 제어(선택적 API)를 포함한 최신 모델 신규 - 📄
문서 API— 브라우저 없이 PDF 업로드 및 질의 (선택적 API) - 🔐
17개 보안 계층— 양자 내성 암호화, 감사 로그(audit logs), 비밀 스캐닝 - ✅
규정 준수 준비 아키텍처— GDPR, SOC2, CSSF 표준에 맞춰 구축 (제어 구현됨; 공식 인증은 제3자 감사를 요구함) - 💡
API 키 불필요— 핵심 기능은 브라우저 인증만으로 작동합니다.
최신 버전: v2026.3.1 — 모든 334개 감사 이슈 해결. 631개 테스트. 완전한 MCP 프로토콜 준수.
| 버전 | 주요 변경 사항 |
|---|---|
| v2026.3.1 | 보안 감사 완료 — 독립적인 감사를 통해 발견된 334개 이슈 모두 해결. 테스트: 609 → 631. 코드 품질 개선: URL 해상도 중복 제거, 핸들러 추출 기능 추가, non-null assertion(널이 아님 단언) 제거. 테스트 누락 사항 보완: validateNotebookId, 에러 본문 형태, delete_document 확인 가드, sanitizing throws(정제된 예외 발생), 로그 로테이션, rate-limiter 메모리 경계 설정, 범위 클램핑 적용. |
| v2026.3.0 | 보안 감사 릴리스 — 334개 이슈에 대한 네 가지 병렬 AI 코드 검토(보안, 프로토콜, 아키텍처, 테스트). 모든 High 및 Medium 등급 이슈 해결. 테스트: 50개 파일에 걸쳐 139 → 609 (4.4배 증가). 완전한 MCP 프로토콜 준수: structuredContent, isError, transport 태그. 모든 48개 도구에 대한 스키마 경계 설정. 주석 정확성 개선. Webhook SSRF 수정. 감사 로그 무결성 확보(해시 체인, 동시 쓰기 잠금, 로테이션 연속성). 페이지별 뮤텍스 적용. 핸들러Context DI(의존성 주입). Cert pinning 철회 (클레임과 구현 일치화). |
| v2026.2.10 | 강화 릴리스 — 3가지 새로운 보안 계층 추가(14개 → 17개): 기본적으로 안전한 인증(secure-by-default auth), 지수 백오프 잠금(exponential backoff lockout), 자격 증명 격리(credential isolation). 아키텍처 개편: 3,611줄의 핸들러를 9개의 도메인 모듈로 분할하고, 도구 레지스트리 패턴 적용. 백오프가 있는 Gemini API 재시도 기능 추가. 다단계 Docker 빌드 구현. 토큰 CLI (token show/rotate ) 추가. 168개 테스트. |
v2026.2.9 |
performSetup 실행 시 Chrome이 열리기 전에 자격 증명(credentials)을 지우지 않음 — 실패한 실행 시 인증 정보 손실 방지 |
v2026.2.8 |
cleanup_data가 인증 디렉터리(browser_state/, chrome_profile/)를 삭제하지 않음 — 모든 정리 경로에서 인증 유지 |
v2026.2.7 |
Headless 환경에서의 setup_auth 호출 차단; Chrome 프로필 잠금 처리가 가능한 견고한(robust) auth-now.mjs 독립 스크립트 구현 |
v2026.2.6 |
대량 PDF/파일 업로드를 위한 새로운 add_folder 도구 추가; NotebookLM Plus의 티어 감지 기능 개선 |
v2026.2.5 |
setup_auth에서 show_browser가 조용히 무시되던 문제 수정 — 이제 브라우저가 인증을 위해 안정적으로 열림 |
v2026.2.4 |
인증 안정성 강화: 7일 상태 만료, 유효성 검사 시 touchStateFile 실행, Headless 환경에서의 re_auth 호출 차단 |
v2026.2.3 |
Studio 패널 도구 복원: 비디오 개요(Video Overview), 데이터 테이블 생성 기능 재활성화 |
v2026.2.1 |
표준 프로필 확장: 14개 → 33개 도구 — 노트북 생성, 오디오, 소스 관리가 기본적으로 표시됨 |
v2026.2.0 |
Gemini 3 모델(2.5는 3월 31일 폐지), 비디오 개요, 데이터 테이블, 사고 수준(thinking level), 구조화된 JSON, SDK 1.41 버전 업데이트 |
v2026.1.12 |
보안 강화: 상수 시간 인증(constant-time auth), 명령어 삽입(command injection) 수정, 메모리 누수 수정, MCP SDK 1.26.0 버전 |
v2026.1.11 |
새로운 Angular UI를 위한 Notebook 동기화 추출 기능, NOTEBOOKLM_NO_GEMINI 환경 변수 추가 |
v2026.1.10 |
다중 LLM 호환성을 위한 도구 설명 명확성 개선 |
v2026.1.9 |
문서 및 사용자 경험(UX) 개선, npm audit 수정 |
v2026.1.8 |
주요 의존성 업데이트 (zod 4.x, dotenv 17.x, post-quantum 0.5.4) |
v2026.1.7 |
MCP 프로토콜 UX: 도구 아이콘, 사람이 읽기 쉬운 제목(human-friendly titles), 동작 주석 추가 |
v2026.1.4 |
깊이 방어(Defense-in-depth) 경로 유효성 검사, 보안 강화 |
v2026.1.1 |
심층 상태 확인(Deep health checks), 채팅 기록 추출, 컨텍스트 관리 기능 추가
# 빠른 설치
claude mcp add notebooklm -- npx @pan-sec/notebooklm-mcp@latest
| 기능 | 기타 MCP | 본 MCP |
|---|---|---|
| NotebookLM 쿼리 | ✅ 기본 | ✅ + 세션 관리, 할당량(quotas) |
| ... | ||
2026년 4월에 v2026.2.11 (main @ 2973097)에 대한 병렬 심층 감사(deep-audit)를 의뢰했습니다. |
) 네 명의 전문 AI 코드 리뷰어, 각기 다른 공격 표면(attack surface)에 초점을 맞추어 사용했습니다: 보안 취약점, 프로토콜 정확성, 아키텍처 품질, 그리고 테스트 격차 및 엣지 케이스. 이 네 명의 리뷰어는 독립적으로 작업했기 때문에 그들의 발견 사항이 서로 영향을 주지 않았습니다. 종합적으로, 이들은 프로토콜 정확성, 보안 취약점, 아키텍처 결함, 테스트 격차, 그리고 문서화 정확성을 포괄하는 334개 항목의 마스터 이슈 목록을 작성했습니다. 334개 모든 이슈는 v2026.3.0 및 v2026.3.1에서 해결되었습니다.
| Metric | Before (v2026.2.11) | After (v2026.3.1) |
|---|---|---|
| Tests | 139 | 50개 파일에 걸쳐 631 |
| Test suites | ~6 | 50 |
TypeScript errors (tsc --noEmit ) | ||
| 0 | 0 (유지됨) | |
| npm audit vulnerabilities | 0 | 0 (유지됨) |
| MCP protocol compliance | 부분적(Partial) | 완전함(Full) (structuredContent, isError, transport tags) |
| ... |
보안 리뷰어: validateToken()에서 발견된 forceAuth 우회 취약점은 인증되지 않은 사용자가 파일 시스템 도구에 접근할 수 있게 했으며; 검증되지 않은 전송 대상(delivery targets)을 통한 웹훅 SSRF(Server-Side Request Forgery); 읽기 시 감사 로그 해시 체인 미검증; 동시 감사 쓰기가 항목들을 교차 작성하는 문제; 인증 토큰 솔트가 영구 저장되지 않음 (재시작 시 토큰 무효화).
프로토콜 리뷰어: 38개의 도구가 잘못된 응답 형태(structuredContent 누락, 잘못된 isError 의미론, 콘텐츠로 유출되는 전송 태그)를 반환하는 것을 발견했습니다. 모든 48개 도구에서 readOnlyHint/idempotentHint/destructiveHint 주석이 부정확하거나 누락되었으며; 9개의 도구 스키마가 숫자 경계(numeric bounds)를 갖추지 않아 범위를 벗어난 입력이 가능했습니다.
아키텍처 리뷰어: 3,611줄로 된 handlers.ts 파일을 유지보수 부담으로 지적했으며; 도메인 함수 전반에 걸친 싱글톤 임포트가 단위 테스트(unit testing)를 방해하고 있습니다; 500줄짜리 switch/case 디스패치가 O(n) 오버헤드를 추가하고 도구 등록을 오류에 취약하게 만듭니다.
테스트 및 엣지 케이스 리뷰어: 테스트 스위트가 139개 테스트로 보안 중요 모듈의 커버리지가 최소한임을 발견했습니다; mcp-auth.ts
거의 0에 가까운 커버리지; 프롬프트 주입 패턴, 감사 로그 변조, 또는 동시 브라우저 세션 상태에 대한 테스트가 없습니다. DSAR 핸들러에서 감지되지 않은 경쟁 조건(race condition)이 발견되었습니다.
17개의 보안 취약점 해결 (인증 우회, SSRF, 감사 무결성, 경쟁 조건, 셀렉터 주입 벡터)MCP 프로토콜 완벽 준수— 48개 도구 모두 올바른 structuredContent를 반환합니다.
/isError
스키마(shapes)가 정확하고; 어노테이션이 정확하며; 스키마 경계가 강제됩니다.아키텍처 분해—handlers.ts는 9개의 도메인 모듈로 나뉘었으며, HandlerContext 의존성 주입을 사용합니다. 프로세스 목업(process mocks) 없이 100% 단위 테스트가 가능합니다.테스트 커버리지— 브라우저 세션, 인증, 프롬프트 주입, 감사 로그, 웹훅, DSAR 및 규정 준수를 포함한 15개의 새로운 보안 중요 테스트 스위트가 추가되었습니다.클레임 정렬— 인증서 고정(certificate pinning) 기능은 제거되었습니다 (구현은 감사 첫날에 철회됨). 양자 난수 암호화(PQ encryption) 범위가 정확하게 문서화되었으며, 규정 준수 언어는 '인증된(certified)'이 아닌 '통제 구현(controls implemented)'을 사용합니다.
📋 전체 기능 목록 (48개 도구)
| 도구 | 설명 |
|---|---|
ask_question | 출처 기반 답변으로 노트북 질의하기 |
add_notebook | 라이브러리에 노트북 추가하기 |
list_notebooks | 라이브러리의 모든 노트북 목록 보기 |
select_notebook | 활성 노트북 설정하기 |
update_notebook | 노트북 메타데이터 업데이트하기 |
remove_notebook | 라이브러리에서 제거하기 |
create_notebook | 프로그래밍 방식으로 새 노트북 생성하기 |
batch_create_notebooks | 여러 개의 노트북 한 번에 생성하기 |
sync_library | 라이브러리를 NotebookLM과 동기화하기 |
list_sources | 노트북의 출처 목록 보기 |
add_source | 노트북에 출처 추가하기 |
add_folder | 로컬 폴더에서 PDF/파일을 노트북에 일괄 업로드하기 |
remove_source | 노트북에서 출처 제거하기 |
generate_audio_overview | 팟캐스트 스타일 오디오 생성하기 |
get_audio_status | 오디오 생성 상태 확인하기 |
download_audio | 생성된 오디오 다운로드하기 |
generate_video_overview | AI 비디오 개요 생성하기 (10가지 스타일) |
get_video_status | 비디오 생성 상태 확인하기 |
generate_data_table |
구조화된 데이터 테이블 생성하기 | get_data_table |
데이터 테이블을 JSON으로 추출하기 | list_sessions |
활성 세션 목록 보기 | close_session |
세션 종료하기 | reset_session |
세션 기록 초기화하기 | get_health |
서버 및 인증 상태 확인하기 | setup_auth |
초기 인증 | re_auth |
재인증하기 | cleanup_data |
로컬 데이터 정리하기 | get_quota |
사용량 할당량 확인하기 | set_quota_tier |
할당량 등급 설정하기 | get_query_history |
과거 쿼리 보기 | get_notebook_chat_history |
브라우저 채팅 기록 추출하기 | get_project_info |
프로젝트 컨텍스트 가져오기 | export_library |
라이브러리 백업 내보내기 |
| 도구 (Tool) | 설명 (Description) |
|---|---|
deep_research | 포괄적인 리서치 에이전트 |
gemini_query | 빠르고 근거 기반의 쿼리 |
get_research_status | 리서치 진행 상황 확인하기 |
upload_document | Gemini에 문서 업로드하기 |
query_document | 업로드된 문서 쿼리하기 |
query_chunked_document | 대용량 문서 쿼리하기 |
list_documents | 업로드된 문서 목록 보기 |
delete_document | 업로드된 문서 삭제하기 |
| 도구 (Tool) | 설명 (Description) |
|---|---|
configure_webhook | 웹훅 알림 설정하기 |
list_webhooks | 구성된 웹훅 목록 보기 |
test_webhook | 웹훅 전송 테스트하기 |
remove_webhook | 웹훅 제거하기 |
전체 목록은 Compliance Documentation을 참조하세요.
AI 에이전트를 위한 가장 강력한 리서치 기능 — 이제 MCP 툴킷에 탑재되었습니다.
v1.8.0 버전에서는 브라우저 자동화와 함께 안정적인 API 기반의 리서치 백엔드인 Gemini Interactions API가 도입됩니다. 이를 통해 에이전트가 Google의 최첨단 Deep Research 에이전트에 접근할 수 있게 됩니다.
| 과제 (Challenge) | 해결책 (Solution) |
|---|---|
| 브라우저 UI 변경으로 자동화가 깨짐 | Gemini API는 안정적이며 버전 관리가 가능함 |
| ... |
"금융 서비스에서 포스트-퀀텀 암호화 채택의 보안 영향 조사하기"
- Google의 Deep Research agent(Gemini Advanced와 동일) 실행 - 포괄적이고 웹 기반의 분석을 수행하는 데 1~5분 소요
- 인용 및 출처가 포함된 구조화된 답변 반환 - 다중 출처 종합이 필요한 복잡한 주제에 완벽함
"2025년 Log4j 관련 최신 CVE는 무엇인가요?" (Google 검색을 이용)
"10,000달러를 10년간 5%로 복리 계산해 주세요" (코드 실행을 이용)
"이 보안 권고문을 요약해 주세요: [URL]" (URL 컨텍스트를 이용)
Google 검색 기반 정보 제공(grounding) — 학습 데이터뿐만 아니라 현재 정보를 활용함
코드 실행(Code execution) — 계산 및 데이터 분석 수행
URL 컨텍스트 — 요청 시 웹 페이지 분석
- 모델:
gemini-3-flash-preview
(기본값), gemini-3-pro-preview
(고성능), gemini-2.5-flash
(레거시)
백그라운드에서 심층 연구를 실행하고 진행 상황 확인:
"[주제]에 대한 조사를 백그라운드에서 시작해 주세요"
... 다른 작업 계속 ...
"interaction_abc123의 조사 상태 확인"
┌──────────────────────────────────────────────────────────────────────────────┐
│ NotebookLM MCP Server v2026.3.x │
├──────────────────────────────────────────────────────────────────────────────┤
...
💡 Gemini API는 완전히 선택 사항입니다! 모든 핵심 NotebookLM 기능(ask_question, notebooks, sessions, audio)은 API 키가 필요 없는 브라우저 자동화를 통해 작동합니다. 아래의 Gemini 도구들은 직접적인 API 접근을 원하는 사용자들을 위한 추가 기능입니다.
# Gemini API 기능을 사용하려면 필수 (deep_research, gemini_query, upload_document)
GEMINI_API_KEY=your-api-key # https://aistudio.google.com/apikey 에서 가져오기
# 선택적 설정
...
AI 자동 생성 콘텐츠
본 콘텐츠는 GitHub AI Tools의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기