Skip to main content
Glama

source_add

Add a source to a NotebookLM notebook by pasting text or providing a URL, and receive the source ID, title, and word count.

Instructions

Add a source to a notebook and return { id, title, word_count }.

  • kind="text": value is the raw text to paste. title defaults to "붙여넣은 텍스트" (NotebookLM's own default).

  • kind="url": value is a webpage URL. NotebookLM fetches + extracts the content server-side; title is ignored (NotebookLM uses the page's own ).

Not yet implemented: drive, file.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
kindYes
titleNo
valueYes
notebook_idYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Behavior4/5

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

With no annotations, the description carries the full burden. It discloses server-side fetching for URLs, the ignored title for URLs, the default title for text, and the return object shape. It does not mention authentication, side effects, or error behavior, but covers the key behavioral nuances for the implemented kinds.

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

Conciseness5/5

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

The description is concise, well-structured, and front-loaded with purpose and return. The bullet points break down kind-specific behavior efficiently, and every sentence adds value without redundancy.

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

Completeness4/5

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

Given the presence of an output schema and four parameters, the description covers the essential context: return shape, kind-based behavior, and limitations. It does not explain notebook_id or potential errors, but the tool is simple enough that the description is sufficiently complete for an agent to use it correctly.

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

Parameters4/5

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

Since schema description coverage is 0%, the description compensates by explaining `value` semantics for text vs url, and the behavior of `title` for each. It doesn't explain `notebook_id`, but that is a common and obvious parameter. The warning that drive/file are not implemented also clarifies the `kind` enum beyond the schema.

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 states a specific action ('Add a source to a notebook') and specifies the return shape. It clearly differentiates between supported kinds (text and url) and lists unimplemented ones, making its purpose unambiguous relative to siblings like source_get_content or source_sync_drive.

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 context for when to use text vs url kinds, including how title is handled for each. It explicitly warns that drive and file are not implemented, which prevents misuse. However, it does not explicitly compare against alternative tools like source_get_content, though the name makes it fairly obvious.

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

Install Server

Other Tools

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/gracelee087/notebooklm-mcp-lisa'

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