NotebookLM MCP Structured MCP Server

$npx -y @paolodalprato/notebooklm-mcp-structured
README.md

Enhanced MCP server for NotebookLM with client-side prompt structuring

NotebookLM MCP Structured

Enhanced MCP server for NotebookLM with client-side prompt structuring for source fidelity.

Requirements: This MCP server is designed to work with Claude Desktop. It requires Claude Desktop to be installed and configured to use MCP servers.

This is a modified version of notebooklm-mcp that adds comprehensive structuring instructions to guide Claude in crafting prompts that enforce document fidelity for professional use cases (legal analysis, research, fact-checking).

Key Features

Client-Side Prompt Structuring

The MCP tool description includes comprehensive guidelines that instruct Claude on how to structure questions before sending them to NotebookLM. This ensures:

  • Source fidelity: Responses come ONLY from uploaded documents
  • Citation requirements: Every claim includes source attribution
  • Missing information handling: Explicit declaration when data is unavailable
  • Multi-language support: Works naturally with any language Claude supports
  • Question type adaptation: Different structures for comparisons, lists, analyses, explanations, and extractions

How It Works:

  1. User asks a simple question in any language
  2. Claude reads the structuring guidelines from the tool description
  3. Claude transforms the question into a well-structured prompt
  4. NotebookLM receives the structured prompt and responds accordingly
  5. Claude is instructed to present the response faithfully without adding external knowledge

Why This Matters:

NotebookLM already provides source fidelity by design (Gemini grounded on documents). The real problem this fork solves is different: preventing Claude from "improving" NotebookLM's responses with external knowledge when presenting them to the user.

Design Intent (what the fork aims to achieve):

┌─────────────────────────────────────────────────────┐
│ Without structuring (original MCP):                 │
│ • NotebookLM: "Document states X [Source: doc.pdf]"│
│ • Risk: Claude may add external knowledge          │
│   "Document states X. Also, based on my knowledge, │
│   Y is important to consider..."                   │
│   └─ External knowledge added! ─┘                  │
│                                                     │
│ With structuring (this fork):                       │
│ • NotebookLM: "Document states X [Source: doc.pdf]"│
│ • Claude reads Response Handling instruction        │
│ • Goal: Claude presents faithfully                  │
│   "Document states X [Source]"                     │
│   └─ Faithful presentation, no additions ─┘        │
└─────────────────────────────────────────────────────┘

The structuring guidelines include two critical instruction phases:

  1. Pre-send: Transform questions with explicit constraints (but preserve original wording)
  2. Post-receive: Instruct Claude to present responses faithfully WITHOUT external knowledge

This dual-phase approach is designed to maintain document fidelity throughout the workflow.

Verification & Transparency

How to verify the workflow:

Since NotebookLM saves chat history in your notebooks, you can verify the entire process:

  1. Ask a question through Claude using this MCP
  2. Open your notebook on the NotebookLM web interface (https://notebooklm.google.com)
  3. View the saved chat to see:
    • The structured prompt that Claude sent (via the MCP)
    • The original NotebookLM response with all internal reference links

What you can verify:

  • That structuring was applied correctly to your question
  • The raw NotebookLM response before Claude presents it
  • How Claude interpreted the Response Handling instructions
  • Which language was used for structured prompts (useful for multilingual testing)

This transparency mechanism lets you empirically verify the client-side structuring approach and understand each phase of the workflow.

Example Transformation:

Simple question:

What are the main findings in the research papers?

Claude structures it as:

RESPONSE INSTRUCTIONS

TASK: What are the main findings in the research papers?

OPERATIONAL CONSTRAINTS
- Use ONLY information explicitly present in uploaded documents
- DO NOT add external knowledge or interpretations
- If information is not present, state: "[NOT FOUND IN DOCUMENTS]"

REQUIRED OUTPUT FORMAT
For each finding:
- FINDING: [description]
- SOURCE: [document name/section]
- QUOTE: "direct quote supporting the finding"

CITATIONS
- Every claim MUST include source
- Use direct quotes where possible

HANDLING MISSING INFORMATION
- If information is missing, declare it explicitly

BEGIN STRUCTURED RESPONSE

Critical Formatting Rule:

  • NO decorative lines (no === or ---) as they cause NotebookLM timeouts

Language Support

Multilingual by design - The fork works with multiple languages without requiring server-side configuration.

**Ho

Tools (1)

ask_notebookSends a structured query to NotebookLM to extract information with high source fidelity and citations.

Environment Variables

NOTEBOOK_IDrequiredThe unique identifier for your Google NotebookLM notebook

Configuration

claude_desktop_config.json
{"mcpServers":{"notebooklm-mcp-structured":{"command":"npx","args":["-y","@paolodalprato/notebooklm-mcp-structured"],"env":{"NOTEBOOK_ID":"your_notebook_id_here"}}}}

Try it

What are the main findings in the research papers in my notebook?
Compare the legal arguments between the two contracts provided in the documents.
Extract a list of all technical specifications mentioned in the manual.
Explain the methodology used in the study based only on the uploaded PDF.

Frequently Asked Questions

What are the key features of NotebookLM MCP Structured?

Client-side prompt structuring to enforce document fidelity. Dual-phase instructions (Pre-send transformation and Post-receive handling). Automatic citation requirements for every claim made by the AI. Multi-language support for structured prompts and responses. Transparency mechanism to verify structured prompts via NotebookLM chat history.

What can I use NotebookLM MCP Structured for?

Legal analysis requiring strict adherence to contract text without external AI hallucinations. Academic research and fact-checking where every statement must be attributed to a specific source. Professional document extraction where missing information must be explicitly declared. Multilingual document analysis using Claude's language capabilities while maintaining source grounding.

How do I install NotebookLM MCP Structured?

Install NotebookLM MCP Structured by running: npx -y @paolodalprato/notebooklm-mcp-structured

What MCP clients work with NotebookLM MCP Structured?

NotebookLM MCP Structured works with any MCP-compatible client including Claude Desktop, Claude Code, Cursor, and other editors with MCP support.

Use NotebookLM MCP Structured with Conare

Manage MCP servers visually, upload persistent context, and never start from zero with Claude Code & Codex.

Try Free