Skip to main content
Glama
set2374

NotebookLM MCP Server

by set2374

NotebookLM MCP Server

NotebookLM MCP Header

An MCP server for NotebookLM (notebooklm.google.com).

Note: Tested with Pro/free tier accounts. May work with NotebookLM Enterprise accounts but has not been tested.

📺 Watch the Demos

General Overview

Claude Desktop

Perplexity Desktop

General

Claude

Perplexity

Features

Tool

Description

notebook_list

List all notebooks

notebook_create

Create a new notebook

notebook_get

Get notebook details with sources

notebook_describe

Get AI-generated summary of notebook content

source_describe

Get AI-generated summary and keywords for a source

source_get_content

Get raw text content from a source (no AI processing)

notebook_rename

Rename a notebook

chat_configure

Configure chat goal/style and response length

notebook_delete

Delete a notebook (requires confirmation)

notebook_add_url

Add URL/YouTube as source

notebook_add_text

Add pasted text as source

notebook_add_drive

Add Google Drive document as source

notebook_query

Ask questions and get AI answers

source_list_drive

List sources with freshness status

source_sync_drive

Sync stale Drive sources (requires confirmation)

source_delete

Delete a source from notebook (requires confirmation)

research_start

Start Web or Drive research to discover sources

research_status

Poll research progress with built-in wait

research_import

Import discovered sources into notebook

audio_overview_create

Generate audio podcasts (requires confirmation)

video_overview_create

Generate video overviews (requires confirmation)

infographic_create

Generate infographics (requires confirmation)

slide_deck_create

Generate slide decks (requires confirmation)

studio_status

Check studio artifact generation status

studio_delete

Delete studio artifacts (requires confirmation)

save_auth_tokens

Save cookies for authentication

Related MCP server: NotebookLM MCP Server

Important Disclaimer

This MCP uses internal APIs that:

  • Are undocumented and may change without notice

  • Require cookie extraction from your browser (I have a tool for that!)

Use at your own risk for personal/experimental purposes.

Installation

Install from PyPI using your preferred Python package manager:

uv tool install notebooklm-mcp-server

Using pip

pip install notebooklm-mcp-server

Using pipx

pipx install notebooklm-mcp-server
# Clone the repository
git clone https://github.com/jacob-bd/notebooklm-mcp.git
cd notebooklm-mcp

# Install with uv
uv tool install .

Upgrading

# Using uv
uv tool upgrade notebooklm-mcp-server

# Using pip
pip install --upgrade notebooklm-mcp-server

# Using pipx
pipx upgrade notebooklm-mcp-server

After upgrading, restart your AI tool to reconnect to the updated MCP server:

  • Claude Code: Restart the application, or use /mcp to reconnect

  • Cursor: Restart the application

  • Gemini CLI: Restart the CLI session

Uninstalling

To completely remove the MCP:

# Using uv
uv tool uninstall notebooklm-mcp-server

# Using pip
pip uninstall notebooklm-mcp-server

# Using pipx
pipx uninstall notebooklm-mcp-server

# Remove cached auth tokens (optional)
rm -rf ~/.notebooklm-mcp

Also remove from your AI tools:

Tool

Command

Claude Code

claude mcp remove notebooklm-mcp

Gemini CLI

gemini mcp remove notebooklm-mcp

Cursor/VS Code

Remove entry from ~/.cursor/mcp.json or ~/.vscode/mcp.json

Authentication

Before using the MCP, you need to authenticate with NotebookLM. Run:

# Recommended: Auto mode (launches Chrome, you log in)
notebooklm-mcp-auth

# Alternative: File mode (manual cookie extraction)
notebooklm-mcp-auth --file

Auto mode launches a dedicated Chrome profile, you log in to Google, and cookies are extracted automatically. Your login persists for future auth refreshes.

File mode shows instructions for manually extracting cookies from Chrome DevTools and saving them to a file.

After successful auth, add the MCP to your AI tool and restart.

For detailed instructions, troubleshooting, and how the authentication system works, see docs/AUTHENTICATION.md.

MCP Configuration

⚠️ Context Window Warning: This MCP provides 31 tools which consume a significant portion of your context window. It's recommended to disable the MCP when not actively using NotebookLM to preserve context for your other work. In Claude Code, use @notebooklm-mcp to toggle it on/off, or use /mcp command.

No environment variables needed - the MCP uses cached tokens from ~/.notebooklm-mcp/auth.json.

Use the built-in CLI command to add the MCP server:

Add for all projects (recommended):

claude mcp add --scope user notebooklm-mcp notebooklm-mcp

Or add for current project only:

claude mcp add notebooklm-mcp notebooklm-mcp

That's it! Restart Claude Code to use the MCP tools.

Verify installation:

claude mcp list

If you prefer to edit the config file manually, add to ~/.claude.json:

{
  "mcpServers": {
    "notebooklm-mcp": {
      "command": "notebooklm-mcp"
    }
  }
}

Restart Claude Code after editing.

Cursor, VS Code, Claude Desktop & Other IDEs

For tools that use JSON configuration files:

Tool

Config File Location

Cursor

~/.cursor/mcp.json

VS Code

~/.vscode/mcp.json

Claude Desktop

~/Library/Application Support/Claude/claude_desktop_config.json (macOS)

Step 1: Find your installed path:

which notebooklm-mcp

This typically returns /Users/<YOUR_USERNAME>/.local/bin/notebooklm-mcp on macOS.

Step 2: Add this configuration (replace the path with your result from Step 1):

{
  "mcpServers": {
    "notebooklm-mcp": {
      "command": "/Users/<YOUR_USERNAME>/.local/bin/notebooklm-mcp"
    }
  }
}

Restart the application after adding the configuration.

Other MCP-Compatible Tools

CLI tools with built-in MCP commands (AIDER, Codex, OpenCode, etc.):

<your-tool> mcp add notebooklm-mcp notebooklm-mcp

Tools using JSON config files — use the full path approach shown above.

Use the built-in CLI command to add the MCP server:

Add for all projects (recommended):

gemini mcp add --scope user notebooklm-mcp notebooklm-mcp

Or add for current project only:

gemini mcp add notebooklm-mcp notebooklm-mcp

That's it! Restart Gemini CLI to use the MCP tools.

Verify installation:

gemini mcp list

Add to ~/.gemini/settings.json under mcpServers (run which notebooklm-mcp to find your path):

"notebooklm-mcp": {
  "command": "/Users/<YOUR_USERNAME>/.local/bin/notebooklm-mcp"
}

Restart Gemini CLI after editing.

Managing Context Window Usage

Since this MCP has 31 tools, it's good practice to disable it when not in use:

Claude Code:

# Toggle on/off by @-mentioning in chat
@notebooklm-mcp

# Or use the /mcp command to enable/disable
/mcp

Cursor/Gemini CLI:

  • Comment out the server in your config file when not needed

  • Or use your tool's MCP management features if available

What You Can Do

Simply chat with your AI tool (Claude Code, Cursor, Gemini CLI) using natural language. Here are some examples:

Research & Discovery

  • "List all my NotebookLM notebooks"

  • "Create a new notebook called 'AI Strategy Research'"

  • "Start web research on 'enterprise AI ROI metrics' and show me what sources it finds"

  • "Do a deep research on 'cloud marketplace trends' and import the top 10 sources"

  • "Search my Google Drive for documents about 'product roadmap' and create a notebook"

Adding Content

  • "Add this URL to my notebook: https://example.com/article"

  • "Add this YouTube video about Kubernetes to the notebook"

  • "Add my meeting notes as a text source to this notebook"

  • "Import this Google Doc into my research notebook"

AI-Powered Analysis

  • "What are the key findings in this notebook?"

  • "Summarize the main arguments across all these sources"

  • "What does this source say about security best practices?"

  • "Get an AI summary of what this notebook is about"

  • "Configure the chat to use a learning guide style with longer responses"

Content Generation

  • "Create an audio podcast overview of this notebook in deep dive format"

  • "Generate a video explainer with classic visual style"

  • "Make a briefing doc from these sources"

  • "Create flashcards for studying, medium difficulty"

  • "Generate an infographic in landscape orientation"

  • "Build a mind map from my research sources"

  • "Create a slide deck presentation from this notebook"

Smart Management

  • "Check which Google Drive sources are out of date and sync them"

  • "Show me all the sources in this notebook with their freshness status"

  • "Delete this source from the notebook"

  • "Check the status of my audio overview generation"

Pro tip: After creating studio content (audio, video, reports, etc.), poll the status to get download URLs when generation completes.

Authentication Lifecycle

Component

Duration

Refresh

Cookies

~2-4 weeks

Re-extract from Chrome when expired

CSRF Token

Per MCP session

Auto-extracted on MCP start

Session ID

Per MCP session

Auto-extracted on MCP start

When cookies expire, you'll see an auth error. Just extract fresh cookies and call save_auth_tokens() again.

Troubleshooting

Chrome DevTools MCP Not Working (Cursor/Gemini CLI)

If Chrome DevTools MCP shows "no tools, prompts or resources" or fails to start, it's likely due to a known npx bug with the puppeteer-core module.

Symptoms:

  • Cursor/Gemini CLI shows MCP as connected but with "No tools, prompts, or resources"

  • Process spawn errors in logs: spawn pnpx ENOENT or module not found errors

  • Can't extract cookies for NotebookLM authentication

