Skip to main content
Glama

Escanear un servidor Linux

scan_host
Read-only

Scan authorized Linux hosts read-only for system package vulnerabilities and hardening gaps—SSH, sudo, firewall, kernel, exposed services, SUID, and pending reboots—via SSH key or collected output.

Instructions

Vulnerabilidades de los paquetes del sistema (Trivy con los avisos de la distribución: entiende los parches retroportados de RHEL/Debian) y endurecimiento (SSH, cuentas, sudo, firewall, SELinux/AppArmor, kernel, servicios expuestos, SUID, reinicio pendiente). Por SSH con llave (el host debe estar en dast_scope) o desde la salida de host_collector. Solo lectura.

Input Schema

NameRequiredDescriptionDefault
modeNoadvisory (Tier 1): no entra por SSH, escribe el recolector y da los pasos para correrlo a mano. execute (Tier 2): entra por SSH. Por defecto, XOLOTL_MODE o execute. Con collected_file se ignora (ya es ingreso)
portNo
sudoNoEjecutar el recolector con sudo -n (por defecto true; si sudo pide contraseña, falla en vez de preguntar)
targetNousuario@host para recolectar por SSH (solo llave o agente; nunca pide contraseña)
identity_fileNoLlave privada SSH a usar
collected_fileNoSalida de host_collector ejecutado a mano en el servidor
ignore_unfixedNoOmitir vulnerabilidades sin parche publicado por la distribución
timeout_minutesNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, so 'Solo lectura' is largely redundant. The description does add real behavioral context beyond annotations: the dast_scope authorization gate, key-only SSH with no interactive password, and that distro advisories are applied so backported patches are not flagged. It omits the side effect that advisory mode writes a collector script onto the host, and says nothing about cost or duration of a scan.

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

Conciseness3/5

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

Only two sentences, but the first is a long parenthetical enumeration of hardening areas that is heavy to parse and front-loads vulnerability categories instead of the action or the invocation choice. It is not padded with fluff, yet the dense checklist form pushes the practically important part (SSH vs collected_file) to the second sentence.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For an 8-parameter tool with no required parameters and no output schema, the definition covers inputs and scanning scope but never says what comes back (findings? a run id? a report artifact?) or how results relate to findings_query/runs_list. With no output schema, that return-value gap is left entirely to inference.

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 coverage is 75%, so the schema already carries most parameter meaning (mode tiers, sudo -n behavior, target format, collected_file). The description reinforces the two input paths (target/identity_file vs collected_file), which adds some orientation, but adds nothing about port, timeout_minutes, or ignore_unfixed beyond what the schema states.

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?

Names the resource (system packages on a Linux server), the engine and its nuance (Trivy with distro advisories, backported-patch aware), and the full hardening surface (SSH, accounts, sudo, firewall, SELinux/AppArmor, kernel, exposed services, SUID, pending reboot). That is well beyond a restatement of the name, though it opens with a noun list rather than an explicit verb and never explicitly contrasts itself with scan_container_image, scan_network, or scan_iac.

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 usage context: run over SSH with a key (host must be registered in dast_scope) or consume output from host_collector. Prerequisites are stated, so an agent can tell whether the target is eligible. It stops short of naming alternatives or exclusion cases (e.g. containers, network-only sweeps, IaC).

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