Skip to main content
Glama

msf_console_read

Destructive

Read and drain available Metasploit console output, returning the data, prompt, and busy status so agents can monitor console activity and detect pending work.

Instructions

Consume available console output; returns data, prompt, and busy status.

Reads drain the console's output buffer. busy=false is a snapshot, not proof that a just-submitted command has completed or that a job has ended.

Input Schema

NameRequiredDescriptionDefault
console_idYes

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.8/5.0
Behavior5/5

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

The description explains the non-obvious destructive semantics that the annotations flag: reads drain the output buffer, which justifies destructiveHint=true and idempotentHint=false. It also clarifies that busy=false is not a completion guarantee, adding real behavioral context an agent could not infer from structured fields alone.

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 tight sentences with the core purpose and return fields front-loaded, followed by the operational caveat. No waste.

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?

With an output schema present and rich annotations, the description covers purpose, drain behavior, and the busy-status pitfall well. The only real omission is how to obtain console_id, which slightly undercuts completeness for a one-parameter tool.

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

Parameters2/5

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

Schema description coverage is 0% and the single required console_id parameter is never explained in the description — no format, no indication that it comes from msf_console_list. The description does not compensate for the coverage gap.

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 and resource: consuming/draining console output and returning data, prompt, and busy status. It is clearly distinct from siblings like msf_console_write or msf_console_create by the nature of the operation, though it never names an alternative explicitly.

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?

It warns that busy=false is only a snapshot and not proof a command or job finished, which implies a polling workflow, but it never states when to call this versus msf_console_write or how to sequence it. Usage is implied rather than spelled out.

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