Fix:

  1. Install pnpm (if not already installed):

    npm install -g pnpm
  2. Update Chrome DevTools MCP configuration:

    For Cursor (~/.cursor/mcp.json):

    "chrome-devtools": {
      "command": "pnpm",
      "args": ["dlx", "chrome-devtools-mcp@latest", "--browser-url=http://127.0.0.1:9222"]
    }

    For Gemini CLI (~/.gemini/settings.json):

    "chrome-devtools": {
      "command": "pnpm",
      "args": ["dlx", "chrome-devtools-mcp@latest"]
    }
  3. Restart your IDE/CLI for changes to take effect.

Why this happens: Chrome DevTools MCP uses puppeteer-core which changed its module path in v23+, but npx caching behavior causes module resolution failures. Using pnpm dlx avoids this issue.

Related Issues:

Limitations

  • Rate limits: Free tier has ~50 queries/day

  • No official support: API may change without notice

  • Cookie expiration: Need to re-extract cookies every few weeks

Contributing

See CLAUDE.md for detailed API documentation and how to add new features.

Vibe Coding Alert

Full transparency: this project was built by a non-developer using AI coding assistants. If you're an experienced Python developer, you might look at this codebase and wince. That's okay.

The goal here was to scratch an itch - programmatic access to NotebookLM - and learn along the way. The code works, but it's likely missing patterns, optimizations, or elegance that only years of experience can provide.

This is where you come in. If you see something that makes you cringe, please consider contributing rather than just closing the tab. This is open source specifically because human expertise is irreplaceable. Whether it's refactoring, better error handling, type hints, or architectural guidance - PRs and issues are welcome.

Think of it as a chance to mentor an AI-assisted developer through code review. We all benefit when experienced developers share their knowledge.

License

MIT License

Available Tools

32 tools
audio_overview_createB

Generate audio overview. Requires confirm=True after user approval.

Args: notebook_id: Notebook UUID source_ids: Source IDs (default: all) format: deep_dive|brief|critique|debate length: short|default|long language: BCP-47 code (en, es, fr, de, ja) focus_prompt: Optional focus text confirm: Must be True after user approval

ParametersJSON Schema
NameRequiredDescriptionDefault
notebook_idYes
source_idsNo
formatNodeep_dive
lengthNodefault
languageNoen
focus_promptNo
confirmNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.4/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It discloses the confirm requirement, which is a behavioral trait (safety mechanism). However, it lacks details on what the tool actually does (e.g., generates audio from notebook sources, potential side effects like creating a new resource, permissions needed, or rate limits). For a tool with no annotations, this is insufficient.

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-structured with a purpose statement followed by an Args section. It's appropriately sized (two sentences plus parameter list) and front-loaded with the key requirement. Every sentence earns its place, though the parameter list could be more concise (e.g., merging some explanations).

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

Completeness3/5

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

Given 7 parameters, 0% schema coverage, no annotations, but an output schema exists, the description is moderately complete. It covers all parameters briefly and includes a key behavioral trait (confirm requirement). However, for a tool that likely creates a new resource (implied by 'create' in the name), it lacks details on output format, error conditions, or dependencies, relying on the output schema for return values.

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

Parameters3/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. It lists all 7 parameters with brief explanations (e.g., 'Notebook UUID', 'Source IDs (default: all)'), adding meaning beyond the bare schema. However, it doesn't fully explain parameter interactions (e.g., how source_ids interacts with notebook_id) or provide examples, leaving gaps in understanding.

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?

The description clearly states the tool's purpose: 'Generate audio overview.' It specifies the resource (audio overview) and verb (generate), making it distinct from sibling tools like video_overview_create. However, it doesn't explicitly differentiate from other content-generation tools like report_create or slide_deck_create beyond the audio format.

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: 'Requires confirm=True after user approval.' This indicates when to use the tool (after user approval) and implies a safety mechanism. However, it doesn't specify when to choose this tool over alternatives like video_overview_create or other content-generation tools, nor does it mention prerequisites beyond user approval.

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

chat_configureB

Configure notebook chat settings.

Args: notebook_id: Notebook UUID goal: default|learning_guide|custom custom_prompt: Required when goal=custom (max 10000 chars) response_length: default|longer|shorter

ParametersJSON Schema
NameRequiredDescriptionDefault
notebook_idYes
goalNodefault
custom_promptNo
response_lengthNodefault

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.2/5.0
Behavior2/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. It states 'Configure' which implies a mutation/write operation, but doesn't disclose whether this requires specific permissions, if changes are reversible, what happens to existing settings, or any rate limits/constraints. The description adds minimal behavioral context beyond the basic action.

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 efficiently structured with a clear purpose statement followed by a well-organized Args section. Every sentence earns its place - the first sentence states the tool's purpose, and the Args provide essential parameter information without redundancy. The information is front-loaded and appropriately sized.

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

Completeness3/5

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

Given that there's an output schema (which means return values are documented elsewhere), the description covers the basic purpose and parameters adequately. However, for a configuration/mutation tool with no annotations, it should provide more behavioral context about permissions, side effects, and constraints. The parameter documentation is good, but overall completeness is moderate for a tool that modifies system settings.

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?

The description provides meaningful parameter documentation in the Args section, explaining each parameter's purpose and constraints (e.g., 'Required when goal=custom', 'max 10000 chars', enum values like 'default|learning_guide|custom'). With 0% schema description coverage, this compensates well for the schema's lack of descriptions, though it doesn't cover all possible semantic nuances.

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?

The description clearly states the verb ('Configure') and resource ('notebook chat settings'), making the purpose specific and understandable. However, it doesn't explicitly differentiate this tool from its siblings (e.g., notebook_describe, notebook_get), which are read operations while this appears to be a configuration/mutation tool. The purpose is clear but lacks sibling differentiation.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., notebook must exist), when-not-to-use scenarios, or how it relates to sibling tools like notebook_describe or notebook_get. The Args section documents parameters but doesn't offer usage context.

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

data_table_createA

Generate data table. Requires confirm=True after user approval.

Args: notebook_id: Notebook UUID description: Description of the data table to create source_ids: Source IDs (default: all) language: Language code (default: "en") confirm: Must be True after user approval

ParametersJSON Schema
NameRequiredDescriptionDefault
notebook_idYes
descriptionYes
source_idsNo
languageNoen
confirmNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.6/5.0
Behavior3/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. It reveals the confirmation requirement ('Requires confirm=True after user approval'), which is valuable behavioral context. However, it doesn't disclose other important traits like whether this is a destructive operation, what permissions are needed, rate limits, or what happens on success/failure.

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 appropriately sized with a clear two-part structure: purpose statement followed by parameter explanations. Every sentence earns its place by providing essential information. However, the parameter explanations could be more efficiently integrated into the main description rather than as a separate 'Args:' section.

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

Completeness3/5

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

Given 5 parameters with 0% schema coverage and no annotations, but with an output schema present, the description is moderately complete. It covers the confirmation requirement and some parameter semantics, but doesn't provide enough context about the mutation nature of this tool, error conditions, or relationship to other notebook operations. The output schema reduces the need to describe return values, but more behavioral context would be helpful.

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

Parameters3/5

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

With 0% schema description coverage, the description must compensate but only partially succeeds. It provides some semantic context for parameters (e.g., 'description of the data table to create', 'Must be True after user approval' for confirm), but doesn't explain 'notebook_id' (UUID format), 'source_ids' (what sources are), or 'language' (what codes are valid). The description adds value but doesn't fully compensate for the schema coverage gap.

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?

The description clearly states the verb 'Generate' and resource 'data table', making the purpose explicit. It distinguishes from siblings like 'notebook_create' or 'report_create' by focusing specifically on data table generation. However, it doesn't explicitly differentiate from similar tools like 'quiz_create' or 'slide_deck_create' in terms of output type.

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 about when to use this tool: 'after user approval' with 'confirm=True'. This gives important guidance about the confirmation requirement. However, it doesn't specify when NOT to use this tool or mention alternatives among the sibling tools.

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

flashcards_createB

Generate flashcards. Requires confirm=True after user approval.

Args: notebook_id: Notebook UUID source_ids: Source IDs (default: all) difficulty: easy|medium|hard confirm: Must be True after user approval

ParametersJSON Schema
NameRequiredDescriptionDefault
notebook_idYes
source_idsNo
difficultyNomedium
confirmNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.4/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It mentions a confirmation requirement ('Requires confirm=True after user approval'), which hints at a safety or validation step, but fails to disclose other behavioral traits such as whether this is a read-only or destructive operation, potential side effects, error handling, or rate limits. This leaves significant gaps in understanding the tool's behavior.

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 front-loaded with the main purpose, followed by a structured 'Args' section that efficiently lists parameters with brief explanations. Every sentence adds value without redundancy, making it appropriately sized and easy to scan.

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

Completeness3/5

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

Given the complexity (4 parameters, no annotations, but with an output schema), the description covers the basic purpose and parameters adequately. However, it lacks details on behavioral aspects like permissions, side effects, or error cases, which are important for a tool that generates content. The presence of an output schema mitigates the need to explain return values, but overall completeness is moderate with notable gaps.

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. It adds meaningful context for all parameters: 'notebook_id' as a 'Notebook UUID', 'source_ids' as 'Source IDs (default: all)', 'difficulty' with values 'easy|medium|hard', and 'confirm' with the note 'Must be True after user approval'. This clarifies semantics beyond the bare schema, though it could provide more detail on formats or constraints.

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?

