| name | zotero-notebooklm |
| description | Zotero koleksiyonları ile Google NotebookLM defterleri arasında iki yönlü senkronizasyon sağlar. Koleksiyondan defter oluşturur, makaleleri ve anotasyonları kaynak olarak yükler, podcast/slayt/video/infografik/literatür haritası üretir, deep research ile bulduğu yeni kaynakları Zotero'ya geri ekler. Kullanıcı bir Zotero koleksiyonundan NotebookLM defteri, podcast, sunum ya da literatür haritası üretmek veya bir referans kütüphanesini deep research ile genişletmek istediğinde, adını açıkça anmasa bile bu skill'i kullan. Tetikleyiciler: Zotero, NotebookLM, koleksiyon, defter, podcast, audio overview, literatür haritası, deep research. |
Zotero koleksiyonlarını NotebookLM defterlerine senkronize ediyorsun. Kaynakları yükle, çıktılar üret, isteğe bağlı olarak deep research ile genişlet.
Setup
Bu adımları ilk mesajda paralel olarak yap:
-
Zotero MCP kontrolü: ToolSearch ile "zotero add_by_doi" ara. mcp__zotero-mcp__zotero_add_by_doi bulunamazsa: "54yyyu/zotero-mcp (zotero-mcp-server) gerekli. Kurulum: uv tool install zotero-mcp-server" yaz ve dur.
-
NotebookLM MCP kontrolü: ToolSearch ile "notebooklm notebook_create" ara. mcp__notebooklm-mcp__notebook_create bulunamazsa: "jacob-bd/notebooklm-mcp-cli gerekli. Kurulum: uv tool install notebooklm-mcp-cli" yaz ve dur.
-
Auth kontrolü: mcp__notebooklm-mcp__server_info çağır. Auth hatası gelirse kullanıcıyı ! nlm login çalıştırmaya yönlendir.
Her iki MCP de hazırsa devam et.
Mod tespiti: Kullanıcı koleksiyon adı verdiyse hızlı mod, vermediyse interaktif mod.
Dil / Language: Kullanıcı hangi dilde yazıyorsa tüm yanıtları, ilerleme mesajlarını ve raporu o dilde ver. Komutlar hem Türkçe hem İngilizce biçimde kabul edilir (ör. genişlet = expand, seç = select, özet = summary); aşağıdaki tablolarda her komutun iki biçimi de listelidir. Whatever language the user writes in, respond, report, and accept commands in that same language.
Adım 1 - Koleksiyon Seçimi
Hızlı mod (koleksiyon adı verildi)
mcp__zotero-mcp__zotero_search_collections ile verilen adı ara.
- Bulunamazsa
mcp__zotero-mcp__zotero_get_collections ile tüm koleksiyonları listele, kullanıcıya göster.
İnteraktif mod (koleksiyon adı verilmedi)
mcp__zotero-mcp__zotero_get_collections ile koleksiyonları listele.
- Kullanıcıdan numara veya isimle seçim iste.
Koleksiyon seçildikten sonra
mcp__zotero-mcp__zotero_get_collection_items ile makaleleri getir.
- Eğer >15 makale varsa uyar: "Bu koleksiyonda {N} makale var. NotebookLM'de optimum 10-15 kaynak. Hepsini yükleyelim mi, yoksa alt seçim yapmak ister misin?"
Adım 2 - Defter Oluşturma
mcp__notebooklm-mcp__notebook_list ile mevcut defterleri kontrol et.
- Aynı isimde defter varsa sor: "'{name}' adında bir defter zaten var. Mevcut deftere ekle mi, yenisini oluştur mu?"
- Yeni defter:
mcp__notebooklm-mcp__notebook_create(title="{koleksiyon_adı}")
- Dönen notebook_id'yi kaydet - sonraki adımlarda kullanılacak.
Adım 3 - Kaynak Yükleme
Önce mevcut kaynakları kontrol et (tekrar-çalıştırma güvenliği):
mcp__notebooklm-mcp__notebook_get(notebook_id="{nb_id}") ile defterdeki mevcut kaynakların başlıklarını al. Aynı koleksiyonu ikinci kez çalıştırmak duplicate kaynak yaratır; başlığı zaten defterde olan makaleleri atla ve raporda "zaten yüklü" diye not et. Anotasyon/Readwise kaynakları için de aynı başlık eşleştirmesini uygula.
Her (yüklenmemiş) makale için sırayla:
-
PDF'i tercih et - tam metni context'ten geçirme.
mcp__zotero-mcp__zotero_get_item_children(item_key="{makale_key}") ile ekleri al. Yerel yolu olan bir PDF eki varsa, dosyayı doğrudan yükle:
mcp__notebooklm-mcp__source_add(notebook_id="{nb_id}", source_type="file", file_path="{pdf_yolu}", title="{makale_başlığı}")
Neden: PDF'i dosya olarak yüklemek tam metni Claude'un context'ine çekmediği için çok daha az token harcar ve makalenin yapısını (şekiller, atıflar, başlıklar) korur; NotebookLM PDF'i native işler.
-
Yalnızca PDF eki yoksa fallback olarak tam metni kullan:
mcp__zotero-mcp__zotero_get_item_fulltext ile metni al, sonra
mcp__notebooklm-mcp__source_add(notebook_id="{nb_id}", source_type="text", text="{fulltext}", title="{makale_başlığı}")
-
mcp__zotero-mcp__zotero_get_annotations ile anotasyonları kontrol et. Varsa:
- Anotasyonları derle ve ayrı bir metin kaynağı olarak ekle:
mcp__notebooklm-mcp__source_add(notebook_id="{nb_id}", source_type="text", text="{derlenmiş_anotasyonlar}", title="Araştırmacı Notları: {makale_adı}")
İlerleme: Her yükleme sonrası "{loaded}/{total} kaynak yüklendi..." yaz.
Hata yönetimi:
- Yüklenemeyen makaleleri atla, raporda not et.
- NotebookLM kaynak limiti (50) dolunca uyar ve
mcp__notebooklm-mcp__notebook_create ile ikinci bir defter oluştur.
Adım 4 - Readwise Entegrasyonu (opsiyonel)
Yalnızca kullanıcı açıkça istediğinde tetiklenir ("Readwise highlight'larımı da ekle" veya readwise komutu).
ToolSearch ile readwise araçlarını kontrol et. Yoksa "Readwise MCP mevcut değil, bu adım atlanıyor." de ve geç.
- Her makale başlığı için
mcp__readwise__readwise_search_highlights ile eşleşen highlight'ları ara.
- Eşleşen highlight'ları makale bazında grupla, tek bir metin kaynağı olarak deftere ekle:
mcp__notebooklm-mcp__source_add(notebook_id="{nb_id}", source_type="text", text="{derlenmiş_highlights}", title="Readwise Highlight'ları")
- Eşleşme yoksa: "Readwise'da eşleşen highlight bulunamadı."
Adım 5 - Çıktı Seçimi (interaktif modda)
Hızlı modda bu adımı atla.
Kullanıcıya seçenekleri sun (birden fazla seçilebilir):
| Komut / Command | Çıktı | MCP Aracı |
|---|
podcast | Audio Overview | mcp__notebooklm-mcp__studio_create(notebook_id, artifact_type="audio") |
slayt / slides | Slayt sunumu | mcp__notebooklm-mcp__studio_create(notebook_id, artifact_type="slides") |
video | Video | mcp__notebooklm-mcp__studio_create(notebook_id, artifact_type="video") |
infografik / infographic | İnfografik | mcp__notebooklm-mcp__studio_create(notebook_id, artifact_type="infographic") |
harita / map | Literatür haritası | mcp__notebooklm-mcp__notebook_query ile metin sorgusu |
özet / summary | Karşılaştırmalı özet | mcp__notebooklm-mcp__notebook_query ile metin sorgusu |
sorgu / query | Serbest soru | mcp__notebooklm-mcp__notebook_query |
yok / none | Çıktı yok, defter hazır | - |
podcast / slayt / video / infografik
- Önce onay al. Bu üretimler pahalı ve geri alınamaz (NotebookLM'de kota harcar);
confirm=true vermeden önce kullanıcıya "{tip} oluşturulsun mu?" diye sor. Kullanıcı zaten açıkça istediyse (ör. baştan "podcast üret" dediyse) tekrar sorma.
- Onay sonrası
mcp__notebooklm-mcp__studio_create(notebook_id="{nb_id}", artifact_type="{tip}", confirm=true) ile oluştur.
mcp__notebooklm-mcp__studio_status(notebook_id="{nb_id}") ile durumu kontrol et.
- Hazır olunca
mcp__notebooklm-mcp__download_artifact(notebook_id="{nb_id}", artifact_type="{tip}") ile indir.
- Uzun sürerse: "Oluşturuluyor, 3-5 dk sürebilir. Kontrol edeyim mi?"
harita
mcp__notebooklm-mcp__notebook_query(notebook_id="{nb_id}", question="Bu defterdeki tüm kaynaklar arasındaki tematik bağlantıları, metodolojik yaklaşımları ve temel argümanları haritalandır. Hangi makale hangi makaleyle ne konuda örtüşüyor, nerede ayrışıyor?") ile sor.
özet
mcp__notebooklm-mcp__notebook_query(notebook_id="{nb_id}", question="Bu defterdeki her kaynağın temel argümanını, metodolojisini ve bulgularını 2-3 cümleyle özetle. Sonra kaynaklar arasındaki ortak temalar ve çelişkileri belirt.") ile sor.
sorgu
Kullanıcının sorusunu doğrudan mcp__notebooklm-mcp__notebook_query(notebook_id="{nb_id}", question="{kullanıcı_sorusu}") ile gönder. Conversation ID döndüyse takip sorularında kullan.
Adım 6 - Deep Research ile Genişletme (opsiyonel)
Tetikleyici: Kullanıcı "genişlet" / "expand" veya "ilgili kaynak bul" / "find related sources" dediğinde.
-
Boşluk analizi:
mcp__notebooklm-mcp__notebook_query(notebook_id="{nb_id}", question="Bu defterdeki kaynaklarda ele alınmayan ama konuyla doğrudan ilişkili hangi perspektifler, metodolojiler veya alt konular eksik?")
-
Deep research başlat:
mcp__notebooklm-mcp__research_start(notebook_id="{nb_id}", query="{boşluk_analizinden_türetilen_sorgu}", mode="fast")
- Deep mod gerekiyorsa:
mode="deep" (~5 dk, web araması)
-
Durumu kontrol et:
mcp__notebooklm-mcp__research_status(notebook_id="{nb_id}")
-
Bulunan kaynakları sun: Numaralı liste halinde göster. Kullanıcı seçtikten sonra:
mcp__notebooklm-mcp__research_import(notebook_id="{nb_id}", task_id="{task_id}", indices="{seçilen}")
-
Zotero'ya da ekle (iki yönlü senkronizasyon):
- Her kaynak için
mcp__zotero-mcp__zotero_search_items ile Zotero'da var mı kontrol et.
- Yoksa:
- DOI varsa:
mcp__zotero-mcp__zotero_add_by_doi(doi="{doi}")
- URL varsa:
mcp__zotero-mcp__zotero_add_by_url(url="{url}")
- Koleksiyona ata:
mcp__zotero-mcp__zotero_manage_collections(item_id="{id}", collection_id="{col_id}", action="add")
-
Zaman aşımı: 5 dakikayı geçerse sor: "Deep research devam ediyor. 3 dk sonra tekrar kontrol edeyim mi?"
Adım 7 - Rapor
Pipeline tamamlandığında aşağıdaki formatı göster:
Zotero <-> NotebookLM Raporu
Koleksiyon: {koleksiyon_adı}
Defter: {defter_adı} (ID: {nb_id})
Yüklenen kaynaklar: {N}/{total}
- PDF (dosya) olarak: {n_pdf}
- Metin olarak (fallback): {n_text}
- Anotasyon kaynağı: {n_annot}
- Zaten yüklüydü, atlandı: {n_skip}
Readwise: {eklendi / kullanılmadı}
Oluşturulan çıktılar: {liste}
Deep Research - yeni kaynaklar: {N} {liste}
Atlanan/hata: {liste veya "Yok"}
İnteraktif Komutlar
Pipeline sırasında veya sonrasında kullanıcı bu komutları verebilir:
| Komut / Command | İşlev |
|---|
listele / list | Zotero koleksiyonlarını göster |
seç N / select N | N numaralı koleksiyonu seç |
hepsini yükle / upload all | Tüm makaleleri onay sormadan yükle |
podcast | Audio Overview oluştur |
slayt / slides | Slayt sunumu oluştur |
video | Video oluştur |
infografik / infographic | İnfografik oluştur |
harita / map | Literatür haritası |
özet / summary | Karşılaştırmalı özet |
sorgu "..." / query "..." | Deftere soru sor |
genişlet / expand | Deep research ile yeni kaynak bul |
readwise | Readwise highlight'larını dahil et |
durum / status | Çıktıların oluşturma durumunu kontrol et (studio_status) |
indir / download | Hazır çıktıları indir (download_artifact) |
dur / stop | Mevcut adımı durdur |
atla / skip | Mevcut adımı geç |
rapor / report | Şu ana kadar yapılanların özetini ver |