Skip to main content
Glama

observe

Read-only

Scan a host's exposed stack and join it to the CVE corpus — the recon workhorse. Fingerprints the homepage + JS bundles (recovering the backend identity and API endpoints homepage detection misses on SPAs), then ranks against live KEV / SSVC-active / high-EPSS into a dig-order. Fetches only public pages — authorized targets only.

NON-BLOCKING: a scan takes ~1-4 min, so observe() never waits on it. A recent scan (<24h)
returns status="ready" instantly. A cache miss KICKS a background scan and returns
status="scanning" immediately — POLL by calling observe() again with the same host until it
returns status="ready". Returns:
  - status="ready":    host stack + endpoints + dig_order + top_across_stack (the scan result),
                       plus bounty_programs: public programs whose current scope lists this host.
  - status="scanning": retry_after_seconds + last_scanned_at (call again after that delay).
  - status="error":    a guard/validation error.

Args:
    host: hostname or URL in an authorized bounty scope, e.g. "auth.example.com".
    fresh: force a re-scan (kicks a new background scan even if a recent one exists).
    per_tech: top CVEs to surface per component (default 4).

Input Schema

NameRequiredDescriptionDefault
hostYes
freshNo
per_techNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.5/5.0
Behavior5/5

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

Annotations only declare readOnlyHint and openWorldHint; the description adds substantial behavior beyond that: the scan is non-blocking, takes ~1-4 min, cached results (<24h) return instantly, cache misses kick a background scan, and the caller must poll. It also states the authorization constraint. No contradiction with readOnlyHint since it only fetches public pages.

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?

Front-loaded with the purpose, then a clearly delineated NON-BLOCKING status contract and an Args block. Every section is useful, though the 'recon workhorse' framing and parenthetical asides add slight padding.

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?

With no output schema, the description fully documents the three return states (ready/scanning/error) and their payloads, plus the polling contract and retry_after_seconds. That is exactly what an agent needs to drive a long-running, non-blocking tool correctly.

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?

Schema description coverage is 0%, so the description must carry the full burden, and it does: host is a hostname or URL in an authorized scope with an example, fresh forces a new background scan, and per_tech is the top CVEs surfaced per component with its default. All three parameters are explained with semantics beyond their bare type.

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?

States a specific verb+resource+scope: 'Scan a host's exposed stack and join it to the CVE corpus', and clarifies it fingerprints homepage + JS bundles to recover backend identity and API endpoints. An agent knows exactly what it produces. It does not, however, differentiate itself from siblings such as check_technology or search_vulns by name.

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?

Gives clear operational context — authorized bounty scopes only, public pages only, and when to use the fresh flag to force a re-scan. It does not name any alternative sibling tool or state when this should be preferred over check_technology/search_vulns, so it stops short of explicit when-not 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.