The description clearly states the action ('Generate flashcards') and specifies the resource (flashcards), making the purpose evident. However, it does not differentiate from sibling tools like 'quiz_create' or 'mind_map_create' that might also generate educational content, leaving some ambiguity about when to choose this specific tool.

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

Usage Guidelines3/5

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

The description implies usage by mentioning 'Requires confirm=True after user approval,' which suggests a confirmation step, but it does not explicitly state when to use this tool versus alternatives like 'quiz_create' or provide clear exclusions. The guidance is limited to a procedural note without broader context.

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

infographic_createA

Generate infographic. Requires confirm=True after user approval.

Args: notebook_id: Notebook UUID source_ids: Source IDs (default: all) orientation: landscape|portrait|square detail_level: concise|standard|detailed language: BCP-47 code (en, es, fr, de, ja) focus_prompt: Optional focus text confirm: Must be True after user approval

ParametersJSON Schema
NameRequiredDescriptionDefault
notebook_idYes
source_idsNo
orientationNolandscape
detail_levelNostandard
languageNoen
focus_promptNo
confirmNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior3/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. It reveals the approval requirement ('Requires confirm=True after user approval'), which is valuable behavioral context. However, it doesn't disclose other important traits like whether this is a read-only or mutation operation, what permissions are needed, rate limits, or what happens when the tool executes (e.g., does it create a file, modify the notebook, etc.).

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

Conciseness3/5

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

The description is reasonably concise with two sentences and a parameter list. However, the structure could be improved - the critical 'Requires confirm=True after user approval' is front-loaded appropriately, but the parameter documentation repeats information already implied. The description could be more efficiently structured without sacrificing clarity.

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

Completeness3/5

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

Given the tool's complexity (7 parameters, mutation operation implied by 'Generate'), no annotations, but with an output schema present, the description is moderately complete. It covers the approval requirement and parameter semantics well, but lacks information about what the tool actually does behaviorally (creates/modifies what resource, where it's stored, what permissions are needed). The output schema existence means return values don't need explanation, but other behavioral aspects are missing.

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?

With 0% schema description coverage for 7 parameters, the description must compensate. It provides meaningful context for all parameters: notebook_id is described as 'Notebook UUID', source_ids as 'Source IDs (default: all)', orientation with enum values, detail_level with enum values, language with BCP-47 examples, focus_prompt as 'Optional focus text', and confirm with the critical 'Must be True after user approval'. This adds substantial semantic value beyond the bare schema.

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?

The description clearly states the tool's purpose as 'Generate infographic' with a specific verb and resource. It distinguishes from siblings like 'slide_deck_create' or 'report_create' by focusing specifically on infographics. However, it doesn't explicitly differentiate from other content generation tools like 'video_overview_create' or 'audio_overview_create' beyond the output type.

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

Usage Guidelines5/5

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

The description provides explicit usage guidance with 'Requires confirm=True after user approval' and reiterates this in the parameter documentation. This clearly indicates when to use this tool (after user approval) and establishes a prerequisite condition. No alternatives are mentioned, but the approval requirement is a critical usage constraint.

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

mind_map_createB

Generate and save mind map. Requires confirm=True after user approval.

Args: notebook_id: Notebook UUID source_ids: Source IDs (default: all) title: Display title confirm: Must be True after user approval

ParametersJSON Schema
NameRequiredDescriptionDefault
notebook_idYes
source_idsNo
titleNoMind Map
confirmNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.2/5.0
Behavior2/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. It mentions the 'confirm' parameter requirement, which hints at a safety or approval mechanism, but fails to describe other critical behaviors such as whether this operation is destructive, what permissions are needed, how errors are handled, or what the output looks like. This leaves significant gaps for a tool that likely creates persistent data.

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 appropriately sized and front-loaded, with the core purpose stated first ('Generate and save mind map') followed by the confirmation requirement. The 'Args' section is organized but could be more integrated into the main text. There's no wasted verbiage, though it could be slightly more polished for flow.

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

Completeness3/5

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

Given the tool's complexity (4 parameters, no annotations, but with an output schema), the description is moderately complete. It covers the basic purpose and parameters but lacks behavioral details like error handling or side effects. The presence of an output schema means return values don't need explanation, but other contextual gaps remain, such as dependencies on sibling tools or system constraints.

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

Parameters3/5

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

The description includes an 'Args' section that lists all four parameters with brief explanations, adding meaning beyond the input schema (which has 0% description coverage). However, the explanations are minimal (e.g., 'Notebook UUID' for notebook_id) and don't provide detailed semantics like format constraints, usage examples, or how 'source_ids' interacts with 'default: all'. This partially compensates for the schema gap but isn't comprehensive.

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?

The description clearly states the action ('Generate and save mind map') and identifies the resource ('mind map'), which provides a specific verb+resource combination. However, it doesn't explicitly differentiate this tool from its sibling 'mind_map_list' or other content creation tools like 'infographic_create' or 'slide_deck_create', which prevents a perfect score.

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

Usage Guidelines3/5

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

The description provides implied usage guidance by mentioning 'Requires confirm=True after user approval,' which suggests a confirmation step is needed. However, it doesn't explicitly state when to use this tool versus alternatives like 'mind_map_list' or other creation tools, nor does it provide clear exclusions or prerequisites beyond the confirmation requirement.

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

mind_map_listC

List all mind maps in a notebook.

Args: notebook_id: Notebook UUID

ParametersJSON Schema
NameRequiredDescriptionDefault
notebook_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It states it's a list operation, implying read-only behavior, but doesn't disclose critical details like pagination, sorting, error handling, or what 'list all' entails (e.g., if it returns all at once or requires iteration). This leaves behavioral traits inadequately covered.

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 concise and front-loaded with the main purpose in the first sentence. The Args section is structured but could be integrated more seamlessly. There's no wasted text, though it might benefit from slightly more detail given the lack of annotations.

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

Completeness3/5

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

Given 1 parameter with 0% schema coverage and an output schema present, the description is minimally adequate. It covers the basic purpose and parameter but lacks depth on usage, behavior, and output interpretation, making it incomplete for optimal agent guidance without relying heavily on the output schema.

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

Parameters3/5

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

The description adds minimal semantics by specifying 'Notebook UUID' for the 'notebook_id' parameter, but with 0% schema description coverage and only 1 parameter, this is basic. It doesn't explain format constraints or usage context beyond what's implied, aligning with the baseline for low parameter count.

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?

The description clearly states the verb ('List') and resource ('all mind maps in a notebook'), making the purpose specific and understandable. However, it doesn't explicitly differentiate from sibling tools like 'notebook_list' or 'source_list_drive', which reduces it from a perfect score.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. There are no mentions of prerequisites, exclusions, or comparisons to sibling tools like 'notebook_list' or 'mind_map_create', leaving usage context unclear.

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

notebook_add_driveB

Add Google Drive document as source.

Args: notebook_id: Notebook UUID document_id: Drive document ID (from URL) title: Display title doc_type: doc|slides|sheets|pdf

ParametersJSON Schema
NameRequiredDescriptionDefault
notebook_idYes
document_idYes
titleYes
doc_typeNodoc

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.1/5.0
Behavior2/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. It mentions that this 'adds' a source, implying a write operation, but doesn't specify whether this requires specific permissions, what happens on success/failure, or if there are rate limits. The description lacks crucial behavioral context needed for safe and effective use.

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 efficiently structured with a clear purpose statement followed by a parameter list. Every sentence earns its place, though the parameter explanations could be slightly more detailed given the 0% schema coverage. The information is front-loaded and appropriately sized for the tool's complexity.

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

Completeness3/5

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

Given that there's an output schema (which handles return values), no annotations, and 0% schema description coverage, the description does an adequate job. It covers the purpose and parameter semantics reasonably well, but lacks behavioral transparency and usage guidelines. For a write operation tool with no annotation support, this leaves significant gaps in understanding how to use it safely and effectively.

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?

The schema description coverage is 0%, so the description must compensate. It provides clear semantic meaning for all four parameters: 'notebook_id' (Notebook UUID), 'document_id' (Drive document ID from URL), 'title' (Display title), and 'doc_type' (doc|slides|sheets|pdf with default 'doc'). This adds significant value beyond the bare schema, though it could benefit from more detail on format constraints.

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?

The description clearly states the action ('Add Google Drive document as source') and identifies the resource ('Google Drive document'), making the purpose immediately understandable. However, it doesn't explicitly differentiate from sibling tools like 'notebook_add_text' or 'notebook_add_url', which perform similar 'add source' operations but with different source types.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives like 'notebook_add_text' or 'notebook_add_url', nor does it mention prerequisites such as needing proper authentication or access to the Google Drive document. It simply states what the tool does without contextual usage information.

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

notebook_add_textC

Add pasted text as source.

Args: notebook_id: Notebook UUID text: Text content to add title: Optional title

