Skip to main content
Glama

Active HTB Machine

htb_machine_active
Read-onlyIdempotent

Retrieve the currently active Hack The Box machine's ID, name, IP, OS, difficulty, expiry, and lab server; details=true adds synopsis and academy modules.

Instructions

Show the currently active machine: id, name, ip, os, difficulty, expires_at/expires_in, lab server. Always live, never cached. An empty info block means nothing is running. details=true adds the synopsis and linked academy modules.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
detailsNoAdd synopsis and academy modules to the response

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.1

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, openWorldHint, idempotentHint and destructiveHint=false, so safety is covered. The description adds real behavioral context beyond that: the response is always live and never cached, and an empty info block is a meaningful 'nothing running' signal rather than an error. It doesn't cover latency or rate-limit behavior, keeping it out of 5 territory.

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?

Three tight sentences: identity and return shape first, then the freshness guarantee and empty-result semantics, then the optional flag. No filler, and the most decision-relevant information is front-loaded.

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 carries the burden of describing the return payload, and it does so by enumerating the fields returned. It also covers the empty case and the details flag, leaving nothing an agent needs in order to call and interpret this tool.

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% for the single 'details' parameter, whose schema text already says 'Add synopsis and academy modules to the response'. The description's 'details=true adds the synopsis and linked academy modules' is essentially a restatement, so the baseline 3 applies.

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?

States a specific verb and resource ('Show the currently active machine') and immediately enumerates the returned fields (id, name, ip, os, difficulty, expires_at/expires_in, lab server). The scope ('currently active') cleanly separates it from siblings like htb_machine_list, htb_machine_search and htb_machine_profile without needing to name them.

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?

'Always live, never cached' tells the agent this is the authoritative source for current runtime state, implicitly steering it here over a cached listing. 'An empty info block means nothing is running' gives a concrete interpretation rule. It stops short of naming an explicit alternative or when-not-to-use condition, so it isn't a 5.

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