Automatically fetch content from multiple sources, upload to NotebookLM, and generate podcasts, PPT, mind maps and other formats based on natural language instructions.
Supported content sources
1. WeChat official account articles
Automatically scrape WeChat official account article content via MCP server (bypassing anti-scraping)
2. Any web page link
Supports any publicly accessible web page (news, blogs, documents, etc.)
3. YouTube videos
Automatically extract subtitles and metadata from YouTube videos
4. Office documents
- Word (DOCX) - Preserves tables and formatting
- PowerPoint (PPTX) - Extracts slides and notes
- Excel (XLSX) - Tabular data
5. E-books and documents
- PDF - Full-text extraction
- EPUB - E-book full-text extraction
- Markdown (.md) - Native support
6. Images and scanned documents
- Images (JPEG, PNG, GIF, WebP) - OCR text recognition
- Scanned PDF documents - OCR text extraction
7. Audio files
- Audio (WAV, MP3) - Speech-to-text
8. Structured data
- CSV - Comma-separated data
- JSON - JSON data
- XML - XML documents
9. Compressed archives
- ZIP - Automatically extract and process all supported files
10. Plain text
Text content entered or pasted directly
11. Search keywords
Search keywords via Web Search and aggregate information from multiple sources
Prerequisites
1. Install wexin-read-mcp
MCP server is installed at:~/.claude/skills/anything-to-notebooklm/wexin-read-mcp/
Configure MCP(needs to be manually added to the Claude configuration file):
macOS: Edit ~/.claude/config.json
{
"primaryApiKey": "any",
"mcpServers": {
"weixin-reader": {
"command": "python",
"args": [
"/Users/joe/.claude/skills/anything-to-notebooklm/wexin-read-mcp/src/server.py"
]
}
}
}
After configuration, Claude Code needs to be restarted.
2. notebooklm authentication
Authentication is required before first use:
notebooklm login
notebooklm list # 验证认证成功
Trigger methods
WeChat official account articles
/anything-to-notebooklm [微信文章链接]- "Upload this WeChat article to NotebookLM"
- "Generate a podcast from this WeChat article"
Web page links
- "Make this web page into a podcast [URL]"
- "Help me make this article into a PPT [URL]"
- "Help me analyze this web page [URL]"
YouTube videos
- "Make this YouTube video into a podcast [YouTube URL]"
- "Help me generate a mind map from this video [YouTube URL]"
Local files
- "Upload this PDF to NotebookLM /path/to/file.pdf"
- "Generate a PPT from this Markdown file /path/to/file.md"
- "Generate a podcast from this EPUB e-book /path/to/book.epub"
- "Make a mind map from this Word document /path/to/doc.docx"
- "Generate a Quiz from this PowerPoint /path/to/slides.pptx"
- "Make a report from this scanned PDF /path/to/scan.pdf" (automatic OCR)
Search keywords
- "Search for 'AI development trends' and generate a report"
- "Search for materials about 'quantum computing' and make a podcast"
Mixed use
- "Upload this article, this video and this PDF together and generate a report"
Natural Language → NotebookLM Feature Mapping
| What the user says | Intent recognition | NotebookLM command |
|---|---|---|
| "Generate podcast" / "Make into audio" / "Convert to speech" | audio | generate audio |
| "Make a PPT" / "Generate slides" / "Make a presentation" | slide-deck | generate slide-deck |
| "Draw a mind map" / "Generate a mind map" / "Make a diagram" | mind-map | generate mind-map |
| "Generate Quiz" / "Make questions" / "Make a quiz" | quiz | generate quiz |
| "Make a video" / "Generate video" | video | generate video |
| "Generate a report" / "Write a summary" / "Organize into a document" | report | generate report |
| "Make an infographic" / "Visualize" | infographic | generate infographic |
| "Generate a data table" / "Make a table" | data-table | generate data-table |
| "Make flashcards" / "Generate memory cards" | flashcards | generate flashcards |
If there is no explicit instruction, by default only upload without generating any content, and wait for the user's follow-up instructions.
Workflow
Step 1: Identify the content source type
Claude automatically identifies the input type:
| Input feature | Identified as | Processing method |
|---|---|---|
https://mp.weixin.qq.com/s/ |
WeChat Official Account | MCP tool fetching |
https://youtube.com/... or https://youtu.be/... |
YouTube | pass directly to NotebookLM |
https:// or http:// |
web page | pass directly to NotebookLM |
/path/to/file.pdf |
PDF file | markitdown convert to Markdown → TXT |
/path/to/file.epub |
EPUB e-book | markitdown convert to Markdown → TXT |
/path/to/file.docx |
Word document | markitdown convert to Markdown → TXT |
/path/to/file.pptx |
PowerPoint | markitdown convert to Markdown → TXT |
/path/to/file.xlsx |
Excel | markitdown convert to Markdown → TXT |
/path/to/file.md |
Markdown | upload directly |
/path/to/image.jpg |
Image (OCR) | markitdown OCR → TXT |
/path/to/audio.mp3 |
audio | markitdown transcribe → TXT |
/path/to/file.zip |
ZIP archive | extract → markitdown batch conversion |
| Keyword (no URL, no path) | search query | WebSearch → summarize → TXT |
Step 2: Obtain content
WeChat Official Account:
- Use MCP tool
read_weixin_article - Returns: title, author, publish_time, content
- Save as TXT:
/tmp/weixin_{title}_{timestamp}.txt
Web page/YouTube:
- Directly use the URL to call
notebooklm source add [URL] - NotebookLM automatically extracts content
Office documents/e-books/PDF:
- Use markitdown to convert to Markdown
- Command:
markitdown /path/to/file.docx -o /tmp/converted.md - Save as TXT:
/tmp/{filename}_converted_{timestamp}.txt
Local Markdown:
- Upload directly:
notebooklm source add /path/to/file.md
Image (OCR):
- markitdown automatically performs OCR text recognition
- Extract EXIF metadata
- Save as TXT
Audio file:
- markitdown automatically transcribes speech to text
- Extract audio metadata
- Save as TXT
ZIP archive:
- Automatically extract to a temporary directory
- Traverse all supported files
- Batch convert using markitdown
- Merge into a single TXT or multiple Sources
Search keywords:
- Use the WebSearch tool to search keywords
- Summarize the first 3-5 results
- Save as TXT:
/tmp/search_{keyword}_{timestamp}.txt
Step 3: Upload to NotebookLM
Call notebooklm skill:
notebooklm create "{title}" # 创建新笔记本
notebooklm source add /tmp/weixin_xxx.txt --wait # 上传文件并等待处理完成
Waiting for processing to complete is important, otherwise subsequent generation will fail.
Step 5: Generate content based on intent (optional)
If the user specifies a processing intent, automatically call the corresponding command:
| Intent | Command | Wait | Download |
|---|---|---|---|
| audio | notebooklm generate audio |
artifact wait |
download audio ./output.mp3 |
| slide-deck | notebooklm generate slide-deck |
artifact wait |
download slide-deck ./output.pdf |
| mind-map | notebooklm generate mind-map |
artifact wait |
download mind-map ./map.json |
| quiz | notebooklm generate quiz |
artifact wait |
download quiz ./quiz.md --format markdown |
| video | notebooklm generate video |
artifact wait |
download video ./output.mp4 |
| report | notebooklm generate report |
artifact wait |
download report ./report.md |
| infographic | notebooklm generate infographic |
artifact wait |
download infographic ./infographic.png |
| flashcards | notebooklm generate flashcards |
artifact wait |
download flashcards ./cards.md --format markdown |
Generation workflow:
- Initiate a generation request (returns task_id)
- Wait for generation to complete (
artifact wait <task_id>) - Download the generated file locally
- Inform the user of the file path
Complete examples
Example 1: WeChat public account article → Podcast
User input:
把这篇文章生成播客 https://mp.weixin.qq.com/s/abc123xyz
Execution flow:
- Recognize as a WeChat public account link
- MCP tool fetches the article content
- Create a TXT file
- Upload to NotebookLM
- Generate podcast (
generate audio) - Download the podcast locally
Output:
✅ 微信文章已转换为播客!
📄 文章:深度学习的未来趋势
👤 作者:张三
📅 发布:2026-01-20
🎙️ 播客已生成:
📁 文件:/tmp/weixin_深度学习的未来趋势_podcast.mp3
⏱️ 时长:约 8 分钟
📊 大小:12.3 MB
Example 2: YouTube video → Mind map
User input:
这个视频帮我画个思维导图 https://www.youtube.com/watch?v=abc123
Execution flow:
- Recognize as a YouTube link
- Pass directly to NotebookLM (automatically extracts subtitles)
- Generate mind map (
generate mind-map) - Download the mind map
Output:
✅ YouTube 视频已转换为思维导图!
🎬 视频:Understanding Quantum Computing
⏱️ 时长:23 分钟
🗺️ 思维导图已生成:
📁 文件:/tmp/youtube_quantum_computing_mindmap.json
📊 节点数:45 个
Example 3: Search keywords → Report
User input:
搜索 'AI发展趋势 2026' 并生成报告
Execution flow:
- Recognize as a search query
- WebSearch searches the keywords
- Summarize the first 5 results
- Create a TXT file
- Upload to NotebookLM
- Generate report (
generate report)
Output:
✅ 搜索结果已生成报告!
🔍 关键词:AI发展趋势 2026
📊 来源:5 篇文章
📄 报告已生成:
📁 文件:/tmp/search_AI发展趋势2026_report.md
📝 章节:7 个
📊 大小:15.2 KB
Example 4: Mixed multiple sources → PPT
User input:
把这篇文章、这个视频和这个PDF一起做成PPT:
- https://example.com/article
- https://youtube.com/watch?v=xyz
- /Users/joe/Documents/research.pdf
Execution flow:
- Create a new Notebook
- Add 3 Sources in sequence
- Generate PPT based on all Sources
Output:
✅ 多源内容已整合为PPT!
📚 内容源:
1. 网页文章:AI in 2026
2. YouTube:Future of AI
3. PDF:Research Notes (12 页)
📊 PPT 已生成:
📁 文件:/tmp/multi_source_slides.pdf
📄 页数:25 页
📦 大小:3.8 MB
Example 5: EPUB e-book → Podcast
User input:
把这本电子书做成播客 /Users/joe/Books/sapiens.epub
Execution flow:
- Recognize as an EPUB file
- markitdown converts to Markdown
- Save as TXT
- Upload to NotebookLM
- Generate podcast
Output:
✅ EPUB 电子书已转换为播客!
📚 电子书:Sapiens: A Brief History of Humankind
📄 页数:约 450 页
📊 字数:约 15 万字
🎙️ 播客已生成:
📁 文件:/tmp/sapiens_podcast.mp3
⏱️ 时长:约 45 分钟(精华版)
📊 大小:48.2 MB
Example 6: Word document → Quiz
User input:
这个Markdown生成Quiz /Users/joe/notes/machine_learning.md
Execution flow:
- Recognize as a local Markdown file
- Upload directly to NotebookLM
- Generate Quiz (
generate quiz)
Output:
✅ Markdown 已转换为Quiz!
📄 文件:machine_learning.md
📊 大小:8.5 KB
📝 Quiz 已生成:
📁 文件:/tmp/machine_learning_quiz.md
❓ 题目:15 道(10选择 + 5简答)
Error handling
URL format error
❌ 错误:URL 格式不正确
必须是微信公众号文章链接:
https://mp.weixin.qq.com/s/xxx
你提供的链接:https://example.com
Article retrieval failed
❌ 错误:无法获取文章内容
可能原因:
1. 文章已被删除
2. 文章需要登录查看(暂不支持)
3. 网络连接问题
4. 微信反爬虫拦截(请稍后重试)
建议:
- 检查链接是否正确
- 等待 2-3 秒后重试
- 或手动复制文章内容
NotebookLM authentication failed
❌ 错误:NotebookLM 认证失败
请运行以下命令重新登录:
notebooklm login
然后验证:
notebooklm list
Generation task failed
❌ 错误:播客生成失败
可能原因:
1. 文章内容太短(< 100 字)
2. 文章内容太长(> 50万字)
3. NotebookLM 服务异常
建议:
- 检查文章长度是否适中
- 稍后重试
- 或尝试其他格式(如生成报告)
Advanced features
1. Multi-intent processing
Users can specify multiple processing tasks at once:
这篇文章帮我生成播客和PPT https://mp.weixin.qq.com/s/abc123
Skill will execute in sequence:
- Generate podcast
- Generate PPT
2. Custom Notebook
By default, a new Notebook is created for each article, but an existing Notebook can also be specified:
把这篇文章加到我的【AI研究】笔记本 https://mp.weixin.qq.com/s/abc123
Skill will:
- Search for a Notebook named "AI研究"
- Add the article as a new Source
- Generate content based on all Sources
3. Custom generation instructions
Add specific requirements for the generation task:
这篇文章生成播客,要求:轻松幽默的风格,时长控制在5分钟
The Skill will pass the requirements to NotebookLM as instructions.
Notes
-
Rate limits:
- Interval between requests > 2 seconds to avoid being banned by WeChat
- NotebookLM generation tasks have concurrency limits (at most 3 at the same time)
-
Content length:
- WeChat articles are usually 1000-5000 characters, suitable for generating podcasts (3-8 minutes)
- Long articles over 10000 characters may require longer generation time
- Short articles under 500 characters may produce poor results
-
Copyright compliance:
- For personal study and research only
- Comply with WeChat Official Account copyright regulations
- Generated content must not be used for commercial purposes
-
Generation time:
- Podcast: 2-5 minutes
- Video: 3-8 minutes
- PPT: 1-3 minutes
- Mind map: 1-2 minutes
- Quiz/flashcards: 1-2 minutes
-
File cleanup:
- TXT source files are saved in
/tmp/, and are automatically cleaned up after a system restart - Generated files (MP3/PDF/MD, etc.) are saved by default in
/tmp/ - You can specify a custom save path
- TXT source files are saved in
Related Skills
notebooklm- NotebookLM core featuresnotebooklm-deep-analyzer- In-depth analysis of NotebookLM contentmarkitdown- Convert documents in other formats
Configure MCP (important)
⚠️ Must be configured before first use
Edit ~/.claude/config.json:
{
"primaryApiKey": "any",
"mcpServers": {
"weixin-reader": {
"command": "python",
"args": [
"/Users/joe/.claude/skills/anything-to-notebooklm/wexin-read-mcp/src/server.py"
]
}
}
}
Restart Claude Code after configuration!
Troubleshooting
1. MCP tool not found
# 测试 MCP 服务器
python ~/.claude/skills/anything-to-notebooklm/wexin-read-mcp/src/server.py
# 如果报错,检查依赖
cd ~/.claude/skills/anything-to-notebooklm/wexin-read-mcp
pip install -r requirements.txt
playwright install chromium
2. NotebookLM command failed
# 检查认证状态
notebooklm status
# 重新登录
notebooklm login
# 验证
notebooklm list
3. File permission issue
# 确保临时目录可写
chmod 755 /tmp
# 测试写入
touch /tmp/test.txt && rm /tmp/test.txt
4. Generation task stuck
# 检查任务状态
notebooklm artifact list
# 如果显示 "pending" 超过 10 分钟,取消重试
# (目前 CLI 不支持取消,需要在网页端操作)
Typical use cases
Scenario 1: Quick learning
我想学习这篇文章,帮我生成播客,上下班路上听
链接:https://mp.weixin.qq.com/s/abc123
→ Generate an 8-minute podcast and listen during your commute
Scenario 2: Share with the team
这篇文章不错,做成PPT分享给团队
https://mp.weixin.qq.com/s/abc123
→ Generate a 15-page PPT, ready for team sharing
Scenario 3: Review and reinforce
这篇技术文章帮我出题,想测试一下掌握程度
https://mp.weixin.qq.com/s/abc123
→ Generate 10 multiple-choice questions + 5 short-answer questions
Scenario 4: Visual understanding
这篇文章概念比较多,画个思维导图帮我理清结构
https://mp.weixin.qq.com/s/abc123
→ Generate a mind map for an at-a-glance view
Skill creation time:2026-01-25 Last updated:2026-01-25 Version:v1.0.0