ParametersJSON Schema
NameRequiredDescriptionDefault
notebook_idYes
textYes
titleNoPasted Text

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior2/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. It implies a write operation ('Add'), but doesn't clarify if this creates a new source entry, appends to existing content, or overwrites anything. It also lacks details on permissions, rate limits, or what the output schema might contain, leaving behavioral traits unclear.

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 appropriately sized and front-loaded, with the core purpose stated first ('Add pasted text as source') followed by parameter details. The 'Args' section is structured but could be more integrated; overall, it's efficient with minimal waste.

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

Completeness3/5

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

Given the tool's moderate complexity (3 parameters, no annotations) and the presence of an output schema, the description is somewhat complete but has gaps. It covers the basic purpose and parameters but lacks usage context, behavioral details, and doesn't leverage the output schema to explain return values, making it adequate but not fully informative.

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

Parameters3/5

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

The schema description coverage is 0%, but the description includes an 'Args' section that lists and briefly describes all three parameters ('notebook_id', 'text', 'title'), adding meaning beyond the bare schema. However, it doesn't explain parameter formats (e.g., UUID structure for 'notebook_id') or constraints, so it only partially compensates for the low coverage.

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?

The description clearly states the action ('Add pasted text as source') and identifies the target resource ('notebook'), making the purpose understandable. However, it doesn't explicitly differentiate this tool from similar siblings like 'notebook_add_drive' or 'notebook_add_url', which also add content to notebooks but from different sources.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention sibling tools like 'notebook_add_drive' for adding files or 'notebook_add_url' for adding web content, nor does it specify prerequisites such as needing an existing notebook or appropriate permissions.

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

notebook_add_urlC

Add URL (website or YouTube) as source.

Args: notebook_id: Notebook UUID url: URL to add

ParametersJSON Schema
NameRequiredDescriptionDefault
notebook_idYes
urlYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool adds a URL as a source, implying a write operation, but does not cover critical aspects like required permissions, whether the operation is idempotent, rate limits, or what happens on failure (e.g., invalid URLs). This leaves significant gaps in understanding the tool's behavior beyond the basic action.

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 appropriately sized and front-loaded, with the core purpose stated first ('Add URL (website or YouTube) as source.') followed by parameter details. There is no wasted text, and the structure is clear, though it could be slightly more polished (e.g., integrating the 'Args' section more seamlessly).

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

Completeness3/5

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

Given the tool has 2 parameters, no annotations, and an output schema (which reduces the need to describe return values), the description is minimally complete. It covers the basic action and parameters but lacks details on behavioral traits, usage context, and parameter constraints. For a write operation with no annotation support, this leaves room for improvement in providing a fuller context.

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

Parameters3/5

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

The description includes an 'Args' section that lists and briefly describes the two parameters ('notebook_id' and 'url'), adding meaning beyond the input schema, which has 0% description coverage. However, it does not provide details on parameter formats (e.g., UUID structure, URL validation) or constraints, so it only partially compensates for the schema's lack of descriptions. With 2 parameters and low schema coverage, this is a baseline adequate but incomplete effort.

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?

The description clearly states the tool's purpose: 'Add URL (website or YouTube) as source.' It specifies the verb ('Add'), resource ('URL'), and type of resource ('website or YouTube'), making the action clear. However, it does not explicitly distinguish this tool from sibling tools like 'notebook_add_drive' or 'notebook_add_text', which also add sources but of different types, so it misses full sibling differentiation.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It does not mention prerequisites (e.g., needing an existing notebook), exclusions (e.g., invalid URL types), or comparisons to siblings like 'notebook_add_drive' or 'notebook_add_text'. The only implied context is adding a URL to a notebook, but this is insufficient for effective tool selection.

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

notebook_createB

Create a new notebook.

Args: title: Optional title for the notebook

ParametersJSON Schema
NameRequiredDescriptionDefault
titleNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the action ('Create') but doesn't mention permissions required, whether the creation is reversible, what happens on failure, or any rate limits. This is a significant gap for a mutation tool with zero annotation coverage.

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 extremely concise and front-loaded, with the core purpose in the first sentence and parameter details in a structured 'Args' section. Every sentence earns its place without redundancy, making it efficient for an agent to parse.

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

Completeness3/5

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

Given the tool's complexity (a simple creation with one optional parameter) and the presence of an output schema (which handles return values), the description is minimally adequate. However, it lacks details on behavioral aspects like error handling or side effects, which are important for a mutation tool with no annotations.

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?

The description adds meaningful context for the single parameter 'title' by describing it as 'Optional title for the notebook', which clarifies its purpose beyond the schema's basic type and default. With 0% schema description coverage and only one parameter, this adequately compensates, though it could specify format constraints (e.g., length limits).

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?

The description clearly states the verb ('Create') and resource ('a new notebook'), making the purpose immediately understandable. However, it does not differentiate this tool from other creation tools like 'data_table_create' or 'quiz_create' that also create different types of resources, so it doesn't reach the highest score.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. With sibling tools like 'notebook_add_drive' or 'notebook_add_text' that modify existing notebooks, there's no indication of prerequisites or contextual usage, leaving the agent to infer based on tool names alone.

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

notebook_deleteA

Delete notebook permanently. IRREVERSIBLE. Requires confirm=True.

Args: notebook_id: Notebook UUID confirm: Must be True after user approval

ParametersJSON Schema
NameRequiredDescriptionDefault
notebook_idYes
confirmNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A5/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. It effectively communicates critical traits: the action is 'IRREVERSIBLE' (destructive), requires user confirmation via the 'confirm' parameter, and permanently deletes the notebook. This covers safety, prerequisites, and consequences beyond what the schema provides.

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 front-loaded with the core action ('Delete notebook permanently. IRREVERSIBLE. Requires confirm=True.') in the first sentence, followed by a concise Args section. Every sentence earns its place by providing critical information without redundancy, making it highly efficient and well-structured.

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 tool's complexity (destructive deletion with a confirmation safeguard), no annotations, and an output schema (which handles return values), the description is complete. It covers purpose, usage guidelines, behavioral risks, and parameter semantics, leaving no significant gaps for the agent to operate safely and effectively.

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?

The schema description coverage is 0%, so the description must compensate. It adds essential meaning: 'notebook_id' is a 'Notebook UUID' (clarifying format) and 'confirm' 'Must be True after user approval' (explaining its purpose and validation rule). This goes beyond the schema's basic type definitions, fully documenting both parameters.

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 clearly states the verb 'Delete' and resource 'notebook permanently', which is specific and unambiguous. It distinguishes itself from sibling tools like notebook_rename, notebook_describe, and notebook_list by focusing on deletion rather than modification, description, or listing.

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

Usage Guidelines5/5

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

The description explicitly states 'Requires confirm=True' and 'Must be True after user approval', providing clear guidance on when to use this tool (only after user confirmation) and prerequisites. It implies alternatives like notebook_rename or notebook_describe for non-destructive operations, though it doesn't name them directly.

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

notebook_describeB

Get AI-generated notebook summary with suggested topics.

Args: notebook_id: Notebook UUID

Returns: summary (markdown), suggested_topics list

ParametersJSON Schema
NameRequiredDescriptionDefault
notebook_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool generates an AI summary, implying it's a read operation, but doesn't cover critical aspects like whether it requires specific permissions, has rate limits, or details about the AI model used. The description adds minimal behavioral context beyond the basic purpose.

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-structured and concise, with a clear purpose statement followed by Args and Returns sections. Every sentence earns its place by providing essential information without redundancy. It could be slightly more front-loaded by integrating the Args/Returns into the main description, but it's efficient overall.

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 tool's moderate complexity (AI generation), no annotations, and the presence of an output schema (implied by the Returns section), the description is reasonably complete. It covers the purpose, parameter meaning, and return values, though it lacks behavioral details like error handling or performance characteristics. The output schema reduces the need for extensive return value explanation.

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

Parameters3/5

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

The description adds some parameter semantics by specifying 'notebook_id: Notebook UUID' in the Args section, which clarifies the parameter's purpose beyond the schema's type definition. However, with 0% schema description coverage and only 1 parameter, this provides basic but not comprehensive value. The baseline is appropriate given the low parameter count.

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?

The description clearly states the tool's purpose: 'Get AI-generated notebook summary with suggested topics.' It specifies the verb ('Get'), resource ('notebook'), and output type ('summary with suggested topics'). However, it doesn't explicitly differentiate from sibling tools like 'notebook_get' or 'notebook_query', which prevents a perfect score.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention sibling tools like 'notebook_get' (which might retrieve raw content) or 'notebook_query' (which might search notebooks), leaving the agent without context for tool selection. Usage is implied only by the purpose statement.

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

notebook_getB

Get notebook details with sources.

Args: notebook_id: Notebook UUID

ParametersJSON Schema
NameRequiredDescriptionDefault
notebook_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool retrieves details, implying a read-only operation, but doesn't clarify if it requires authentication, has rate limits, returns paginated results, or what 'details with sources' entails (e.g., structured data, metadata). For a tool with no annotation coverage, this leaves significant gaps in understanding its behavior.

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 concise and well-structured: a clear purpose statement followed by an Args section. It avoids unnecessary words and is front-loaded with the main functionality. However, the Args section could be integrated more smoothly, and it lacks additional context that might be helpful, slightly reducing efficiency.

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 tool's low complexity (1 parameter, no nested objects) and the presence of an output schema (which handles return values), the description is reasonably complete. It covers the basic purpose and parameter, but gaps in usage guidelines and behavioral transparency prevent a higher score, as these are important for effective tool selection and invocation.

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

