Skip to main content
Glama

source_add

Add web pages, pasted text, Google Drive documents, or local files to a NotebookLM notebook to compile research sources.

Instructions

Add a source to a notebook. Unified tool for all source types.

Supports: url, text, drive, file

Args: notebook_id: Notebook UUID source_type: Type of source to add: - url: Web page or YouTube URL - text: Pasted text content - drive: Google Drive document - file: Local file upload. The canonical local-admission contract has 43 case-insensitive extensions. Admission does not guarantee provider processing success for an individual file. OFFICIAL_FILE_EXTENSIONS: .pdf, .txt, .md, .docx, .csv, .pptx, .epub, .avif, .bmp, .gif, .heic, .heif, .ico, .jp2, .jpe, .jpeg, .jpg, .png, .tif, .tiff, .webp, .3g2, .3gp, .aac, .aif, .aifc, .aiff, .amr, .au, .avi, .cda, .m4a, .mid, .mp3, .mp4, .mpeg, .ogg, .opus, .ra, .ram, .snd, .wav, .wma Image-bearing sources may feed Studio video generation's visual-crop pipeline; charts, photos, and diagrams may be extracted as on-screen aids. url: URL to add (for source_type=url) urls: List of URLs to add in bulk (for source_type=url, alternative to url) text: Text content to add (for source_type=text) title: Display title (for text sources) file_path: Local file path on the machine running the MCP server (for source_type=file). A path on a different client/agent host is not accessible to the server. document_id: Google Drive document ID (for source_type=drive) doc_type: Drive doc type: doc|slides|sheets|pdf (for source_type=drive) wait: If True, wait for source processing to complete before returning wait_timeout: Max seconds to wait if wait=True (default 120)

Example: source_add(notebook_id="abc", source_type="url", url="https://example.com") source_add(notebook_id="abc", source_type="url", urls=["https://a.com", "https://b.com"]) source_add(notebook_id="abc", source_type="url", url="https://example.com", wait=True) source_add(notebook_id="abc", source_type="file", file_path="/path/to/doc.pdf", wait=True) source_add(notebook_id="abc", source_type="file", file_path="/path/to/screenshot.png", wait=True)

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
urlNo
textNo
urlsNo
waitNo
titleNo
doc_typeNodoc
file_pathNo
document_idNo
notebook_idYes
source_typeYes
wait_timeoutNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. Changed1 schema field changedv0.9.12
    • changedInput schema / properties / urls / anyOf
      Previous value: -[
      -  {
      -    "items": {
      -      "type": "string"
      -    },
      -    "type": "array"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "type": "string"
      +  },
      +  {
      +    "items": {
      +      "type": "string"
      +    },
      +    "type": "array"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
  2. Addedv0.9.1
  3. Removedv0.9.1
  4. Addedv0.8.9
  5. Removedv0.8.9
  6. Changed11 schema fields changedv0.7.7
    • removedInput schema / properties / doc_type / description
      Removed value: -"Drive doc type: doc|slides|sheets|pdf (for source_type=drive)"
    • removedInput schema / properties / document_id / description
      Removed value: -"Google Drive document ID (for source_type=drive)"
    • removedInput schema / properties / file_path / description
      Removed value: -"Local file path (for source_type=file)"
    • removedInput schema / properties / notebook_id / description
      Removed value: -"Notebook UUID"
    • removedInput schema / properties / source_type / description
      Removed value: -"Type of source to add:\n- url: Web page or YouTube URL\n- text: Pasted text content\n- drive: Google Drive document\n- file: Local file upload. Supported extensions:\n    PDF, TXT, MD, DOCX, CSV, EPUB, MP3, M4A, WAV, AAC, OGG,\n    OPUS, MP4, JPG, JPEG, PNG, GIF, WEBP. Image-bearing\n    sources (PDF / JPG / PNG / etc.) feed Studio video\n    generation's visual-crop pipeline — charts, photos, and\n    diagrams may be extracted as on-screen aids in Video\n    Overviews."
    • removedInput schema / properties / text / description
      Removed value: -"Text content to add (for source_type=text)"
    • removedInput schema / properties / title / description
      Removed value: -"Display title (for text sources)"
    • removedInput schema / properties / url / description
      Removed value: -"URL to add (for source_type=url)"
    • removedInput schema / properties / urls / description
      Removed value: -"List of URLs to add in bulk (for source_type=url, alternative to url)"
    • removedInput schema / properties / wait / description
      Removed value: -"If True, wait for source processing to complete before returning"
    • removedInput schema / properties / wait_timeout / description
      Removed value: -"Max seconds to wait if wait=True (default 120)"
  7. First observedv0.6.13

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure and meets it admirably. It discloses that admission does not guarantee provider processing success, notes that file paths are relative to the MCP server machine, explains the impact of the 'wait' parameter, and mentions that image sources may feed video generation pipelines. These details go beyond simple parameter lists.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-organized with a synopsis, parameter list, and examples, making it easy to scan. However, the omission of the 43 file extensions (or moving them to an external reference) would improve conciseness without losing critical operational detail. The structure itself is strong, but the length borders on excessive for an MCP tool description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the high complexity (11 parameters, 4 source types, async behavior), the description is remarkably complete. It covers edge cases like bulk uploads, server-side file paths, wait timeouts, and provider processing caveats. Since an output schema exists in the structured data, the omission of return value details is acceptable, and the description fully supports the agent in a wide range of usage scenarios.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must fully compensate, which it does. Every parameter is documented with its purpose, allowed values (like source_type options), and behavioral implications (e.g., url vs urls mutual exclusivity, file_path accessibility, wait_timeout default). The examples further illustrate parameter usage in context, making the schema far more usable.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with 'Add a source to a notebook. Unified tool for all source types,' which uses a specific verb and resource while clearly stating its role as the consolidated tool. This differentiates it from specialized sibling tools like source_delete, source_rename, and source_describe, which are all listed alongside it.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear usage context for each source type (url, text, drive, file) and includes multiple examples demonstrating single vs bulk URLs, wait behavior, and file usage. It implicitly excludes non-add operations, though it does not explicitly name alternative tools for other operations. The guidance that 'a path on a different client/agent host is not accessible' is a valuable caveat.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/jacob-bd/gemini-notebook-mcp-cli'

If you have feedback or need assistance with the MCP directory API, please join our Discord server