Skip to main content
Glama

List what a page contains

get_site_inventory
Read-onlyIdempotent

Return a complete inventory of what the Outrings collector observed on a page — not a sample of it — for one kind of thing: internal links, external links, sitemap URLs, email addresses, scripts, images, forms, iframes, stylesheets or API endpoints referenced. The collector does not execute JavaScript, so this is everything present in the served HTML and the responses it fetched, which is not necessarily everything a real browser would end up loading at runtime. Use it for "what third-party scripts am I loading", "which email addresses are exposed on my site", "how many images are missing alt text", "what does my page link out to".

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
urlYesThe website to inspect. A bare domain works — "example.com" is treated as https://example.com.
limitNoCap the rows returned. The total count is always reported.
inventoryYesWhich listing to return. internalLinks and externalLinks are URLs; externalDomains is the deduplicated hosts they point at; endpoints are API paths found in scripts; discovered are paths seen in sitemaps and robots.txt; exposedProbe is the result of probing commonly exposed paths.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
urlYes
rowsNoShape depends on the inventory: a list of URLs or strings, or an object keyed by host with counts.
totalYesRows observed, before any limit.
returnedNoRows in this response.
inventoryYes

TDQS

A4.5/5.0
Behavior5/5

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

Beyond the annotations (readOnly, openWorld, idempotent, non-destructive), the description adds valuable behavioral context: the collector does not execute JavaScript, results are based on served HTML and fetched responses, and the inventory is complete rather than sampled. This meaningfully clarifies the tool's limitations and output fidelity.

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 three well-structured sentences: a precise statement of what it returns, an important caveat about JavaScript, and concrete use cases. No sentence is wasted, and the most important information is front-loaded.

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 an output schema is present and annotations already cover safety and world-openness, the description provides the remaining essential context: the exact inventory categories, the non-JavaScript limitation, and typical use cases. It is complete for an agent to select and call this tool appropriately.

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%, so the baseline is 3. The description does not add parameter-level detail beyond the schema, though it does reinforce the meaning of 'inventory' and the completeness guarantee. This is adequate but not exceptional.

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 opens with a specific verb and resource: 'Return a complete inventory of what the Outrings collector observed on a page.' It enumerates the exact kinds of inventory items, which directly maps to the inventory enum and clearly distinguishes this from a sample or aggregate view.

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?

The description explicitly gives intended use cases with quotes ('what third-party scripts am I loading', 'which email addresses are exposed on my site', etc.). It also usefully cautions that JavaScript is not executed, implying it should not be used for runtime-loaded resources, though it does not name alternative tools.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A4.4/5.0
Disambiguation4/5

Most tools have clearly distinct purposes: full audit vs. single-category check vs. score-only vs. comparison vs. badge embed vs. inventory vs. change tracking. However, check_ai_visibility overlaps with check_category's 'ai' area, potentially causing confusion for agents. Descriptions help delineate but the overlap is notable.

Naming Consistency4/5

Seven of eight tools follow a consistent verb_noun snake_case pattern (audit_website, check_ai_visibility, check_category, compare_websites, get_badge_embed, get_score, get_site_inventory). Only 'what_changed' breaks the pattern by using a question phrase. Otherwise naming is uniform and predictable.

Tool Count5/5

8 tools is well-scoped for a website intelligence server. Each tool addresses a distinct need (full audit, narrow check, AI visibility, comparison, score, badge, inventory, diff tracking) without being excessive or sparse. The set feels complete for its domain.

Completeness5/5

The tool surface covers the full lifecycle of analyzing a website: comprehensive audit (audit_website), granular category checks (check_category, check_ai_visibility), score retrieval (get_score), comparison (compare_websites), change monitoring (what_changed), asset inventory (get_site_inventory), and even a sharing artifact (get_badge_embed). No obvious dead ends or missing operations for the stated purpose.

Resources