Skip to main content
Glama

describe_page

Extract a concise JSON page summary (intent, headings, form fields, actions, navigation) for AI workflows, using minimal tokens. Optionally waits for DOM stability before snapshotting.

Instructions

⭐ Compact AI-friendly page summary — replaces accessibility_snapshot for LLM workflows. Returns JSON with the page's intent + interactable surface in ~10× fewer tokens than a full a11y dump.

Args:
    wait_stable: if True, install a MutationObserver and wait until the
        DOM has been quiet for `stable_ms` before snapshotting (max
        `max_wait` seconds). Use on SPA / lazy-rendered pages so the
        LLM sees the final state, not a half-hydrated render. Cheap
        (~50-200ms typical, capped at max_wait).
    max_wait: outer cap for stability wait (default 2.5s)
    stable_ms: required quiet window in ms (default 400)

Output shape:
  {
    "title": "...",
    "url": "...",
    "headings": [{"level":"h1","text":"..."}],
    "fields": [{"label":"...","type":"text|email|...","required":bool,"value":"...","name":"...","id":"..."}],
    "actions": [{"text":"Submit","kind":"button","disabled":false}],
    "errors": ["..."],
    "navigation": ["Dashboard","Settings",...],
    "stability": "stable|timeout|skipped"  (only present if wait_stable=True)
  }

Use this BEFORE smart_fill so the LLM knows which labels exist.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
wait_stableNo
max_waitNo
stable_msNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes
Behavior4/5

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

Despite no annotations, the description explains the wait_stable behavior with MutationObserver, default values, and output shape, but omits details about error handling or performance implications.

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 with separate sections for args and output shape, front-loaded with purpose, and every sentence adds value.

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 (3 parameters, one conditional behavior), the description covers parameter details, output format, and usage context (before smart_fill), making it fully complete.

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 explains all three parameters, including their purpose, defaults, and behavioral effects.

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 produces a compact AI-friendly page summary, replacing accessibility_snapshot for LLM workflows, and distinguishes itself by being more token-efficient.

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 says 'Use this BEFORE smart_fill so the LLM knows which labels exist' and mentions it replaces accessibility_snapshot, but does not provide alternative tools for other use cases.

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/RobithYusuf/mcp-stealth-chrome'

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