Skip to main content
Glama
dougrn

NotebookLM MCP Server

by dougrn

Studio Download

studio_download

Download generated NotebookLM artifacts by notebook and artifact name or type. Saves to a file path or returns a signed URL for remote access.

Instructions

Download a generated artifact. Accepts a notebook name or ID.

Target the artifact in ONE of two ways (exactly one):

  • artifact — a name-or-id ref (title / id / unique-id-prefix), the form the other artifact_* tools take; resolves to its type + id.

  • artifact_type — a registry-advertised type, optionally with artifact_id (full or unique-prefix) for a specific one; omit artifact_id to get the latest artifact of that type.

output_format overrides the default where the selected artifact type supports it. The tool schema advertises the current type and format enums.

Over stdio the artifact is written to path (required). Over the remote (http) connector the server filesystem is unreachable, so the tool returns a clickable resource_link plus {"status": "download_ready", "url": …} — a short-lived signed URL; path is ignored. A text kind (report/data-table) also returns the body inline (bounded content + char_count + truncated) for link-incapable hosts. On the remote connector an explicit artifact_id (and output_format) is validated up front — an unknown/ambiguous id fails immediately, not as a 400 when opened.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
pathNo
artifactNo
notebookYes
artifact_idNo
artifact_typeNo
output_formatNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.3/5.0
Behavior5/5

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

With no annotations to lean on, the description carries the full behavioral burden and does so richly: it differentiates stdio (writes to required path) from the remote http connector (path ignored, returns a resource_link plus a signed short-lived URL, status=download_ready), notes inline bounded content for text kinds, and discloses that explicit artifact_id/output_format are validated up front rather than failing lazily.

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?

It is long, but the length is justified by genuine dual-transport complexity, and it is front-loaded with the core action before the targeting detail. Bullets and inline code keep it scannable; a little redundancy around the id-validation note could be trimmed.

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?

For a 6-parameter, no-annotation, no-output-schema tool, the description covers the gaps that structured fields leave: both transports, the return shapes, validation timing, and the full targeting contract. An agent can call this correctly without further context.

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?

Schema description coverage is 0%, so the description must compensate, and it largely does: it defines artifact as a name-or-id ref, artifact_type as a registry type with optional artifact_id, output_format as an override, and path as stdio-only. Only the required 'notebook' parameter is handled terse-ly, and the enum provenance is attributed to the live schema rather than enumerated here.

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

Purpose4/5

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

Opens with a specific verb+resource ('Download a generated artifact') and states the accepted identifier ('notebook name or ID'). It clearly establishes what the tool does, but does not explicitly contrast itself with siblings like studio_generate or studio_list (its only sibling reference, 'the other artifact_* tools', names tools not present in the sibling list).

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?

Gives strong, explicit guidance on the two mutually exclusive targeting modes ('exactly one' of artifact vs artifact_type), including the omit-artifact_id case for the latest artifact. It covers how to invoke but stops short of stating when to use this tool versus studio_status/studio_list alternatives.

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