Parameters3/5

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

The description adds minimal parameter semantics: it notes 'notebook_id: Notebook UUID' in the Args section, which clarifies the parameter's purpose and format. However, with 0% schema description coverage and only one parameter, this provides basic but not comprehensive insight. It meets the baseline since the schema covers the parameter's type and requirement, but doesn't add significant value beyond that.

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?

The description clearly states the tool's purpose: 'Get notebook details with sources.' This specifies the verb ('Get'), resource ('notebook details'), and scope ('with sources'), distinguishing it from siblings like notebook_list (list notebooks) or notebook_describe (describe notebook). However, it doesn't explicitly differentiate from notebook_query, which might be a similar read operation, keeping it from a perfect score.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention siblings like notebook_list (for listing notebooks) or notebook_describe (for describing notebooks), nor does it specify prerequisites such as needing a notebook_id. Without this context, the agent must infer usage from the tool name and description alone.

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

notebook_listB

List all notebooks.

Args: max_results: Maximum number of notebooks to return (default: 100)

ParametersJSON Schema
NameRequiredDescriptionDefault
max_resultsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. While 'List all notebooks' implies a read operation, it doesn't disclose important behavioral aspects like pagination, sorting, authentication requirements, rate limits, or what 'all' means in practice (e.g., access permissions).

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 perfectly concise with two sentences that each earn their place. The first states the core purpose, the second explains the parameter. No wasted words, and the structure is front-loaded with the essential information.

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

Completeness3/5

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

Given the simple parameter structure and presence of an output schema (which handles return values), the description covers the basics adequately. However, for a tool with no annotations and multiple sibling alternatives, it lacks sufficient behavioral and contextual guidance to be considered complete.

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?

With 0% schema description coverage, the description compensates well by explaining the single parameter's purpose ('Maximum number of notebooks to return') and default value. This adds meaningful context beyond what the bare schema provides about the integer parameter.

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?

The description clearly states the verb ('List') and resource ('all notebooks'), making the purpose immediately understandable. However, it doesn't differentiate from sibling tools like 'notebook_query' or 'mind_map_list', which could cause confusion about when to choose this specific listing tool.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives like 'notebook_query' or 'notebook_get'. With multiple notebook-related siblings available, the absence of usage context leaves the agent without clear selection criteria.

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

notebook_queryA

Ask AI about EXISTING sources already in notebook. NOT for finding new sources.

Use research_start instead for: deep research, web search, find new sources, Drive search.

Args: notebook_id: Notebook UUID query: Question to ask source_ids: Source IDs to query (default: all) conversation_id: For follow-up questions

ParametersJSON Schema
NameRequiredDescriptionDefault
notebook_idYes
queryYes
source_idsNo
conversation_idNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.4/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It describes the core behavior (querying AI about existing sources) and mentions a default behavior ('source_ids: default: all') and follow-up capability ('conversation_id: For follow-up questions'). However, it lacks details on permissions, rate limits, error conditions, or what the AI response entails. For a tool with no annotations, this is adequate but leaves gaps in behavioral understanding.

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 front-loaded with the core purpose and usage guidelines, followed by a clear Args section. Every sentence earns its place: the first defines scope and exclusions, the second names an alternative, and the parameter explanations are succinct. No wasted words, making it easy to scan and understand.

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 no annotations, 0% schema coverage, but an output schema exists, the description is mostly complete. It covers purpose, usage, and parameter semantics well. The output schema handles return values, so the description doesn't need to explain those. However, for a tool with no annotations, it could better address behavioral aspects like error handling or authentication needs.

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. It adds meaningful semantics for all four parameters: notebook_id as 'Notebook UUID', query as 'Question to ask', source_ids with default behavior and optional filtering, and conversation_id for context in follow-ups. This goes beyond the bare schema, though it could provide more detail on format constraints (e.g., UUID structure).

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 clearly states the tool's purpose: 'Ask AI about EXISTING sources already in notebook.' It specifies the verb ('Ask AI about'), resource ('EXISTING sources'), and scope ('already in notebook'), and explicitly distinguishes it from sibling tools by stating 'NOT for finding new sources.' This provides excellent differentiation from alternatives like research_start.

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

Usage Guidelines5/5

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

The description provides explicit usage guidelines: 'NOT for finding new sources' and 'Use research_start instead for: deep research, web search, find new sources, Drive search.' It clearly defines when to use this tool (querying existing notebook sources) versus when to use an alternative (research_start for finding new sources), offering comprehensive guidance.

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

notebook_renameB

Rename a notebook.

Args: notebook_id: Notebook UUID new_title: New title

ParametersJSON Schema
NameRequiredDescriptionDefault
notebook_idYes
new_titleYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden but only states the basic action. It doesn't disclose behavioral traits such as permission requirements, whether the rename is reversible, effects on linked resources, or error handling for invalid inputs, leaving significant gaps for a mutation tool.

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 extremely concise and front-loaded, with the core purpose stated in the first sentence and parameter details in a brief, structured format. Every sentence earns its place without redundancy.

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

Completeness3/5

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

Given a mutation tool with no annotations, 0% schema coverage, but an output schema exists, the description is minimally adequate. It covers the basic action and parameters but lacks details on behavior, usage context, or error handling, making it incomplete for safe and effective use.

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

Parameters3/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. It adds minimal semantics by naming parameters ('notebook_id' as UUID, 'new_title' as title) but doesn't explain formats, constraints, or examples. This provides basic clarity but falls short of fully compensating for the schema gap.

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?

The description clearly states the verb ('rename') and resource ('notebook'), making the purpose immediately understandable. However, it doesn't differentiate from sibling tools like 'notebook_create' or 'notebook_describe' beyond the basic action, missing explicit distinction.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing an existing notebook), exclusions, or comparisons to siblings like 'notebook_create' for initial naming or 'notebook_describe' for viewing details.

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

quiz_createB

Generate quiz. Requires confirm=True after user approval.

Args: notebook_id: Notebook UUID source_ids: Source IDs (default: all) question_count: Number of questions (default: 2) difficulty: Difficulty level (default: 2) confirm: Must be True after user approval

ParametersJSON Schema
NameRequiredDescriptionDefault
notebook_idYes
source_idsNo
question_countNo
difficultyNo
confirmNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.4/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It mentions the 'confirm' requirement, which hints at a safety or approval mechanism, but doesn't disclose other behavioral traits like whether this is a read/write operation, potential side effects, error handling, or rate limits. For a tool that likely creates content, this is insufficient.

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

Conciseness3/5

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

The description is appropriately sized with a brief overview and parameter details. However, it's not optimally front-loaded—the key requirement about 'confirm' is in the first sentence but could be emphasized more. The structure is clear but slightly verbose in listing all parameters without grouping related ones.

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

Completeness3/5

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

Given no annotations, 0% schema coverage, and an output schema present, the description covers parameter semantics well but lacks behavioral context. It's adequate for basic usage but incomplete for a tool that likely involves content creation and user approval, missing details on permissions or output format.

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. It adds meaningful semantics for all parameters: 'notebook_id' as a UUID, 'source_ids' as source IDs with a default, 'question_count' as number of questions with a default, 'difficulty' as a level with a default, and 'confirm' with a specific usage condition. This goes beyond the bare schema, though it could provide more detail on ranges or formats.

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?

The description clearly states the verb 'Generate' and resource 'quiz', making the purpose specific. However, it doesn't distinguish this tool from other content creation siblings like 'flashcards_create' or 'infographic_create' beyond the quiz focus, which is a minor gap.

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 explicit context for the 'confirm' parameter ('after user approval'), which implies when to use this tool—after obtaining user consent. It doesn't specify alternatives or exclusions, but the guidance on user approval is clear and practical.

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

report_createA

Generate report. Requires confirm=True after user approval.

Args: notebook_id: Notebook UUID source_ids: Source IDs (default: all) report_format: "Briefing Doc"|"Study Guide"|"Blog Post"|"Create Your Own" custom_prompt: Required for "Create Your Own" language: BCP-47 code (en, es, fr, de, ja) confirm: Must be True after user approval

ParametersJSON Schema
NameRequiredDescriptionDefault
notebook_idYes
source_idsNo
report_formatNoBriefing Doc
custom_promptNo
languageNoen
confirmNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior3/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. It reveals the confirm requirement (user approval needed) and format-specific constraints (custom_prompt required for 'Create Your Own'), which are valuable behavioral traits. However, it doesn't disclose other important aspects like whether this is a long-running operation, what happens to existing reports, or what permissions are required.

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 appropriately sized and front-loaded with the core purpose and key requirement. The Args section is well-structured but could be more integrated with the opening sentence. Every sentence adds value, though the formatting could be slightly more polished.

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 complexity (6 parameters, mutation operation) and no annotations, the description provides good coverage of key constraints and requirements. The presence of an output schema means the description doesn't need to explain return values. It covers most critical aspects but could benefit from more context about the operation's nature (e.g., synchronous vs. asynchronous).

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?

