Skip to main content
Glama

analyze_images

Read-only

Audit a live page's image delivery: totals by format, loading strategy, responsiveness, dimensions; flags broken, oversized, tiny, and missing-alt images with samples.

Instructions

Image-delivery audit of a live page: totals by format, loading strategy, responsiveness and dimensions; flags broken, oversized, tiny and missing-alt images with issue samples. The page loads its own assets (no tool-initiated fetches) after load, a 3s settle, fonts and a pre-scroll that triggers lazy loading. Runs on any URL — does not fetch awwwards.com.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "url": "<url>"
    },
    "name": "analyze_images"
  }
}

Input Schema

NameRequiredDescriptionDefault
urlYesAbsolute page URL to audit
viewportNodesktop = 1440x900 (default); mobile = 390x844 iPhone-class with deviceScaleFactor 3, isMobile + hasTouchdesktop
maxImagesNoMax images scanned in document order (default 200, max 500)

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv1.15.1

TDQS

A3.8/5.0
Behavior4/5

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

Goes well beyond the annotations by disclosing the audit mechanics: the page loads its own assets with no tool-initiated fetches, a 3s settle plus font loading, and a pre-scroll to trigger lazy loading — all of which explain latency and why results include lazy content. It stops short of stating expected run time or limits on what a 3s settle can miss.

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?

Two dense sentences, no filler: capabilities first, then execution behavior and the exclusion. Every clause carries information an agent would otherwise have to guess.

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?

With no output schema, the description correctly carries the return shape ('totals by format... with issue samples') and the loading behavior that explains those numbers. What is missing is a sense of cost/duration for a pre-scroll, settle-and-load page audit.

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 description coverage is 100%, with viewport enum, default and deviceScaleFactor details already in the schema, so the baseline applies. The description adds no parameter-level meaning beyond what url, viewport and maxImages already document.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Opens with a specific verb+resource ('Image-delivery audit of a live page') and enumerates exactly what is measured (totals by format, loading strategy, responsiveness, dimensions) and flagged (broken, oversized, tiny, missing-alt). It implicitly separates itself from analyze_accessibility and analyze_network_capture by scoping everything to images, but never names a sibling to route away from.

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?

'Runs on any URL — does not fetch awwwards.com' gives a scope boundary, but there is no guidance on when to prefer this over analyze_accessibility (which also checks alt text) or analyze_network_capture. The agent must infer the choice from the tool name alone.

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