Skip to main content
Glama

novada_unblock

Read-onlyIdempotent

Retrieve raw HTML from anti-bot or JavaScript-heavy websites. Fully renders the page using Web Unblocker or Chromium to bypass blocks and execute JavaScript.

Instructions

Use when you need the raw rendered HTML of a blocked or JS-heavy page. Forces JS rendering via Web Unblocker or Browser API. Returns raw HTML, not cleaned text.

Best for: When you need raw HTML (not cleaned text) for custom DOM parsing. When novada_extract with render="render" still fails. Returns the full JS-rendered HTML source. Tip: For most anti-bot pages, try novada_extract with render="render" first — it returns clean text. Use novada_unblock when you specifically need the raw HTML source. Not for: Reading cleaned text (use novada_extract with render="render"), structured platform data (use novada_scrape). Methods: "render" (Web Unblocker, faster/cheaper), "browser" (full Chromium CDP, handles complex SPAs). Wait hint: Use wait_for to specify a CSS selector to wait for before capturing HTML. Note: wait_ms, block_resources, auto_runs are accepted but not yet implemented — they have no effect in the current version.

Common mistakes:

  • This tool returns RAW HTML, not parsed/cleaned text. Passing the output directly to an LLM expecting markdown will produce garbled, token-heavy responses.

  • For extracted content from bot-protected pages, use novada_extract (it calls the unblocker internally with render='render').

  • Do not use novada_unblock for simple static pages — it adds 9-16 seconds of latency vs 112ms for novada_extract.

When to use:

  • You need the original DOM structure for CSS selector parsing in a processing pipeline.

  • You are feeding the HTML into a downstream parser, not directly to an LLM.

  • You need raw access to a page's complete HTML before novada_extract's content selection.

Not for:

  • Getting readable content from protected pages — use novada_extract with render='render'.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
urlYes
methodYesRendering method. 'render': JS rendering via Web Unblocker (requires NOVADA_WEB_UNBLOCKER_KEY). 'browser': full Chromium CDP (requires NOVADA_BROWSER_WS). Unlike novada_extract which uses 'render=', this tool uses 'method='.render
countryNoISO 2-letter country code for geo-targeted rendering.
wait_forNoCSS selector to wait for before capturing HTML. E.g. '.price', '#product-title'.
wait_msNo[NOT_IMPLEMENTED — reserved for future use] Max time in ms to wait for page to fully load before capture. Use when wait_for selector is unavailable. Max 100000ms.
block_resourcesNo[NOT_IMPLEMENTED — reserved for future use] Block images, CSS, and video loading for faster captures. Reduces bandwidth and latency on image-heavy pages.
auto_runsNo[NOT_IMPLEMENTED — reserved for future use] Number of retry attempts if the page load fails or returns incomplete content. Default 2, max 10.
timeoutYesTimeout in ms. Default 30000, max 120000.
max_charsNoMaximum characters of raw HTML to return (default: 100000, max: 500000). When content exceeds this limit, it is truncated and a notice is appended. Raw HTML is typically much larger than extracted text — increase this if you need the full DOM.
Behavior5/5

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

Annotations already indicate readOnlyHint=true, destructiveHint=false, idempotentHint=true. Description adds behavioral details not in annotations: returns raw HTML (not cleaned text), latency 9-16 seconds, unimplemented parameters (wait_ms, block_resources, auto_runs). No contradiction.

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?

Long but well-structured with sections (best for, tip, not for, common mistakes, when to use). Every sentence adds value, though slightly verbose. Front-loaded with primary purpose.

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 9 parameters and no output schema, the description is highly complete: explains return type (raw HTML), use cases, limitations, latency, errors to avoid, alternatives. Covers all critical aspects for agent decision-making.

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?

Input schema coverage is 89%, and description adds valuable context: method parameter clarifies distinction from novada_extract, wait_for explained, max_chars with truncation, unimplemented parameters noted. Provides meaning beyond 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 explicitly states the tool's purpose: 'Use when you need the raw rendered HTML of a blocked or JS-heavy page.' It specifies the verb (get raw HTML) and resource (blocked/JS-heavy page), and distinguishes from siblings like novada_extract (cleaned text) and novada_scrape (structured data). Clear 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 Guidelines5/5

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

Provides extensive when-to-use and when-not-to-use guidance: best for raw HTML when novada_extract fails, not for cleaned text (use novada_extract) or structured data (use novada_scrape). Includes common mistakes and alternatives. Explicit and comprehensive.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/NovadaLabs/novada-mcp'

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