NotebookLM (Gemini Notebook) MCP Server by useapi.net

Google NotebookLM: notebooks, sources, cited chat, podcasts, video, slides, quizzes, research. Third-party, paid ($15/month), runs on your own Google account.

Hosted MCP Server

npx add-mcp 'https://api.useapi.net/v1/gemini-notebook/mcp'

Installs into Claude Code, Codex, Cursor and more

Documentation

Skip to main content

NotebookLM MCP Server

October 15, 2026

Independent third-party service, see Legal

Table of contents

  1. Endpoint and authorization
  2. Setup
  3. Tools
  4. Long-running work
  5. Example prompts
  6. Limits and notes

The useapi.net NotebookLM MCP server (Gemini Notebook MCP server) lets an AI assistant such as Claude Code, Cursor or VS Code Copilot use NotebookLM, which Google renamed Gemini Notebook, on your own Google accounts. It is a hosted Model Context Protocol server with 57 tools: create notebooks, add web pages, YouTube videos, files, Google Drive files and Google Play Books ebooks as sources, ask questions answered with citations, and generate every Studio output, from Audio Overviews and Video Overviews to slide decks, infographics, quizzes and mind maps. Each tool calls the Gemini Notebook API, so the same rules and limits apply. Nothing needs to be installed or hosted.

Is there a NotebookLM MCP server? Yes. useapi.net, a third-party service not affiliated with Google, hosts a NotebookLM (Gemini Notebook) MCP server at https://api.useapi.net/v1/gemini-notebook/mcp with 57 tools for notebooks, sources, chat and every Studio output, on your own Google account, nothing to install.

Prefer REST? Tutorials: NotebookLM API Options in 2026 · How to Automate NotebookLM with the Gemini Notebook API · Code: github.com/useapi/notebooklm-api

See all useapi.net MCP servers on Model Matrix & MCP.

Endpoint and authorization

https://api.useapi.net/v1/gemini-notebook/mcp
  • Transport: Streamable HTTP.
  • Listed in the official MCP Registry as net.useapi/gemini-notebook, so MCP clients and directories that read the registry can find it by that name.
  • Authorization: your useapi.net API token in the Authorization: Bearer … header, see Setup useapi.net.
  • You need at least one Google account added with Setup Gemini Notebook. Adding and removing accounts is not available over MCP: use POST /accounts or the setup page.

Setup

Replace YOUR_API_TOKEN with your useapi.net API token.

Claude Code

claude mcp add --transport http useapi-gemini-notebook https://api.useapi.net/v1/gemini-notebook/mcp --header "Authorization: Bearer YOUR_API_TOKEN"

Cursor

In ~/.cursor/mcp.json:

{
  "mcpServers": {
    "useapi-gemini-notebook": {
      "url": "https://api.useapi.net/v1/gemini-notebook/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_API_TOKEN"
      }
    }
  }
}

VS Code

In .vscode/mcp.json:

{
  "servers": {
    "useapi-gemini-notebook": {
      "type": "http",
      "url": "https://api.useapi.net/v1/gemini-notebook/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_API_TOKEN"
      }
    }
  }
}

Windsurf and other clients

Any client that supports remote MCP servers over HTTP with custom headers works. The usual JSON shape:

{
  "mcpServers": {
    "useapi-gemini-notebook": {
      "serverUrl": "https://api.useapi.net/v1/gemini-notebook/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_API_TOKEN"
      }
    }
  }
}

Some clients name the address field url instead of serverUrl.

Test it with curl

curl -s https://api.useapi.net/v1/gemini-notebook/mcp \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-06-18","capabilities":{},"clientInfo":{"name":"curl","version":"1"}}}'

curl -s https://api.useapi.net/v1/gemini-notebook/mcp \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{"jsonrpc":"2.0","id":2,"method":"tools/list"}'

The first call answers with the server’s name useapi-gemini-notebook and its instructions for the assistant, the second with the 57 tools.

Tools

Notebooks, sources, notes and artifacts are named by the ids the tools return, and each id carries its account. Tools that work on an account take email, which can be left out when the API token has one account.

Accounts

ToolWhat it doesMain parameters
notebook_list_accountsLists your accounts with health, maxJobs, running jobs and last known usage. 
notebook_get_accountReads one account live: plan, limits, the 5-hour and weekly usage, and the estimated cost of each Studio action.email
notebook_update_accountSets maxJobs and the output language of Studio artifacts.email, maxJobs, outputLanguage

