Skip to main content
Glama

Vulnerability Scan

tm_security_vulnerability_scan
Read-onlyIdempotent

Audit remote hosts for vulnerabilities and compliance against standards such as CIS, PCI DSS, and HIPAA, with configurable scan types and security scopes.

Instructions

Vulnerability scan (tm_security). Security scanning and compliance.

Input Schema

NameRequiredDescriptionDefault
scopeNoSecurity areas to audit (security_audit).
standardNoCompliance standard: cis_benchmark, pci_dss, hipaa (compliance_check).cis_benchmark
usernameNoSSH username.
scan_typeNoScan type: basic, package, config (vulnerability_scan).basic
remote_hostYesRemote host to audit.
password_refNoRuntime secret reference for the SSH password.
identity_fileNoSSH identity file path.

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv3.3.1

TDQS

C2.3/5.0
Behavior2/5

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

Annotations already declare readOnly, idempotent, openWorld and non-destructive, so the safety profile is covered. The description adds nothing beyond that: it never mentions that scanning requires SSH credentials (username/password_ref/identity_file), that it reaches out to a remote host, or how long a scan may take.

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?

It is short and front-loaded, but the second sentence ("Security scanning and compliance") is pure filler that neither scopes the tool nor routes the agent. Brevity here comes at the cost of under-specification rather than efficiency.

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

Completeness2/5

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

Although an output schema and rich annotations exist, the description leaves a critical ambiguity unresolved: this tool's schema overlaps audit and compliance functionality, and sibling tools exist for exactly those purposes. An agent cannot decide from the description alone when this scan is the right call.

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% with 7 well-documented parameters, including enumerated value hints for scan_type and standard. The description contributes no additional parameter semantics, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description only restates the name and title ("Vulnerability scan") and appends a generic category label ("Security scanning and compliance"). It never distinguishes this tool from close siblings such as tm_security_security_audit or tm_security_compliance_check, both of which are even named inside this tool's own parameter descriptions.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this scan versus the audit/compliance siblings, no prerequisites, and no exclusions. Worse, the word "compliance" points toward tm_security_compliance_check without clarifying that this tool performs an SSH-based vulnerability scan instead.

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