With 0% schema description coverage, the description compensates well by explaining parameter semantics: it clarifies that 'source_ids' defaults to all sources, lists the four report_format options, specifies when 'custom_prompt' is required, explains 'language' uses BCP-47 codes, and emphasizes the 'confirm' requirement. However, it doesn't explain the 'notebook_id' parameter beyond its name.

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?

The description clearly states the tool's purpose: 'Generate report' with specific resource context (notebook and sources). It distinguishes from siblings like 'slide_deck_create' or 'quiz_create' by focusing on report generation. However, it doesn't explicitly differentiate from similar content-generation tools like 'video_overview_create' or 'infographic_create' beyond the format options.

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

Usage Guidelines5/5

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

The description provides explicit usage guidance: 'Requires confirm=True after user approval' and specifies when 'custom_prompt' is required (for 'Create Your Own' format). It also implies when to use this tool (for report generation) versus alternatives like 'slide_deck_create' or 'quiz_create' for other content types.

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

research_importA

Import discovered sources into notebook.

Call after research_status shows status="completed".

Args: notebook_id: Notebook UUID task_id: Research task ID source_indices: Source indices to import (default: all)

ParametersJSON Schema
NameRequiredDescriptionDefault
notebook_idYes
task_idYes
source_indicesNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden for behavioral disclosure. While it mentions the prerequisite condition, it doesn't describe what 'import' actually does (e.g., copies sources, links them, modifies notebook), potential side effects, authentication needs, rate limits, or error conditions. For a tool that presumably modifies data, this is a significant gap in behavioral context.

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 efficiently structured: a clear purpose statement, usage guideline, and parameter explanations in three bullet points. Every sentence earns its place with no wasted words, and the most critical information (purpose and prerequisite) is front-loaded.

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

Completeness3/5

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

Given that an output schema exists (which handles return values), the description covers purpose, usage, and parameters adequately. However, for a tool with no annotations and presumably mutative behavior, it should provide more context about what 'import' entails operationally. The presence of an output schema raises the baseline, but behavioral gaps remain.

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?

With 0% schema description coverage, the description compensates well by explaining all three parameters: notebook_id (Notebook UUID), task_id (Research task ID), and source_indices (Source indices to import with default behavior). It adds meaningful context beyond the bare schema types, though it doesn't provide format examples or constraints.

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?

The description clearly states the action ('Import discovered sources') and target resource ('into notebook'), making the purpose immediately understandable. It distinguishes itself from siblings like 'research_start' and 'research_status' by focusing on the import phase. However, it doesn't explicitly contrast with other import-related tools (none are listed), so it doesn't fully achieve sibling differentiation.

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

Usage Guidelines5/5

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

The description provides explicit guidance on when to use this tool: 'Call after research_status shows status="completed".' This gives a clear prerequisite condition. It also implies an alternative workflow (checking status first) and specifies the default behavior for source_indices.

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

research_startA

Deep research / fast research: Search web or Google Drive to FIND NEW sources.

Use this for: "deep research on X", "find sources about Y", "search web for Z", "search Drive". Workflow: research_start -> poll research_status -> research_import.

Args: query: What to search for (e.g. "quantum computing advances") source: web|drive (where to search) mode: fast (~30s, ~10 sources) | deep (~5min, ~40 sources, web only) notebook_id: Existing notebook (creates new if not provided) title: Title for new notebook

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYes
sourceNoweb
modeNofast
notebook_idNo
titleNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.7/5.0
Behavior4/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. It effectively describes key behavioral traits: the asynchronous nature (requires polling research_status), time estimates for modes (fast ~30s, deep ~5min), result volume estimates (~10 vs ~40 sources), and constraints (deep mode is web only). It doesn't mention error conditions or rate limits, but provides substantial operational context.

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-structured with clear sections (purpose, usage, workflow, parameters) and front-loaded key information. Every sentence adds value, though the 'Args:' section could be slightly more concise by integrating examples directly with parameter explanations rather than as separate examples.

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 tool's complexity (asynchronous operation with multiple parameters and modes), no annotations, and the presence of an output schema (which handles return values), the description provides complete contextual information. It covers purpose, workflow, parameters, behavioral expectations, and usage guidelines, leaving no significant gaps for agent understanding.

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?

With 0% schema description coverage, the description fully compensates by providing clear semantic explanations for all 5 parameters. It explains what each parameter controls (query for search terms, source for location, mode for speed/depth, notebook_id for existing/new notebooks, title for naming), including practical examples and constraints like 'deep mode is web only'.

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 clearly states the tool's purpose with specific verbs ('search web or Google Drive to FIND NEW sources') and distinguishes it from siblings by focusing on initiating research workflows. It explicitly mentions the workflow sequence (research_start → poll research_status → research_import), which differentiates it from other tools like notebook_create or source_list_drive.

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

Usage Guidelines5/5

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

The description provides explicit usage guidance with 'Use this for:' examples ('deep research on X', 'find sources about Y', etc.) and clearly outlines the workflow context. It distinguishes when to use this tool versus alternatives by specifying the research workflow sequence, though it doesn't explicitly name alternative tools for similar functions.

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

research_statusA

Poll research progress. Blocks until complete or timeout.

Args: notebook_id: Notebook UUID poll_interval: Seconds between polls (default: 30) max_wait: Max seconds to wait (default: 300, 0=single poll) compact: If True (default), truncate report and limit sources shown to save tokens. Use compact=False to get full details.

ParametersJSON Schema
NameRequiredDescriptionDefault
notebook_idYes
poll_intervalNo
max_waitNo
compactNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.1/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden and does well by disclosing key behavioral traits: it blocks execution, has timeout behavior, and includes token-saving considerations with the 'compact' parameter. It doesn't cover all potential behaviors like error handling or authentication needs, but provides substantial operational context.

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 efficiently structured with a clear purpose statement followed by well-organized parameter explanations. Every sentence adds value: the first establishes core behavior, and the parameter descriptions provide essential context 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 tool's complexity (blocking behavior with timeout) and 0% schema coverage, the description does well by explaining parameters and core behavior. Since there's an output schema, it doesn't need to detail return values. It could benefit from more context about what 'research progress' entails or error 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?

The schema description coverage is 0%, so the description must compensate fully. It successfully adds meaning for all 4 parameters: explains 'notebook_id' as a UUID, defines 'poll_interval' and 'max_wait' units and defaults, and clarifies the 'compact' parameter's impact on output truncation and token usage.

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?

The description clearly states the tool's purpose with 'Poll research progress' and specifies it 'Blocks until complete or timeout', which distinguishes it from other tools. However, it doesn't explicitly differentiate from sibling tools like 'studio_status' or 'research_start', which might have related functions.

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

Usage Guidelines3/5

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

The description implies usage context through 'Poll research progress' and parameter defaults, suggesting it's for monitoring ongoing research. However, it lacks explicit guidance on when to use this tool versus alternatives like 'studio_status' or 'research_start', and doesn't mention prerequisites or exclusions.

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

save_auth_tokensA

Save NotebookLM cookies. CSRF and session ID are auto-extracted.

Args: cookies: Cookie header from Chrome DevTools get_network_request csrf_token: (deprecated, auto-extracted from request_body or page) session_id: (deprecated, auto-extracted from request_url or page) request_body: Optional request body from get_network_request (contains CSRF token) request_url: Optional request URL from get_network_request (contains session ID)

ParametersJSON Schema
NameRequiredDescriptionDefault
cookiesYes
csrf_tokenNo
session_idNo
request_bodyNo
request_urlNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.5/5.0
Behavior3/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. It explains that CSRF and session ID are 'auto-extracted' from request_body or request_url, which adds useful context about the tool's automation behavior. However, it doesn't disclose important behavioral traits like whether this operation is idempotent, what permissions are required, potential side effects, or error handling. The description provides some behavioral insight but leaves significant gaps.

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-structured with a clear purpose statement followed by an organized Args section. Each parameter gets a concise explanation. There's minimal waste, though the repetition of 'auto-extracted' could be slightly streamlined. The information is front-loaded with the core purpose stated first.

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

Completeness3/5

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

Given the complexity of authentication handling with 5 parameters, 0% schema coverage, and no annotations, the description does a reasonable job but has gaps. It explains parameter purposes and auto-extraction behavior, but doesn't cover the output (though an output schema exists), error conditions, or security implications. For a tool dealing with sensitive authentication tokens, more comprehensive guidance would be beneficial.

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?

With 0% schema description coverage for 5 parameters, the description must compensate, and it does so effectively. It provides clear semantic meaning for all parameters: 'cookies' is explained as coming from 'Cookie header from Chrome DevTools get_network_request', and deprecated parameters are clearly marked with their auto-extraction sources. The description adds substantial value beyond the bare schema, though it could provide more detail on parameter formats or constraints.

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?

The description clearly states the tool's purpose: 'Save NotebookLM cookies' with the verb 'save' and resource 'cookies'. It distinguishes itself from sibling tools by focusing on authentication token management rather than content creation or notebook operations. However, it doesn't explicitly contrast with any specific authentication-related siblings since none appear in the list.

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

Usage Guidelines3/5

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

The description implies usage context through the mention of 'Chrome DevTools get_network_request', suggesting this tool should be used when extracting authentication data from browser network requests. However, it doesn't provide explicit guidance on when to use this tool versus alternatives, nor does it mention prerequisites or exclusions. The guidance is helpful but not comprehensive.

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

