Skip to main content
Glama

list_host_software

Read-only

List all hosts' software (Market)

Every host with open software fingerprint rows, one row per (hostname, role) with the vendor / version / hosting axes folded in (value, tier, first-seen; plus vendor variant and version kind). The evidence blob is omitted to keep the list lean — it stays on the per-host resource. Cursor-paginated on the stable (hostname, role) order; optional vendor= filter.

The version axis also carries release staleness (issue #798): latest_release (the newest stable upstream release of the product lane), lag (releases_behind, days_behind, exactness) and advisories (CVSS severity counts plus ids). All three are NULL when the engine tracks no upstream lane at all, and advisories alone is NULL when the lane publishes no advisory feed — null is not zero. A TRACKED engine whose detected version matches none of its lanes keeps lag with exactness: "unknown" and null counts, so it stays distinguishable from an untracked one. Market tier.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNoPage size, clamped to [1, 200]. Defaults to 50.
cursorNoOpaque pagination cursor returned as `next_cursor` by the previous page.
vendorNoKeep only rows whose open vendor axis exactly equals this value.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.4/5.0
Behavior5/5

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

The read-only safety profile is already in annotations, and the description adds significant behavior: cursor pagination on stable (hostname, role) order, deliberate omission of the evidence blob, and detailed null semantics for staleness fields ('null is not zero', tracked vs untracked distinction). This goes well beyond what annotations provide and prepares the agent for surprising edge cases.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with a one-sentence purpose, and most later sentences add necessary nuance about pagination, evidence omission, and null semantics. It is longer than necessary — the internal 'issue #798' reference and the unexplained 'Market tier' suffix are noise — but the detail earns its place overall.

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?

For a tool with no output schema, the description carries the return-format burden and does so thoroughly: row granularity, folded axes, omitted evidence, pagination, and exact empty/NULL semantics. With readOnlyHint true and all parameters documented, nothing essential to invoking the tool correctly is missing.

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?

All three parameters are already fully described in the schema (100% coverage), so the description has little additional parameter burden. It only restates the vendor filter as 'optional vendor= filter' and doesn't add syntax or semantics beyond the schema. Baseline 3 is appropriate.

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 clear verb+object — 'List all hosts' software' — and precisely scopes the rows: one per (hostname, role), with vendor/version/hosting axes folded in. This distinguishes it from siblings like get_host_software or list_host_software_history even without naming them, because it defines the list's shape and scope.

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 frames the tool as a lean list: the evidence blob is intentionally omitted and stays on the per-host resource, implying that detailed evidence should be fetched elsewhere. It gives context for the cursor-paginated all-hosts use case and the optional vendor filter, but it does not explicitly name sibling alternatives or state when not to use it. That is clear context without hard exclusions.

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.

Resources