Skip to main content
Glama

sb_import

Import any public URL's structure and content into the open page as real elements styled with the site's tokens. Dry run previews what will be found.

Instructions

Read a page from any public URL and add its structure and content to the OPEN page as real elements, styled with this page's own tokens. Not a clone: the source's layout and CSS are not copied. Dry run returns what was found.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
urlYesThe page to read
dry_runNo
site_idNo
max_nodesNoNo cap by default — bounds the whole import if given
max_imagesNoDefault 24 — every image is an upload
max_sectionsNo
upload_imagesNoCopy the images into this site's media library, default true
nav_timeout_msNoHow long to wait for a page to answer at all. Default 30000; raise it for a slow origin

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changedv0.41.0
    • changedInput schema / properties / max_nodes / description
      Previous value: -"Default 300 — the bound on the whole import"New value: +"No cap by default — bounds the whole import if given"
    • removedInput schema / properties / max_nodes / maximum
      Removed value: -1000
  2. Changed1 schema field changedv0.39.0
    • addedInput schema / properties / nav_timeout_ms
      Added value: +{
      +  "description": "How long to wait for a page to answer at all. Default 30000; raise it for a slow origin",
      +  "maximum": 120000,
      +  "minimum": 5000,
      +  "type": "integer"
      +}
  3. Addedv0.12.0

TDQS

A4/5.0
Behavior4/5

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

Annotations say readOnlyHint=false and destructiveHint=false, and the description goes further by disclosing exactly what happens: real elements are added to the OPEN page, foreign layout/CSS is discarded, and dry run returns findings instead of mutating. It does not mention that image copying uploads into the media library or the cost/latency of fetching a remote origin, which the schema only partially covers.

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?

Three tight sentences, front-loaded with the core action, then the key scope caveat, then the dry-run behavior. Every clause carries information an agent needs and there is no filler.

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 an 8-parameter mutating tool with no output schema, the description covers the essential behavior and the dry-run return path. It leaves a gap around prerequisites (an OPEN page must already exist, likely via sb_page_open) and around image-upload side effects, which matter for correct 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?

Schema coverage is 63% and the description only adds semantics for dry_run ('returns what was found'). dry_run, site_id, and max_sections carry no description in either place, and nothing explains how max_nodes/max_images bound the import beyond what the schema already says.

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?

States a specific verb+resource+destination: read a public URL page and add its structure/content as real elements into the currently OPEN page, styled with the page's own tokens. It also clarifies scope negatively ('Not a clone: the source's layout and CSS are not copied'), which separates it from a full-site importer like sb_import_site.

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?

Usage is implied — reach for it when you want a page's content merged into the open page — but no alternative is named and no when-not condition is given. The sibling sb_import_site (site-level import) is never referenced, so the agent must infer the boundary itself.

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