Notebooks and collections

ToolWhat it doesMain parameters
notebook_list_notebooksLists the notebooks of one account or of all of them.email
notebook_get_notebookReads a notebook with its sources and artifacts, and whether each source is ready.notebook
notebook_create_notebookCreates an empty notebook.email, title
notebook_rename_notebookRenames a notebook.notebook, title
notebook_delete_notebookDeletes a notebook with everything in it.notebook
notebook_copy_notebookCopies a notebook with its sources.notebook, title
notebook_get_guideReturns Google’s summary of the notebook, with suggested questions and reports.notebook
notebook_list_collectionsLists the collections (folders of notebooks).email
notebook_create_collectionCreates a collection.name, emoji, email
notebook_update_collectionRenames a collection, or adds and removes notebooks.collection, name, emoji, addNotebooks, removeNotebooks
notebook_delete_collectionDeletes a collection. Its notebooks stay.collection

Sources

ToolWhat it doesMain parameters
notebook_add_sourcesAdds web pages, YouTube videos, pasted text, Google Drive files and Google Play Books ebooks in one call.notebook, urls, text, title, drive, books
notebook_upload_sourceAdds a file (PDF, Word, PowerPoint, EPUB, Markdown, text, CSV, audio, video or image) from a public https URL of up to 50 MB, or sent as contentBase64.notebook, url or contentBase64, name, mimeType
notebook_get_sourceReads a source with Google’s summary and key topics, and with content: true its full text.source, content
notebook_rename_sourceRenames a source.source, title
notebook_delete_sourceRemoves a source.source
notebook_sync_sourceRe-imports a Google Drive source after its file changed.source
notebook_search_sourcesFinds the passages that match a query, best first.notebook, query, sources, limit
notebook_append_to_sourceAdds text to the end of a source.source, text, title
notebook_copy_sourcesCopies sources to another notebook of the same account.sources, notebook
notebook_list_play_booksLists the account’s Google Play Books library and which books can be added.email

Chat, notes, labels and sharing

ToolWhat it doesMain parameters
notebook_askAsks a question answered from the sources with numbered citations. Pass conversation to ask a follow-up.notebook, question, conversation, sources
notebook_get_chatReads a conversation.notebook, conversation
notebook_delete_chatDeletes a conversation.notebook, conversation
notebook_set_chat_settingsSets the chat goal (default, learning guide or a custom persona) and answer length.notebook, goal, persona, length
notebook_list_notes, notebook_get_note, notebook_create_note, notebook_update_note, notebook_delete_noteManage notes. notebook_create_note with conversation saves a whole chat as a note.notebook, note, title, content, conversation
notebook_note_to_sourceTurns a note into a source.note
notebook_create_mindmap_noteMakes a mind map of the sources as a note, in one call.notebook, sources, language, instructions
notebook_list_labels, notebook_create_labels, notebook_update_label, notebook_delete_labelGroup sources with labels, named or assigned by Google by topic (auto).notebook, label, auto, name, emoji, addSources, removeSources
notebook_get_sharing, notebook_set_sharingRead and change who can open a notebook, its link, copies and view level.notebook, people, link, allowCopies, viewLevel

Studio and research

ToolWhat it doesMain parameters
notebook_generate_artifactGenerates an Audio Overview, Video Overview, report, interactive report, data table, quiz, flashcards, infographic, slide deck or mind map. Without notebook it runs one-shot from urls or text.type, notebook, sources, urls, text, and the type’s options: format, length, style, language, instructions, quantity, difficulty, orientation, detail
notebook_get_jobReads a job, and with wait: true waits for it to finish.jobid, wait
notebook_list_jobsLists each account’s running jobs and last known usage. 
notebook_cancel_jobStops tracking a job and frees its slot. Google may still finish the artifact, and its usage is spent either way.jobid
notebook_list_artifactsLists a notebook’s artifacts.notebook
notebook_get_artifactReads an artifact: files with download URLs, a report’s text, the JSON of a quiz, flashcards, mind map or table, slide texts, and an interactive report’s suggested items.artifact
notebook_get_slideReturns one slide of a slide deck, or an infographic, as an image the assistant can see, for example after revising a slide.artifact, slide, width
notebook_rename_artifact, notebook_delete_artifactRename or delete an artifact. Deleting a suggested item dismisses it.artifact, title
notebook_retry_artifactGenerates a failed artifact again.artifact
notebook_revise_slideChanges one slide of a slide deck with a prompt.artifact, slide, prompt
notebook_generate_suggested_itemGenerates an item an interactive report suggests, as suggested or with its own options.artifact and the type’s options
notebook_export_artifactExports a report to Google Docs or a table to Google Sheets and returns its URL.artifact, destination, title
notebook_copy_artifactsCopies finished artifacts to another notebook.artifacts, notebook
notebook_researchLets Google find sources: fast (Discover) or deep (Deep Research with a report), on the web or the account’s Google Drive.notebook, query, type, source
notebook_import_researchAdds the sources a research job found, and the Deep Research report.jobid, urls, report

