Skip to main content
Glama
dougrn

NotebookLM MCP Server

by dougrn

Research Cancel

research_cancel

Cancel an in-flight research run in a notebook by providing its poll_task_id, then poll research_status to confirm cancellation.

Instructions

Cancel an in-flight research run in a notebook.

Accepts a notebook name or ID and the poll_task_id to cancel — the value from research_start / research_status. run_id is a deprecated alias (removed in v0.9.0).

Sends the cancel unless the run is already TERMINAL (completed / failed), which returns cancel_requested: false with the observed status and no RPC. Otherwise returns cancel_requested: true with run_status_before; a just-started run reading not_found / no_research (replication lag) is cancelled too. Fire-and-forget; poll research_status afterward to confirm.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
run_idNo
notebookYes
poll_task_idNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.7/5.0
Behavior5/5

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

With no annotations, the description carries the full burden and does so: fire-and-forget semantics, no RPC when the run is terminal, the cancel_requested:false plus observed status response, replication-lag handling for not_found/no_research, and exact return fields.

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?

Front-loaded purpose sentence followed by tightly packed behavioral detail; every clause carries information. Slightly dense but no wasted sentences.

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

Completeness5/5

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

For a mutation tool with no annotations, the description covers async behavior, edge cases, parameter sourcing, and return semantics; the accompanying output schema is not required to carry anything the description omits.

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 coverage is 0%, yet the description explains all three parameters: notebook accepts a name or ID, poll_task_id is the value from research_start/research_status, and run_id is a deprecated alias removed in v0.9.0. This fully compensates for the empty schema 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?

Opens with a specific verb+resource ('Cancel an in-flight research run in a notebook') and scopes it to research runs, cleanly separating it from siblings like research_start and research_status. An agent can identify the tool without opening the schema.

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?

Explicitly states where poll_task_id comes from (research_start/research_status) and tells the agent to poll research_status afterward, plus the terminal-state no-op case. It lacks an explicit 'do not use when X' beyond the terminal case, but the routing context is clear.

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