slide_deck_createA

Generate slide deck. Requires confirm=True after user approval.

Args: notebook_id: Notebook UUID source_ids: Source IDs (default: all) format: detailed_deck|presenter_slides length: short|default language: BCP-47 code (en, es, fr, de, ja) focus_prompt: Optional focus text confirm: Must be True after user approval

ParametersJSON Schema
NameRequiredDescriptionDefault
notebook_idYes
source_idsNo
formatNodetailed_deck
lengthNodefault
languageNoen
focus_promptNo
confirmNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.7/5.0
Behavior3/5

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

With no annotations provided, the description carries the full burden. It discloses that user approval is required (via confirm=True) and implies a generative/mutation operation. However, it lacks details on permissions, rate limits, whether the operation is reversible, or what the output looks like. The description adds some behavioral context but is incomplete for a tool with 7 parameters and no annotations.

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

Conciseness3/5

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

The description is appropriately sized but not optimally structured. The first sentence states the purpose, followed by a usage note, then an Args section. However, the Args section mixes parameter documentation with usage constraints (e.g., 'Must be True after user approval' for confirm). It's concise but could be more front-loaded with critical information.

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 7 parameters with 0% schema coverage and no annotations, the description does a good job explaining parameter semantics and usage constraints. The presence of an output schema means return values needn't be described. However, for a generative tool with user approval requirements, it could better address behavioral aspects like error conditions or side effects.

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. It provides meaningful semantics for all 7 parameters: notebook_id (Notebook UUID), source_ids (Source IDs with default), format (detailed_deck|presenter_slides), length (short|default), language (BCP-47 code examples), focus_prompt (Optional focus text), and confirm (Must be True after user approval). This adds significant value beyond the bare schema, though it could elaborate on parameter interactions.

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?

The description clearly states the tool's purpose: 'Generate slide deck' with specific parameters like format, length, and language. It distinguishes from siblings by focusing on slide deck creation rather than other content types like audio overviews, infographics, or quizzes. However, it doesn't explicitly contrast with similar tools like 'report_create' or 'video_overview_create'.

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: 'Requires confirm=True after user approval' and specifies that 'source_ids' defaults to all. It implies usage for creating slide decks from notebook content. However, it doesn't explicitly state when to use this versus alternatives like 'report_create' or 'infographic_create', nor does it mention prerequisites beyond user approval.

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

source_deleteA

Delete source permanently. IRREVERSIBLE. Requires confirm=True.

Args: source_id: Source UUID to delete confirm: Must be True after user approval

ParametersJSON Schema
NameRequiredDescriptionDefault
source_idYes
confirmNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A5/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. It clearly states the action is 'IRREVERSIBLE' and requires user confirmation via confirm=True, which are critical behavioral traits not covered by any structured fields.

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 front-loaded with the core action and warnings, followed by a concise Args section. Every sentence earns its place by providing critical information without waste, making it highly efficient.

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 tool's high complexity (destructive, irreversible operation) and no annotations, the description is complete enough. It covers purpose, usage, behavioral risks, and parameters. The presence of an output schema means return values need not be explained here.

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 compensate. It fully explains both parameters: source_id as the 'Source UUID to delete' and confirm as 'Must be True after user approval', adding essential meaning beyond the bare 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 clearly states the tool's purpose with a specific verb ('Delete') and resource ('source'), and distinguishes it from siblings like source_describe, source_get_content, and source_list_drive by emphasizing permanent deletion. It avoids tautology by not just restating the name.

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

Usage Guidelines5/5

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

The description explicitly states when to use this tool (to delete a source permanently) and includes a prerequisite (requires confirm=True after user approval). It distinguishes from alternatives by not being for listing, describing, or syncing sources, as seen in sibling tools.

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

source_describeB

Get AI-generated source summary with keyword chips.

Args: source_id: Source UUID

Returns: summary (markdown with bold keywords), keywords list

ParametersJSON Schema
NameRequiredDescriptionDefault
source_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.3/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It mentions the tool is 'AI-generated' which hints at non-deterministic behavior, but doesn't disclose other important traits like rate limits, authentication needs, error conditions, or whether it's read-only/destructive. The description lacks behavioral context beyond the basic operation.

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 extremely well-structured and concise. It opens with the core purpose, then clearly sections off Args and Returns with bullet-like formatting. Every sentence earns its place - no wasted words, perfectly front-loaded with the most important information first.

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 tool has an output schema (implied by 'Returns' statement), the description doesn't need to explain return values in detail. It mentions the key outputs (summary in markdown with bold keywords, keywords list) which provides good context. For a single-parameter tool with output information, this is quite complete, though it could benefit from more behavioral 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?

The description adds meaningful context beyond the schema. The schema only shows source_id as a string with 0% description coverage. The description clarifies it's a 'Source UUID' and explains what the parameter represents. Since there's only one parameter and the description provides its semantic meaning, this earns a high score despite the low schema coverage.

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?

The description clearly states the tool's purpose: 'Get AI-generated source summary with keyword chips.' It specifies the verb ('Get'), resource ('source summary'), and key features ('AI-generated', 'keyword chips'). However, it doesn't explicitly differentiate from sibling tools like source_get_content or source_list_drive, which prevents a perfect score.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention when this tool is appropriate compared to source_get_content (which might retrieve raw content) or other source-related tools. There's no context about prerequisites, timing, or exclusions.

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

source_get_contentA

Get raw text content of a source (no AI processing).

Returns the original indexed text from PDFs, web pages, pasted text, or YouTube transcripts. Much faster than notebook_query for content export.

Args: source_id: Source UUID

Returns: content (str), title (str), source_type (str), char_count (int)

ParametersJSON Schema
NameRequiredDescriptionDefault
source_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.4/5.0
Behavior3/5

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

With no annotations provided, the description carries full burden. It discloses the tool's read-only nature ('Get') and performance characteristics ('Much faster'), but doesn't mention authentication requirements, rate limits, error conditions, or what happens with invalid source IDs. It provides some behavioral context but lacks completeness for a tool with no annotation coverage.

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 efficiently structured with purpose statement, key differentiators, parameter documentation, and return values in a logical flow. Every sentence adds value: the first states purpose and constraints, the second provides performance context, and the structured Args/Returns sections efficiently document I/O 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?

For a single-parameter read tool with output schema (implied by Returns documentation), the description is quite complete. It covers purpose, differentiation, performance characteristics, parameter meaning, and return structure. The main gap is lack of error handling or edge case information, but overall it provides substantial context given the tool's simplicity.

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?

The schema has 0% description coverage for its single parameter, but the description explicitly documents 'source_id: Source UUID' in the Args section, providing essential semantic information. While it doesn't elaborate on UUID format or validation, it compensates well for the schema's lack of parameter descriptions.

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 clearly states the specific action ('Get raw text content') and resource ('of a source'), distinguishing it from siblings like notebook_query by emphasizing 'no AI processing' and 'much faster than notebook_query for content export'. It provides explicit differentiation from related tools.

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

Usage Guidelines5/5

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

The description explicitly states when to use this tool ('for content export') and when not to use it ('no AI processing'), with a clear alternative named ('notebook_query'). It provides direct guidance on tool selection based on speed and processing needs.

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

source_list_driveA

List sources with types and Drive freshness status.

Use before source_sync_drive to identify stale sources.

Args: notebook_id: Notebook UUID

ParametersJSON Schema
NameRequiredDescriptionDefault
notebook_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It mentions 'freshness status' which hints at read-only behavior, but doesn't explicitly state whether this is a safe read operation, what permissions are needed, or any rate limits. For a tool with no annotations, this leaves significant behavioral gaps.

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 efficiently structured with a purpose statement followed by usage guidance and parameter clarification. Every sentence earns its place: the first defines the tool, the second provides context, and the third explains the parameter. No wasted words.

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 tool has an output schema (which handles return values), 1 parameter with 0% schema coverage that the description compensates for, and clear purpose/guidance, the description is reasonably complete. However, the lack of behavioral transparency for a tool with no annotations prevents a perfect score.

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?

With 0% schema description coverage for the single parameter 'notebook_id', the description adds crucial semantics by specifying it's a 'Notebook UUID'. This compensates for the schema gap by clarifying the parameter's format and purpose, though it doesn't explain where to find this UUID or provide examples.

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?

The description clearly states the verb 'List' and resource 'sources', specifying they include 'types and Drive freshness status'. It distinguishes from siblings like source_describe or source_get_content by focusing on listing with status. However, it doesn't explicitly differentiate from source_sync_drive beyond usage guidance.

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

Usage Guidelines5/5

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

The description explicitly states 'Use before source_sync_drive to identify stale sources', providing clear when-to-use guidance with a named alternative. This directly addresses agent decision-making by linking to a sibling tool for follow-up actions.

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

source_sync_driveA

Sync Drive sources with latest content. Requires confirm=True.

Call source_list_drive first to identify stale sources.

Args: source_ids: Source UUIDs to sync confirm: Must be True after user approval

ParametersJSON Schema
NameRequiredDescriptionDefault
source_idsYes
confirmNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.1/5.0
Behavior3/5

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