The options of each Studio type are listed on POST /artifacts. The full input schema of every tool comes from tools/list.

Long-running work

MCP clients usually give up on a tool call after about a minute, so a tool waits up to about 50 seconds:

  • A quiz, flashcards or a mind map usually finishes in that time, and the tool returns the result.
  • An Audio Overview, a Video Overview, a slide deck or research takes longer. The tool then returns the jobid, and notebook_get_job with wait: true picks it up. Ask the assistant to keep checking until it is done.
  • notebook_ask answers in about 5 to 40 seconds.

Clients that ask for progress notifications get one about every 10 seconds while a tool waits.

Files come back as download URLs. Fetch them with the same Authorization header. An infographic, and the first slide of a slide deck, also come back as an image the assistant can see.

Example prompts

  • “Create a notebook from these three articles and make me a 10-minute deep-dive podcast about them.”
  • “Upload this PDF and ask the notebook which risks it lists, with citations.”
  • “Make a quiz of 10 easy questions from my Apollo notebook, then flashcards on the same topic.”
  • “Make a portrait infographic in sketch-note style from the notebook, and show it to me.”
  • “Run Deep Research on solid-state batteries in my Batteries notebook and import the sources and the report.”
  • “Make an interactive report for a 12-year-old, then generate the slide deck it suggests.”
  • “Export the briefing report to Google Docs and give me the link.”

Limits and notes

  • The tools use your Google accounts and the same rules as the REST API, such as maxJobs for Studio and research jobs. Studio output counts against the account’s Google usage, see Usage limits.
  • Custom connectors on claude.ai need OAuth sign-in, which this server does not support yet. Use Claude Code or another client that can send an Authorization header.
  • A client may send up to 20 JSON-RPC requests in one batch.
  • If the client sends an MCP-Protocol-Version header, it must be one of the supported versions: 2025-06-18, 2025-03-26 or 2024-11-05.
  • Every tool call shows in your usage stats ( bot=gemini-notebook) as model mcp, with the tool name as its status, or failed.

Tutorials for the Gemini Notebook API v1:

{ "@context": "https://schema.org", "@type": "APIReference", "name": "NotebookLM MCP Server (Gemini Notebook): Hosted, 57 Tools", "url": "https://useapi.net/docs/api-gemini-notebook-v1/mcp", "inLanguage": "en", "isAccessibleForFree": true, "description": "Connect Claude Code, Cursor, VS Code or any MCP client to the hosted useapi.net NotebookLM (Gemini Notebook) MCP server: 57 tools for notebooks, sources, chat and Studio.", "about": "Gemini Notebook API v1", "isPartOf": { "@type": "APIReference", "name": "Gemini Notebook API v1" }, "publisher": { "@type": "Organization", "name": "useapi.net", "url": "https://useapi.net", "logo": { "@type": "ImageObject", "url": "https://useapi.net/assets/brand/useapi-logo-512.png" }, "alternateName": ["useapi", "UseAPI"], "sameAs": ["https://discord.gg/w28uK3cnmF", "https://t.me/use_api", "https://github.com/useapi", "https://bsky.app/profile/useapi.net", "https://www.youtube.com/@useapi-net"] }, "documentationOf": { "@type": "WebAPI", "name": "useapi.net REST API", "documentation": "https://useapi.net/llms.txt", "termsOfService": "https://useapi.net/docs/legal" } }
{ "@context": "https://schema.org", "@type": "BreadcrumbList", "itemListElement": [ { "@type": "ListItem", "position": 1, "name": "Home", "item": "https://useapi.net/" }, { "@type": "ListItem", "position": 2, "name": "Gemini Notebook API v1", "item": "https://useapi.net/docs/api-gemini-notebook-v1" }, { "@type": "ListItem", "position": 3, "name": "MCP Server", "item": "https://useapi.net/docs/api-gemini-notebook-v1/mcp" } ] }