Critical Risk →

remove_source

Remove a source from a NotebookLM notebook. ## Usage 1. First call list_sources to get source IDs 2. Then call remove_source with the source ID ## Example ```json { "notebook_id": "my-notebook", "source_id": "source-0" } ```

Part of the Notebooklm MCP server. Enforce policies on this tool with Intercept, the open-source MCP proxy.

@pan-sec/notebooklm-mcp Destructive Risk 4/5

AI agents may call remove_source to permanently remove or destroy resources in Notebooklm. Without a policy, an autonomous agent could delete critical data in a loop with no way to undo the damage. Intercept blocks destructive tools by default and requires explicit human approval before enabling them.

Without a policy, an AI agent could call remove_source in a loop, permanently destroying resources in Notebooklm. There is no undo for destructive operations. Intercept blocks this tool by default and only allows it when a human explicitly approves the action.

Destructive tools permanently remove data. Block by default. Only enable with explicit approval workflows.

io-github-pantheon-security-notebooklm-mcp-secure.yaml
tools:
  remove_source:
    rules:
      - action: deny
        reason: "Blocked by default — enable with approval"

See the full Notebooklm policy for all 31 tools.

Tool Name remove_source
Category Destructive
Risk Level Critical

View all 31 tools →

Agents calling destructive-class tools like remove_source have been implicated in these attack patterns. Read the full case and prevention policy for each:

Browse the full MCP Attack Database →

Other tools in the Destructive risk category across the catalogue. The same policy patterns (deny, require_approval) apply to each.

remove_source is one of the critical-risk operations in Notebooklm. For the full severity-focused view — only the critical-risk tools with their recommended policies — see the breakdown for this server, or browse all critical-risk tools across every MCP server.

What does the remove_source tool do? +

Remove a source from a NotebookLM notebook. ## Usage 1. First call list_sources to get source IDs 2. Then call remove_source with the source ID ## Example ```json { "notebook_id": "my-notebook", "source_id": "source-0" } ```. It is categorised as a Destructive tool in the Notebooklm MCP Server, which means it can permanently delete or destroy data. Block by default and require explicit approval.

How do I enforce a policy on remove_source? +

Add a rule in your Intercept YAML policy under the tools section for remove_source. You can allow, deny, rate-limit, or validate arguments. Then run Intercept as a proxy in front of the Notebooklm MCP server.

What risk level is remove_source? +

remove_source is a Destructive tool with critical risk. Critical-risk tools should be blocked by default and only enabled with explicit human approval.

Can I rate-limit remove_source? +

Yes. Add a rate_limit block to the remove_source rule in your Intercept policy. For example, setting max: 10 and window: 60 limits the tool to 10 calls per minute. Rate limits are tracked per agent session and reset automatically.

How do I block remove_source completely? +

Set action: deny in the Intercept policy for remove_source. The AI agent will receive a policy violation error and cannot call the tool. You can also include a reason field to explain why the tool is blocked.

What MCP server provides remove_source? +

remove_source is provided by the Notebooklm MCP server (@pan-sec/notebooklm-mcp). Intercept sits as a proxy in front of this server to enforce policies before tool calls reach the server.

Enforce policies on Notebooklm

Open source. One binary. Zero dependencies.

npx -y @policylayer/intercept
github.com/policylayer/intercept →
// GET IN TOUCH

Have a question or want to learn more? Send us a message.

Message sent.

We'll get back to you soon.