With no annotations provided, the description carries full burden. It indicates this is a mutation operation ('sync' implies writing/updating) and includes a safety mechanism ('confirm=True after user approval'), which adds important behavioral context. However, it doesn't disclose potential side effects, rate limits, authentication requirements, or what 'sync' actually entails operationally.

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 efficiently structured with a clear purpose statement upfront, followed by specific usage guidance, then parameter explanations. Every sentence adds value with zero waste. The two-sentence main description plus two parameter lines are appropriately sized for this tool's complexity.

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 mutation nature, 2 parameters with 0% schema coverage, no annotations, but presence of an output schema, the description does well. It covers purpose, workflow, and parameter meaning. The output schema existence means return values don't need description. However, for a mutation tool with no annotations, more behavioral disclosure about what 'sync' entails would improve completeness.

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?

With 0% schema description coverage, the description must compensate. It explains both parameters: 'source_ids' are 'Source UUIDs to sync' and 'confirm' 'Must be True after user approval.' This adds meaningful semantics beyond the bare schema, though it doesn't specify UUID format or validation rules. The description successfully clarifies what each parameter represents.

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?

The description clearly states the verb ('sync') and resource ('Drive sources') with the goal of updating content to latest versions. It distinguishes from sibling 'source_list_drive' by being the action tool rather than the discovery tool. However, it doesn't explicitly differentiate from other source-related tools like 'source_delete' or 'source_describe'.

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

Usage Guidelines5/5

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

The description provides explicit usage guidance: 'Call source_list_drive first to identify stale sources' establishes a prerequisite workflow, and 'Requires confirm=True' specifies a mandatory condition for execution. This gives clear when-to-use instructions with a named alternative tool for preparation.

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

studio_deleteA

Delete studio artifact. IRREVERSIBLE. Requires confirm=True.

Args: notebook_id: Notebook UUID artifact_id: Artifact UUID (from studio_status) confirm: Must be True after user approval

ParametersJSON Schema
NameRequiredDescriptionDefault
notebook_idYes
artifact_idYes
confirmNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

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 does so effectively. It explicitly warns 'IRREVERSIBLE' (critical destructive behavior), specifies the confirm parameter requirement (safety mechanism), and mentions the artifact_id source ('from studio_status'), providing important operational context beyond basic parameter documentation.

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 perfectly structured and front-loaded with the most critical information ('Delete studio artifact. IRREVERSIBLE. Requires confirm=True.') followed by clear parameter explanations. Every sentence earns its place with zero wasted words, making it highly efficient for an agent to parse.

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?

For a destructive tool with no annotations, 0% schema coverage, but with an output schema present, the description is nearly complete. It covers purpose, critical behavior, and all parameters thoroughly. The only minor gap is not explicitly mentioning what the tool returns, but since an output schema exists, this is acceptable.

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?

With 0% schema description coverage, the description fully compensates by explaining all three parameters: notebook_id as 'Notebook UUID', artifact_id as 'Artifact UUID (from studio_status)', and confirm with the critical constraint 'Must be True after user approval'. This adds essential meaning beyond the bare schema types.

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 clearly states the specific action ('Delete') and resource ('studio artifact'), distinguishing it from sibling tools like notebook_delete or source_delete by specifying the exact type of artifact being deleted. The verb+resource combination is precise and unambiguous.

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 this tool (deleting studio artifacts) and includes the prerequisite 'Requires confirm=True after user approval', which indicates a safety mechanism. However, it doesn't explicitly mention when NOT to use it or name specific alternatives among the sibling tools.

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

studio_statusB

Check studio content generation status and get URLs.

Args: notebook_id: Notebook UUID

ParametersJSON Schema
NameRequiredDescriptionDefault
notebook_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It mentions checking status and getting URLs, but doesn't disclose behavioral traits like whether this is a read-only operation, what the status values mean, if there are rate limits, authentication needs, or what happens if the notebook_id is invalid. For a tool with no annotation coverage, this leaves significant gaps.

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 extremely concise and front-loaded, with the core purpose stated in the first sentence and parameter details in a separate 'Args' section. Every sentence earns its place, and there's no redundant or verbose language.

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

Completeness3/5

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

Given the tool's moderate complexity (1 parameter, no annotations, but with an output schema), the description is partially complete. It explains the purpose and parameter format, but lacks behavioral details. The presence of an output schema means return values are documented elsewhere, so the description doesn't need to cover them, but it should still address usage context and transparency gaps.

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

Parameters3/5

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

The description adds minimal semantics beyond the input schema. It specifies that 'notebook_id' is a 'Notebook UUID', which clarifies the format, but with 0% schema description coverage, this doesn't fully compensate. The baseline is 3 because the schema covers the parameter structure adequately, but the description adds only basic format information without deeper context.

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?

The description clearly states the tool's purpose with specific verbs ('check' and 'get') and resources ('studio content generation status' and 'URLs'). It distinguishes from siblings like 'research_status' by specifying 'studio content' rather than research. However, it doesn't explicitly differentiate from other status-checking tools beyond the resource specificity.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing a notebook_id from a previous operation), exclusions, or comparisons to siblings like 'research_status' or 'notebook_get'. The usage context is implied but not stated.

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

video_overview_createA

Generate video overview. Requires confirm=True after user approval.

Args: notebook_id: Notebook UUID source_ids: Source IDs (default: all) format: explainer|brief visual_style: auto_select|classic|whiteboard|kawaii|anime|watercolor|retro_print|heritage|paper_craft language: BCP-47 code (en, es, fr, de, ja) focus_prompt: Optional focus text confirm: Must be True after user approval

ParametersJSON Schema
NameRequiredDescriptionDefault
notebook_idYes
source_idsNo
formatNoexplainer
visual_styleNoauto_select
languageNoen
focus_promptNo
confirmNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.1/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It mentions the 'confirm' requirement, which hints at a safety or confirmation step, but lacks details on permissions, rate limits, or what happens during generation (e.g., processing time, effects on the notebook). It adds some context but is incomplete for a creation tool.

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 well-structured and front-loaded: the first sentence states the purpose, followed by a usage guideline, then a clear 'Args:' section listing parameters. Every sentence earns its place with no wasted words, making it efficient and easy to parse.

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 tool's complexity (7 parameters, creation operation) and no annotations, the description does a good job covering purpose, usage, and parameters. However, with an output schema present, it doesn't need to explain return values, but could benefit from more behavioral context (e.g., generation process). It's mostly complete but has minor gaps.

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. It lists all 7 parameters with brief explanations (e.g., 'Notebook UUID', 'Source IDs (default: all)'), adding meaningful semantics beyond the schema. However, it doesn't fully detail enums like 'visual_style' options or elaborate on 'focus_prompt', leaving some gaps.

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?

The description clearly states the tool's purpose: 'Generate video overview.' It specifies the resource (video overview) and implies creation/generation. However, it doesn't explicitly differentiate from sibling tools like 'slide_deck_create' or 'infographic_create' beyond the output type, missing specific sibling comparison.

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

Usage Guidelines5/5

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

The description provides explicit usage guidelines: 'Requires confirm=True after user approval.' This clearly indicates when to use the tool (after user approval) and includes a prerequisite condition, offering strong guidance for proper invocation.

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

TDQS

A3.7/5.0
Disambiguation4/5

Most tools have distinct purposes targeting specific resources or actions (e.g., audio_overview_create vs. video_overview_create, notebook_add_drive vs. notebook_add_text). However, some overlap exists between research_start and notebook_query, where the descriptions clarify that research_start is for finding new sources while notebook_query is for querying existing ones, which could still cause confusion if not carefully read.

Naming Consistency5/5

Tool names follow a highly consistent verb_noun pattern throughout (e.g., notebook_create, notebook_delete, source_list_drive, research_start). All tools use snake_case with clear, descriptive names, making the set predictable and easy to navigate.

Tool Count3/5

With 32 tools, the count is borderline high for a notebook management and content generation server. While the domain is broad (notebooks, sources, research, studio artifacts), the number feels heavy and could overwhelm agents, though each tool appears to serve a specific function within the scope.

Completeness5/5

The tool surface provides comprehensive coverage for the notebook management domain, including full CRUD for notebooks and sources, content generation (audio, video, reports, etc.), research workflows, and studio operations. There are no obvious gaps; agents can perform all expected lifecycle actions from creation to deletion with detailed options.

Maintenance

ActivityInactive
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    Not graded
    maintenance
    Enables interaction with Google's NotebookLM through natural language, allowing users to create and manage notebooks, add sources from URLs/YouTube/Google Drive, query AI for insights, generate audio podcasts and other studio content, and perform AI-powered research and analysis.
    32
    3
  • A
    license
    A
    quality
    D
    maintenance
    Enables interaction with Google NotebookLM through natural language to create and manage notebooks, add sources from URLs/YouTube/Google Drive, perform AI-powered research and analysis, generate audio podcasts, videos, infographics, and slide decks from notebook content.
    32
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    Enables interaction with Google's NotebookLM via the Model Context Protocol to manage notebooks, sources, and research tasks. Users can create, query, and summarize content, as well as generate artifacts like audio overviews and slide decks using natural language.
    32
    1
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    Enables AI assistants to programmatically interact with Google NotebookLM, allowing them to create and manage notebooks, add sources, query content, generate audio/video, and perform research tasks through natural language commands.
    2
    48
    5,963
    MIT

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/set2374/notebooklm-mcp-archived'

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