Skip to main content
Glama

structured_data_extract

Fetch a URL and extract structured data deterministically: JSON-LD blocks, OpenGraph/meta tags, and optional caller-supplied CSS-selector fields (e.g. { price: '.product-price', title: 'h1' }). No LLM involved — pure HTML parsing via CSS selectors, so results are exact matches only, not summarized or inferred.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
urlYesThe URL to extract from
attrNoOptional HTML attribute to extract instead of text content (e.g. 'href', 'src', 'content'). Applies to all selector fields in this call.
selectorsNoOptional map of field name -> CSS selector (e.g. { price: '.product-price', headline: 'h1' }). Each field returns an array of matched, whitespace-normalized text values in document order.

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations, the description carries the behavioral burden and does well: it discloses determinism, pure HTML parsing via CSS selectors, no LLM involvement, and exact-match output. It stops short of documenting failure, redirect, or rate-limit behavior, but for a fetch-and-parse tool the disclosed traits are substantive and accurate.

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 sentences with no filler: the purpose, output categories, selector example, and the no-LLM/exact-match distinction all fit compactly. Information is front-loaded and every clause earns its place.

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?

There is no output schema, but the description names the output categories (JSON-LD, OpenGraph/meta, selector fields) and the exact-match contract, which is enough for an agent to know what it will receive. Minor gaps are the lack of explicit response shape and error semantics, but the tool is simple and the parameter schema is fully documented.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3. The description adds real value beyond the schema with a concrete selector-map example and clarifies the deterministic exact-match semantics underlying the selector parameters. The schema already handles individual property semantics, so the description's framing and example justify moving above baseline.

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?

Description states a specific verb and resource: 'Fetch a URL and extract structured data deterministically', enumerating exact output classes (JSON-LD blocks, OpenGraph/meta tags, caller-supplied CSS-selector fields). The 'no LLM involved' / 'exact matches only' phrase distinguishes it from extraction-style siblings and from URL-to-markdown or validator tools.

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?

The description implies when to use the tool (when deterministic HTML extraction is needed) and sets a boundary ('exact matches only, not summarized or inferred'), but it never names a sibling alternative or states a clear when-not-to-use condition. An agent has to infer the use case from the capabilities rather than receiving explicit routing guidance.

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

A3.6/5.0
Disambiguation3/5

Many tools audit overlapping site signals (seo_audit vs structured_data_extract vs tech_stack_fingerprint; page_performance_check vs pagespeed_insights; ssl_cert_check vs ssl_labs_grade; broken_link_check vs sitemap_url_validator), so an agent could initially pick the wrong one. Descriptions usually clarify the distinction, but the boundaries are not always obvious.

Naming Consistency3/5

Most names follow a snake_case target+operation pattern (ssl_cert_check, email_deliverability_check), but check_open_ports and check_robots_sitemap reverse the order, and the action suffixes vary widely (check, audit, validate, lookup, extract, grade, report, insights). Still readable, but not a single predictable convention.

Tool Count2/5

At 29 tools, the server is above the 25-tool threshold and feels like an undifferentiated grab bag of single-purpose audits rather than a tightly scoped toolkit. Many checks could be consolidated (e.g. the separate SSL and performance tools, or domain_report versus its component checks).

Completeness4/5

For a web/domain/email/security diagnostics toolbelt, the coverage is unusually broad: DNS, TLS, email, SEO, structured data, vulnerabilities, ports, redirects, and more are all represented. Minor gaps exist (no generic HTTP request/debug tool, no zone-transfer or full WHOIS history), but agents can accomplish most diagnostic workflows without hitting dead ends.

Resources