notebooklm-api

notebooklm-api

Enables document Q&A with grounded citations using the official Gemini File Search API. Upload documents, create stores, and ask questions that return exact passage citations.

Category
Visit Server

README

@mcpware/notebooklm-api

NotebookLM-quality document Q&A — but through MCP, powered by the official Gemini File Search API.

You upload your documents. You ask a question. Every sentence in the answer cites the exact passage from your files. No hallucination, no guessing, no "I think the document says...". Just grounded answers with receipts.

The problem

Every existing NotebookLM MCP server reverse-engineers Google's internal web UI. They scrape the page with Playwright, steal cookies, and pray Google doesn't change a CSS selector. Spoiler: Google changes things. Your MCP breaks. Your Google account gets flagged.

This one uses the official Gemini File Search API. It doesn't scrape anything. It doesn't need your Google login. Just an API key from aistudio.google.com.

What you get

Upload PDFs, DOCX, TXT, HTML, or any of 80+ supported formats. Ask questions across one or multiple document stores. Get answers like this:

The maximum liability is limited to the total fees paid
in the preceding twelve months [1]. Clients must pay all
invoices within forty-five days of receipt [2].

---
Citations:
[1] Contract_A.pdf: "The maximum liability under this agreement
    shall not exceed the total fees paid in the preceding
    twelve (12) months." (confidence: 92%)
[2] Contract_A.pdf: "The Client shall pay all invoices within
    forty-five (45) days of receipt." (confidence: 88%)

Every [1], [2] maps to the exact passage from your document. Not a summary. The actual text.

Quick start

# Set your Gemini API key
export GEMINI_API_KEY=your-key-from-aistudio.google.com

# Add to Claude Code
claude mcp add notebooklm-api npx @mcpware/notebooklm-api

# Or add to Claude Desktop (~/.claude/mcp.json)
{
  "mcpServers": {
    "notebooklm-api": {
      "command": "npx",
      "args": ["@mcpware/notebooklm-api"],
      "env": { "GEMINI_API_KEY": "your-key" }
    }
  }
}

Then just talk to Claude naturally. The three-step workflow:

Step 1: Create a store (one time per topic)

"Create a store called 'Legal Docs'"

Step 2: Upload your files (one time per topic)

"Upload all PDFs from ~/contracts/ to the Legal Docs store"

Step 3: Ask questions (as many as you want)

"What are the liability clauses across all contracts?" "Which contract has the shortest termination notice period?" "Does any contract mention non-compete?"

Claude calls create_store, upload_document, and ask automatically. You don't need to know store names or API details. Each store is independent, so you can have separate stores for different topics (legal docs, tax records, research papers, etc.) and query them individually or together.

Tools

Tool What it does
create_store Create a document store
list_stores List all stores
upload_document Upload a file (PDF, DOCX, TXT, etc.) to a store. Waits for indexing to finish.
list_documents List documents in a store
ask Ask a question. Returns answer with per-passage citations.
delete_document Remove a document
delete_store Remove a store

How citations work

When you call ask, the Gemini File Search API does three things:

  1. Searches your uploaded documents for relevant passages (vector similarity, not keyword match)
  2. Generates an answer grounded in those passages
  3. Returns groundingSupports — a map from each sentence in the answer to the exact source passage

We parse that map into inline [1], [2] markers and a citation list. This is the part every competitor gets wrong — they dump the raw API response without parsing it. We give you something you can actually read and verify.

Why not just use NotebookLM?

You should, if the web UI works for you. This tool is for when you want:

  • Document Q&A inside your coding agent (Claude Code, Cursor, etc.)
  • Programmatic access — upload 100 documents, ask 50 questions, extract structured data
  • Stability — no browser automation, no cookies, no scraping
  • Your own API key — you control the cost and the data

Privacy

On the free tier, Google may use your data to improve products. On the paid tier (link a billing account), they don't. If your documents are sensitive, use the paid tier. Details.

Get an API key

  1. Go to aistudio.google.com
  2. Click "Get API key"
  3. Set it as GEMINI_API_KEY

The free tier gives you enough to try everything. Paid tier for production use.

License

MIT

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured