Skip to main content
Glama

termix-mcp

MCP server para o Termix (gerenciador self-hosted de SSH/RDP/VNC)

Available Tools

184 tools
termix_alerts_acknowledge_alert_firingAcknowledge an alert firingC

Acknowledge an alert firing

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

C2.3/5.0
Behavior2/5

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

Annotations provide readOnlyHint=false and destructiveHint=false, implying state mutation (acknowledgment) with no explicit destructive risk. The description adds no behavioral context—e.g., whether acknowledgment is idempotent, whether it affects notifications, or if it is reversible. With annotations already covering safety, the description should add state-change context but fails to do so.

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?

The description is a single sentence with no waste, which is concise, but it is too sparse to be considered well-structured. It provides no front-loaded detail beyond the name, so while it is efficient, it doesn't earn a higher score because it lacks substantive information.

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

Completeness1/5

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

This tool is a state-changing operation with no parameters and no output schema. The description is the only source of information, yet it provides zero context about what acknowledging does, what the effect is, or how it relates to alert management siblings. For an action tool, this is completely inadequate—an agent cannot know what will happen when invoking it.

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

Parameters4/5

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

There are zero parameters and schema description coverage is 100%, so the schema is effectively empty. Since there are no parameters to document, the description cannot be faulted for missing parameter info. The baseline of 4 is appropriate because the tool requires no parameters and the description doesn't need to compensate.

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?

Tautological: description restates name/title.

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?

The description gives no guidance on when to use this tool versus alternatives. There is no mention of context such as acknowledging a specific firing after listing active alerts, nor any exclusions (e.g., prefer acknowledge_all for bulk operations). This forces the agent to infer usage from the name alone.

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

termix_alerts_acknowledge_all_alert_firings_current_userAcknowledge all alert firings for the current userC

Acknowledge all alert firings for the current user

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

C2.6/5.0
Behavior2/5

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

The description only restates the title and does not add behavioral context beyond the existing annotations. It does not explain the impact of acknowledging all firings, whether the action is limited to unacknowledged items, or any side effects beyond the annotations already providing readOnly=false and openWorld=true.

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?

The description is a single concise sentence with no filler or redundant elaboration. It is well-structured and front-loaded, though it provides no additional context beyond the title.

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 a no-parameter, no-output-schema tool, the description is minimally viable, but it omits useful context such as the relationship to the singular acknowledge tool and what state the firings must be in. An agent can invoke it correctly, but may not fully understand the consequences or when to prefer it.

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

Parameters4/5

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

The tool has zero parameters, and the schema coverage is trivially complete. There are no parameter semantics for the description to clarify, so a baseline score of 4 is appropriate.

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?

Tautological: description restates name/title.

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 tool versus alternatives such as acknowledge_alert_firing, dismiss_alert, or list_alert_firings_current_user. No exclusions or selection criteria are provided.

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

termix_alerts_create_alert_ruleCreate an alert ruleD

Create an alert rule

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
hostIdNoRestrict this rule to one host. Omit for all hosts.
enabledNo
channelsNoNotification channel ids to fire.
triggerTypeYes
thresholdValueNo0-100. Required by cpu/memory/disk_threshold triggers.
cooldownMinutesNo
thresholdDurationSecondsNo

TDQS

D1.8/5.0
Behavior2/5

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

Annotations already indicate this is not read-only, not idempotent, and not destructive, and the description simply repeats the fact that a rule is created. It adds no behavioral context such as whether repeated calls create duplicate rules, whether validation occurs, or what side effects firing channels may have.

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

Conciseness2/5

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

Although the description is short, this is under-specification rather than effective conciseness. For an 8-parameter creation tool, a single sentence that merely restates the tool's name does not earn its place as useful guidance.

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

Completeness1/5

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

The tool has 8 parameters, a required triggerType enum, conditional threshold requirements, and no output schema, yet the description provides none of the needed context. An agent cannot correctly determine how to construct a valid alert rule from this description plus the sparse schema.

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

Parameters1/5

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

Schema description coverage is only 38%, leaving most parameters (name, enabled, cooldownMinutes, thresholdDurationSeconds, triggerType semantics) undocumented. The description does nothing to compensate: it mentions no parameters, no required fields, and no relationships between triggerType and thresholdValue.

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?

Tautological: description restates name/title.

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?

The description provides no guidance on when to create an alert rule, what prerequisites exist, or which sibling tool should be used instead (e.g., update_alert_rule for modifying an existing rule). There is no context to help an agent choose this tool over alternatives.

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

termix_alerts_create_notification_channelCreate a notification channelD

Create a notification channel

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
typeYes
configYesShape depends on "type". webhook/discord: {"url": string}. ntfy: {"url": string, "topic": string}. A discord webhook URL must match https://discord.com/api/webhooks/... (or canary./ptb. / discordapp.com).
enabledNo

TDQS

D1.9/5.0
Behavior2/5

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

The description adds no behavioral detail beyond the annotations. Annotations already indicate this is a mutating, non-idempotent, non-destructive operation, but nothing is said about side effects, duplicate channel behavior, validation rules, or what the API returns after creation.

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

Conciseness2/5

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

The description is short, but brevity is under-specification, not effectiveness. The single sentence merely repeats the tool's title and provides no behavioral, usage, parameter, or alternative guidance.

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?

For a creation tool with nested config, an enum type, and no output schema, this description is severely incomplete. The agent is left to infer outcomes, error cases, idempotency implications, and return values entirely from schema and tool name.

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

Parameters1/5

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

Schema description coverage is only 25%, and the tool description contributes nothing about the parameters. The schema's config property does explain type-specific shapes, but that is structured-schema value, not description value; the tool description itself must compensate for the other undocumented parameters and does not.

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?

Tautological: description restates name/title.

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 choose this tool over other notification-channel operations such as updating a channel, listing channels, or sending a test notification. The word 'create' weakly implies use for creation, but no context, prerequisites, or alternatives are provided.

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

termix_alerts_dismiss_alertDismiss an alertB

Dismiss an alert. Marks an alert as dismissed for the authenticated user.

ParametersJSON Schema
NameRequiredDescriptionDefault
alertIdNo

TDQS

B3.2/5.0
Behavior3/5

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

The description adds the behavioral detail that the dismissal is scoped to the authenticated user, which goes slightly beyond the annotations. Annotations already indicate a non-readonly, non-destructive operation. No contradiction, but little extra beyond the user scoping.

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 short sentences with no filler. The key action is front-loaded and the clarification is brief. Every word earns its place.

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?

For a tool that mutates alert state and has sibling alternatives, the description leaves out critical context: what alertId refers to, how it relates to acknowledged alerts, and what the outcome looks like. An agent cannot reliably decide or execute without more guidance.

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?

The description does not explain the alertId parameter at all. With 0% schema description coverage, the agent must infer its meaning from the parameter name alone. This is insufficient for a parameter that is needed to identify the alert to dismiss.

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?

The description clearly states the verb 'dismiss' and the resource 'alert', and adds the scope 'for the authenticated user'. It is specific enough to convey the core action, though it does not explicitly contrast with the sibling 'acknowledge_alert_firing' tool.

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?

The description implies when to use the tool (when an alert should be dismissed) but gives no explicit guidance on alternatives or when not to use it. With sibling tools like 'acknowledge_alert_firing' doing similar state changes, the lack of differentiation is a gap.

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

termix_alerts_get_active_alertsGet active alertsA
Read-onlyIdempotent

Get active alerts. Fetches active alerts for the authenticated user, excluding those that have been dismissed.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the agent knows this is a safe read operation. The description adds the behavioral detail that alerts are scoped to the authenticated user and that dismissed alerts are omitted, which goes slightly beyond the annotations. However, it doesn't mention pagination, return format, or any side effects, but these are not critical for a simple read-only call.

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?

The description is brief and mostly front-loaded: the first sentence restates the title, while the second adds the valuable scope and exclusion details. It could be tightened by merging the two sentences into one, but it is still concise and free of fluff. Every sentence carries relevant information, even if the first is redundant.

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?

The description is complete enough for a simple zero-parameter read operation, but the absence of an output schema leaves some ambiguity. It does not clarify what an 'alert' is (e.g., an alert rule vs. an alert firing), even though sibling tools include termix_alerts_list_alert_firings_current_user and termix_alerts_list_alert_rules_current_user. For a tool that could return different data shapes, a brief mention of the output would increase completeness, but the current description is not severely lacking.

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

Parameters4/5

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

The input schema has zero parameters, so there is nothing to document beyond what the schema already provides. The description adds no parameter-specific meaning, but that is expected when there are no parameters. Per the rubric, a zero-parameter tool receives a baseline of 4, and there is no missing parameter information to compensate for.

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?

The description clearly states the action ('Fetches active alerts') and the resource ('for the authenticated user'), and explicitly excludes dismissed alerts, which distinguishes it from sibling tools like termix_alerts_get_dismissed_alerts. It goes beyond the title by specifying the user scope and the exclusion criterion, so an agent can immediately understand what this tool does and how it differs.

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?

The description provides clear context: this tool is for fetching active alerts for the current user, and it should not be used for dismissed alerts because they are explicitly excluded. It does not name the alternative tool (termix_alerts_get_dismissed_alerts) or give explicit when-not-to-use conditions, but the exclusion itself gives strong implicit routing.

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

termix_alerts_get_dismissed_alertsGet dismissed alertsA
Read-onlyIdempotent

Get dismissed alerts. Fetches a list of alerts that have been dismissed by the authenticated user.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description adds the behavioral detail that the list is scoped to the authenticated user's dismissals, which is not captured by the annotations or schema.

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?

The description is short and front-loaded, but the first sentence 'Get dismissed alerts' redundantly restates the tool title before the more informative second sentence. Still, the overall length is appropriate and free of unnecessary detail.

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?

For a parameterless read-only list tool, the description provides enough context about what is returned and for whom. It does not describe pagination or return format, but with no output schema and simple semantics, the missing details are minor.

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

Parameters4/5

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

The input schema has zero parameters, so there are no parameter semantics for the description to clarify. The baseline of 4 applies because no parameter documentation burden exists.

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?

The description uses a specific verb ('Fetches a list') and names the exact resource: alerts dismissed by the authenticated user. This clearly distinguishes it from sibling tools like termix_alerts_get_active_alerts, which target active rather than dismissed alerts.

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?

The description implies this tool should be used when the agent needs dismissed alerts, but it does not explicitly mention when to prefer this over related alert tools such as get_active_alerts or list_alert_firings_current_user. No exclusions or alternative routing are provided.

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

termix_alerts_list_alert_firings_current_userList alert firings for the current userB
Read-onlyIdempotent

List alert firings for the current user

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering safety. The description adds no new behavioral context beyond what the name implies (listing firings). It does not contradict annotations, but also provides little extra transparency.

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?

The description is a single, concise sentence that exactly restates the tool's purpose without any fluff. It is front-loaded and efficient, as appropriate for a zero-parameter read-only tool.

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?

The tool is simple with no parameters and no output schema. The description is sufficiently complete for an agent to know what it returns (list of firings) and that it is safe to call. It could benefit from noting the default scope or time range, but for a zero-param tool, this is adequate.

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

Parameters4/5

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

There are zero parameters, so the description need not explain any. The description effectively says 'no input needed, just call it', which is clear. The schema coverage is 100% (trivially, as there are no properties), so the baseline for no parameters is 4.

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?

Tautological: description restates name/title.

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?

The description implies usage for retrieving alert firings for the current user, but does not explicitly mention when to use this over alternatives like 'get_active_alerts' or 'get_dismissed_alerts'. No exclusions or alternative routing are given, leaving the agent to infer from the name.

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

termix_alerts_list_alert_rules_current_userList alert rules for the current userC
Read-onlyIdempotent

List alert rules for the current user

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

C2.9/5.0
Behavior3/5

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

The annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is fully covered. The description adds no additional behavioral context (e.g., pagination, ordering, or limits), but for a simple parameterless list operation this is acceptable.

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?

The description is a single concise sentence that directly states the purpose. It is not verbose, but it also doesn't provide any extra useful structure or context beyond the title, making it efficient but minimal.

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?

For a parameterless, read-only list operation with annotations covering safety, the description sufficiently explains the tool's function. It doesn't mention return format or limits, but given the simplicity and available annotations, it is complete enough for correct usage.

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

Parameters4/5

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

The tool has zero parameters, so the schema is trivially complete (100% coverage). The description does not need to explain any parameters, and it doesn't; the baseline of 4 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?

Tautological: description restates name/title.

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?

No guidance is provided on when to use this tool versus alternatives such as list_alert_firings or get_active_alerts. There is no mention of filtering, scope, or context that would help an agent choose this tool over its siblings.

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

termix_alerts_list_notification_channels_current_userList notification channels for the current userB
Read-onlyIdempotent

List notification channels for the current user

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.1/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is clear. The description adds only the 'current user' scoping and no additional behavioral context such as pagination, ordering, or return shape.

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?

The description is a single efficient sentence with no filler or redundant clauses. It loses a point only because it exactly repeats the title without adding any supplementary structuring information.

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?

For a zero-parameter, read-only list operation, the description is sufficient for an agent to invoke it correctly. The lack of an output schema is not a major gap here because 'list' clearly implies returning the current user's notification channels, and annotations cover the behavioral safety.

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

Parameters4/5

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

The tool has zero parameters and the schema properties are empty, so there is nothing for the description to clarify. This matches the baseline of 4 for parameter-less tools.

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?

Tautological: description restates name/title.

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?

The intended use is implied by the phrase 'for the current user' and by the read-only listing verb, but there is no explicit guidance about when to prefer this over related alert-listing tools such as termix_alerts_list_alert_firings_current_user. No exclusions, prerequisites, or alternative conditions are stated.

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

termix_alerts_send_test_notificationSend a test notificationC

Send a test notification

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

C2.4/5.0
Behavior2/5

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

The description adds no behavioral context beyond what the annotations already convey. It does not explain what sending a test notification does to the system, whether it requires configured channels, or what side effects the recipient may observe; with destructiveHint=false and readOnlyHint=false, an agent still cannot infer the actual action from the description alone.

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

Conciseness2/5

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

The single sentence is short and front-loaded, but it earns no place because it only mirrors the title. This is under-specification rather than effective conciseness.

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?

The tool is low-complexity with no inputs and no output schema, so a very short description can be viable. However, the description leaves ambiguous what notification is sent, to which destination, and under what conditions, which are clear gaps for an agent selecting among many alert-related tools.

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

Parameters4/5

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

The tool has zero parameters and 100% schema description coverage, so the baseline is 4. There is no parameter-level information the description needs to compensate for.

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?

Tautological: description restates name/title.

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 about when to use this tool instead of the many sibling alert tools (e.g., create_notification_channel, list_notification_channels, create_alert_rule). The intended context is only weakly implied by the tool name, not by the description.

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

termix_alerts_update_alert_ruleUpdate an alert ruleD
Idempotent

Update an alert rule

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNo
hostIdNoRestrict this rule to one host. Omit for all hosts.
enabledNo
channelsNoNotification channel ids to fire.
triggerTypeNo
thresholdValueNo0-100. Required by cpu/memory/disk_threshold triggers.
cooldownMinutesNo
thresholdDurationSecondsNo

TDQS

D1.8/5.0
Behavior2/5

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

Annotations already convey readOnlyHint=false, idempotentHint=true, and destructiveHint=false, and the description adds no additional behavioral facts. It does not state whether this is a partial update or full replacement, what effects occur on existing notifications, or what happens if the rule is not found.

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

Conciseness2/5

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

The description is brief but not usefully concise; it is under-specified. A single tautological sentence earns less credit than a structured description that front-loads the identifying parameter and update semantics.

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

Completeness1/5

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

This is an 8-parameter mutation tool with no output schema and no explicit rule identifier parameter, yet the description explains none of the selection or update semantics. An agent cannot reliably know how to target an alert rule or which fields are required for trigger-specific updates.

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

Parameters1/5

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

Schema description coverage is only 38%, leaving five of eight parameters (name, enabled, triggerType, cooldownMinutes, thresholdDurationSeconds) undocumented. The description contributes no parameter information at all and fails to compensate for the gap, including the ambiguous meaning of cooldownMinutes vs thresholdDurationSeconds.

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?

Tautological: description restates name/title.

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?

No guidance is provided for when to update an alert rule versus creating one, or what preconditions apply. The sibling create_alert_rule is not referenced, and there is no mention that a rule must already exist or how it is selected.

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

termix_alerts_update_notification_channelUpdate a notification channelC
Idempotent

Update a notification channel

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNo
typeNo
configNoShape depends on "type". webhook/discord: {"url": string}. ntfy: {"url": string, "topic": string}. A discord webhook URL must match https://discord.com/api/webhooks/... (or canary./ptb. / discordapp.com).
enabledNo

TDQS

C2.1/5.0
Behavior2/5

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

Annotations already indicate this is a mutating but non-destructive, idempotent operation. The description adds no behavioral context beyond the word 'Update' and does not explain partial-update semantics, target-channel identification, or side effects.

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?

The description is a single sentence with no wasted words, making it concise and front-loaded. However, it is essentially a restatement of the title, so it provides little structural substance beyond brevity.

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?

With no output schema, low schema coverage, a nested config object, and a missing channel identifier in the parameters, the description is not adequate for reliable invocation. An agent cannot determine which notification channel is updated, whether all fields are required, or what a successful update returns.

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

Parameters1/5

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

Schema description coverage is only 25%, and the description adds nothing about parameters. It does not explain how a channel is identified, what 'enabled' means, or how type/config interact. The config schema covers its own shape, but the description offers no compensating detail.

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?

Tautological: description restates name/title.

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 tool versus alternatives. It does not say, for example, to use this for existing channels or to use create_notification_channel for new ones. The agent is left to infer usage from the name alone.

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

termix_audit_export_audit_logsExport audit logsA
Read-onlyIdempotent

Export audit logs. Streams the full filtered result set as CSV or NDJSON. Accepts the same filters as GET /audit-logs. Admin only. The export is itself audited.

ParametersJSON Schema
NameRequiredDescriptionDefault
actionNo
formatNo
userIdNo
endDateNo
successNo
startDateNo
resourceTypeNo

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and idempotentHint=true, so the read-only nature is covered. The description adds 'Admin only' and 'The export is itself audited', providing extra behavioral context beyond annotations. No contradictions.

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 concise sentences with the primary action front-loaded. Every sentence adds value: purpose, format, filters, and admin/audit context. No wasted words.

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?

Given 7 parameters with no schema descriptions and no output schema, the description is incomplete. It references 'same filters' without enumerating them, and doesn't describe pagination, limits, or response details. It's adequate for a simple export but lacks depth for a complex 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 coverage is 0% and there are 7 parameters, yet the description only says 'Accepts the same filters as GET /audit-logs'. This is vague and requires the agent to infer parameter meanings from the endpoint reference. It does not explain action, userId, date ranges, or success filters, leaving the agent under-informed.

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?

The description clearly states the tool exports audit logs, specifies the output formats (CSV/NDJSON), and indicates it streams the filtered result set. It distinguishes itself from sibling tools like termix_audit_list_audit_logs by focusing on export rather than listing, and from other audit tools.

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?

It states 'Accepts the same filters as GET /audit-logs' which implies this is the export counterpart to the list operation, and explicitly mentions 'Admin only' as a usage constraint. It does not explicitly contrast with termix_audit_list_audit_logs, but the context is clear enough.

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

termix_audit_list_audit_logsList audit logsA
Read-onlyIdempotent

List audit logs. Returns paginated, filterable audit log entries. Admin only.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
limitNo
actionNo
userIdNo
endDateNo
successNo
startDateNo
resourceTypeNo

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already establish read-only, idempotent, non-destructive behavior, so the description only needs to add context. It adds 'Admin only' as an authorization requirement and notes pagination/filtering, which are useful beyond the schema. It doesn't detail response format or pagination limits, but the annotation coverage lowers the burden.

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 short sentences front-load the core purpose ('List audit logs') and then add only high-value behavior and access info. No wasted words or redundancy with the title.

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?

Annotations cover safety, and 'Admin only' covers authorization, but the 8 optional parameters and pagination/filter semantics are left undocumented while no output schema exists. The description is adequate for selecting the tool but not fully sufficient for correctly invoking it with meaningful filters.

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?

With 0% schema description coverage, the description must compensate, but it only says entries are 'paginated, filterable' without explaining any of the 8 parameters. No meaning is added for page, limit, action, userId, date ranges, success, or resourceType.

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?

The description uses the specific verb 'List' with the resource 'audit log entries', making its scope unambiguous. Adding 'paginated, filterable' differentiates it from sibling tools like list_distinct_audit_log_action_types and export_audit_logs.

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?

The 'Admin only' note provides a clear access context, and the pagination/filter statement implies use when full audit log entries are needed. However, it does not name sibling alternatives or state when to prefer export or distinct action-type listing, so guidance is more implied than explicit.

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

termix_audit_list_distinct_audit_log_action_typesList distinct audit log action typesA
Read-onlyIdempotent

List distinct audit log action types. Returns all distinct action values in the audit log for filter dropdowns. Admin only.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.7/5.0
Behavior5/5

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

Annotations already declare read-only, idempotent, and non-destructive behavior, and the description adds an important auth requirement ('Admin only') not present in the annotations. It also states exactly what the tool returns, providing meaningful behavioral context beyond structured metadata.

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?

The description is two concise sentences with the primary action front-loaded, followed by a use-case clause and the access restriction. Every sentence contributes information without redundancy.

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?

Given the tool's simplicity, zero parameters, and annotations that cover safety, the description fully equips an agent: it names the action, the output purpose, the admin requirement, and clearly implies read-only behavior. No critical information is missing.

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

Parameters4/5

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

The tool has zero parameters, so parameter semantics are trivially satisfied. The baseline of 4 applies because there are no parameters to explain and the description does not need to compensate for any schema gaps.

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?

The description clearly states the tool lists distinct audit log action types, naming the specific resource and verbs. It further clarifies that it returns distinct action values for filter dropdowns, distinguishing it from sibling audit-list/export tools.

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?

The description provides clear usage context by stating the result is intended for filter dropdowns, which implies when an agent would need this tool rather than the full audit log tools. However, it does not explicitly name alternatives or provide when-not-to-use guidance, so it stops short of a 5.

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

termix_automations_create_automationCreate an automationA

Create an automation. Validates the trigger and every step before storing the definition. A schedule trigger also registers its next due time.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNo
definitionNo

TDQS

A3.7/5.0
Behavior4/5

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

The description adds useful behavioral detail beyond the annotations: validation happens before persistence, and schedule triggers cause an additional side effect of registering the next due time. It does not contradict the annotations, and it clarifies the non-read-only, non-idempotent nature of the operation.

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 sentences, no filler. The opening sentence states the primary purpose, and the second adds high-value behavioral information about validation and schedule-trigger side effects. Every sentence earns its place.

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?

This is a potentially complex creation operation with no output schema and zero parameter descriptions, yet the description does not explain the expected definition shape, required fields, or return value. An agent would struggle to construct a valid call from this definition alone.

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%, so the description needs to explain the parameters, but it barely does. It hints that 'definition' contains a trigger and steps, but it never explains the structure of the definition object, whether 'name' is required, or what valid trigger/step formats look like.

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?

The description states a specific action ('Create an automation') and adds meaningful scope: it validates the trigger and every step before storing, and it highlights schedule-trigger behavior. This differentiates it from sibling tools like update_automation, run_automation_now, and trigger_automation_external_system, which concern modification or execution rather than creation.

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?

The description clearly implies this tool is for creating new automations, but it does not explicitly say when to use this tool versus update_automation or run_automation_now. There is no mention of prerequisites, when a schedule trigger is appropriate, or what distinguishes this from the update path.

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

termix_automations_fetch_single_automationFetch a single automationC
Read-onlyIdempotent

Fetch a single automation

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

TDQS

C2.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds no behavioral context beyond the annotations, such as what happens if the id does not exist or whether the response includes full automation details. It does not contradict the annotations.

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?

The description is extremely short and front-loaded, but it is essentially a restatement of the title. It earns no credit for added information, though it is not verbose or poorly structured.

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?

For a single-parameter read tool with strong annotations, the description is minimally adequate, but it lacks any context about the return value, error behavior, or how this differs from listing automations. Given the large sibling set and no output schema, a bit more context would be needed for an agent to invoke it confidently.

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 0%, but there is only one parameter, 'id', whose name and integer type are self-explanatory. The description does not add meaning beyond the schema, but the parameter is simple enough that the schema carries the meaning adequately. Baseline 3 is appropriate.

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?

Tautological: description restates name/title.

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?

No guidance is given on when to use this tool versus alternatives. The sibling list includes several automation-related tools (list, create, update, run, trigger), but the description does not mention any of them or provide selection criteria.

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

termix_automations_list_automation_runsList automation runsD
Read-onlyIdempotent

List automation runs

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
automationIdNo

TDQS

D1.9/5.0
Behavior2/5

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

Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint=false, so the description adds no behavioral insight beyond those. It does not disclose ordering, pagination, default limits, or whether automationId filters the results.

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

Conciseness2/5

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

The description is short and has no fluff, but it is merely a restatement of the title. It is under-specified rather than appropriately concise, adding no value beyond what the tool name already conveys.

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?

For a list operation with optional parameters and no output schema, the description should clarify filter semantics, defaults, and result scope. It does none of these, leaving the agent to guess important operational details.

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

Parameters1/5

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

Schema description coverage is 0%, and the description provides no explanation of the 'limit' or 'automationId' parameters. The agent must infer their meaning entirely from parameter names, which is insufficient for correct invocation.

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?

Tautological: description restates name/title.

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 tool over alternatives, no mention of the automationId parameter's role, and no exclusions or prerequisites. The description only restates the title without providing context.

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

termix_automations_list_current_users_automationsList the current user's automationsA
Read-onlyIdempotent

List the current user's automations. Returns every automation the caller owns, with its parsed definition and linked notification channels.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already cover the read-only, idempotent, non-destructive safety profile, so the description's job is to add context beyond that. It does so by disclosing the response contents: parsed automation definitions and linked notification channels. It does not mention pagination or ordering, but for a zero-parameter list this is a minor gap.

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 short sentences with no wasted words. The verb and resource are front-loaded, and the second sentence adds meaningfully useful return-value detail rather than repeating the title.

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?

For a zero-parameter, read-only list operation with no output schema, the description is complete: it says what will be listed, whose data is returned, and what the returned items contain. Nothing needed to invoke the tool correctly is missing.

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

Parameters4/5

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

The tool accepts zero parameters and schema description coverage is 100%, so the description has no parameter burden. Per the 0-parameter baseline, no additional parameter guidance is needed.

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?

The description states a specific action ('List'), a clear resource ('the current user's automations'), and a precise scope ('every automation the caller owns'). It also differentiates from siblings like fetch_single_automation and list_automation_runs by describing the full owned set rather than a single automation or its runs.

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?

The description gives clear context: use this when you need to enumerate all automations owned by the caller, including their parsed definitions and linked notification channels. It does not explicitly name alternatives or exclusions, but the list-versus-single/runs distinction is clear enough from the wording.

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

termix_automations_run_automation_nowRun an automation nowA

Run an automation now. Runs immediately, as the automation's owner. Pass dryRun to record what each step would do without touching anything outside Termix.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
dryRunNo

TDQS

A3.5/5.0
Behavior4/5

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

Annotations declare readOnlyHint=false, idempotentHint=false, destructiveHint=false. The description adds real value by disclosing the dryRun behavior—that a real run 'touches things outside Termix' while dryRun only records—and the owner-identity execution context. This goes beyond what annotations convey, though it stops short of detailing side-effect scope or reversibility.

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 short sentences, front-loaded with the primary purpose. Each sentence earns its place: purpose, execution context, and the critical dryRun caveat. No redundancy or filler.

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 a 2-param side-effecting tool with annotations and no output schema, the description covers the essential purpose, owner execution context, and dryRun safety valve. Gaps remain: the id parameter's meaning and what success/failure responses look like, though the latter is mitigated by the absence of an output schema.

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 0%, so the description carries the burden for parameter meaning. It explains dryRun well ('record what each step would do without touching anything outside Termix'), but the required id parameter is left completely unexplained—an agent must infer it is the automation identifier from the tool name.

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 clear verb+resource (run an automation) with a specific execution context ('Runs immediately, as the automation's owner'). It implicitly distinguishes from the trigger_automation_external_system sibling by noting owner-context execution, but doesn't name the sibling or make the differentiation explicit.

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?

No explicit when-to-use guidance or exclusionary language. The 'Runs immediately' phrasing hints at an on-demand use case versus scheduling or external triggering, but the description never names an alternative or states when to prefer this over termix_automations_trigger_automation_external_system or list/step tools.

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

termix_automations_step_step_results_runStep-by-step results for a runC
Read-onlyIdempotent

Step-by-step results for a run

ParametersJSON Schema
NameRequiredDescriptionDefault
runIdYes

TDQS

C2.2/5.0
Behavior3/5

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

Annotations declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is already clear. The description adds no behavioral context beyond the name, but it does not contradict the annotations. With annotations covering the read-only nature, a 3 is appropriate because the description adds no extra behavioral detail but is not misleading.

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

Conciseness2/5

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

The description is extremely short, but this is under-specification rather than effective conciseness. It front-loads nothing useful and fails to earn its place because it merely restates the title. A single sentence can be concise and informative; this one is concise and empty.

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?

For a tool with one required parameter, no output schema, and no parameter documentation, the description is inadequate. The agent cannot know what 'step-by-step results' contains, how the runId is used, or how this relates to the automation run lifecycle. The read-only annotations help, but the description leaves too much to inference.

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%, so the description must compensate for the undocumented runId parameter. It does not. The description never mentions runId, what it identifies, where to obtain it, or any constraints. The schema only provides the type and range, leaving the agent to guess that runId refers to an automation run identifier.

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?

Tautological: description restates name/title.

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?

No guidance is given on when to use this tool versus alternatives. The sibling list includes several automation-related tools (list_automation_runs, fetch_single_automation, run_automation_now), but the description does not clarify whether this tool is for a specific run's steps, a historical run, or a live run, nor does it mention any prerequisites such as having a runId from another call.

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

termix_automations_trigger_automation_external_systemTrigger an automation from an external systemA

Trigger an automation from an external system. Unauthenticated by design; the 32-byte token in the path is the credential and is compared against a stored hash in constant time.

ParametersJSON Schema
NameRequiredDescriptionDefault
tokenYes

TDQS

A3.8/5.0
Behavior4/5

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

The description adds meaningful behavior beyond the annotations: the endpoint is unauthenticated by design, the token in the path is the credential, and comparisons happen in constant time. It does not describe side effects or response behavior, but it substantially clarifies the security model.

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 sentences, each earning its place: one defines purpose and scope, the other defines the security model. The description is front-loaded and contains no filler or redundancy.

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 a one-parameter webhook-style trigger, the description covers purpose, external usage, and authentication. However, it omits the expected response, error behavior, token origin, and explicit differentiation from the internal trigger alternative, leaving some operational context unclear.

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

Parameters4/5

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

The schema provides zero description for the token parameter, so the description carries the full burden. It adds critical semantics: the token is 32 bytes, lives in the path, acts as the credential, and is compared against a stored hash. It does not explain how the token is obtained, but it makes the opaque parameter actionable.

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?

The description states a specific action ('Trigger an automation') and a clear scope ('from an external system'). It is distinct enough from the surrounding automation-management siblings, though it does not explicitly differentiate itself from run_automation_now.

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?

The description conveys when this tool is appropriate: external callers, no authentication, token as credential. However, it never names alternatives or states when not to use it, so the usage guidance is implied rather than explicit.

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

termix_automations_update_automationUpdate an automationD
Idempotent

Update an automation

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
nameNo
enabledNo
channelsNoNotification channel ids.
definitionNoThe trigger/condition/action definition. Shape not fully reverse-engineered here - fetch the existing automation first (GET /automations/{id}) and modify its definition object rather than constructing one from scratch.
descriptionNo
concurrencyPolicyNo

TDQS

D1.8/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=false and idempotentHint=true, and the description adds no behavioral context beyond the word 'update'. It does not disclose whether omitted fields are reset, whether deletes can occur, or what the response contains.

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

Conciseness2/5

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

The description is short, but it is under-specified rather than genuinely concise. Every word merely echoes the title, so the brevity does not add value.

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

Completeness1/5

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

For a mutation with 7 parameters, a nested 'definition' object, no output schema, and an open-world hint, a three-word description is inadequate. It omits the recommended fetch-then-modify workflow, partial update semantics, and the need for an existing automation id.

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

Parameters1/5

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

Only 2 of 7 parameters have schema descriptions, leaving most parameters undocumented, and the description does nothing to compensate. It adds no meaning about id, name, enabled, channels, definition, description, or concurrencyPolicy.

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?

Tautological: description restates name/title.

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?

The description provides no guidance on when to use this tool versus alternatives. It does not mention prerequisites such as fetching the existing automation first, whether the caller must own the automation, or when to use create_automation or run_automation_now instead.

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

termix_credentials_apply_credential_hostApply a credential to a hostC

Apply a credential to a host. Applies a credential to an SSH host for quick application.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
hostIdYes

TDQS

C2.4/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=false and destructiveHint=false, so the agent knows this mutates state but is not destructive. The description adds nothing about side effects—e.g., whether it overwrites existing credentials, requires specific permissions, or affects host connectivity. It does not contradict annotations but fails to add meaningful behavioral context.

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?

The description is short but contains redundancy: 'Apply a credential to a host. Applies a credential to an SSH host...' The same idea is stated twice. It could be reduced to a single sentence without losing content, but it is not bloated with unnecessary detail. The structure is acceptable but not optimally efficient.

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?

For a mutation tool with no output schema, no parameter documentation, and no usage guidance, the description is insufficient. It does not explain the result of applying a credential, whether it is reversible, or how it relates to similar tools. Given the complexity of the credential/host domain, an agent would likely need more context to use this correctly.

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

Parameters1/5

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

Schema coverage is 0%—the schema has no descriptions for 'id' or 'hostId'. The description provides no explanation of what these parameters represent (e.g., credential ID and host ID). With two required parameters and zero documentation, the agent cannot infer their meaning from the description alone, making this a critical 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?

The description states a clear action (apply a credential) and a target (a host), so the core purpose is discernible. However, it is redundant ('Apply a credential to a host. Applies a credential to an SSH host...') and does not differentiate from similar sibling tools like deploy_ssh_key_host, which also attaches a credential to a host. It avoids tautology but adds little beyond the title.

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?

No guidance is given on when to use this tool versus alternatives. The phrase 'for quick application' is vague and does not clarify when this is preferred over deploy_ssh_key_host, create_new_credential, or other credential-management tools. No exclusions or conditions are stated.

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

termix_credentials_create_new_credentialCreate a new credentialC

Create a new credential. Creates a new SSH credential for the authenticated user.

ParametersJSON Schema
NameRequiredDescriptionDefault
keyNo
nameNo
tagsNo
folderNo
keyTypeNo
authTypeNo
passwordNo
usernameNo
descriptionNo
keyPasswordNo

TDQS

C2.7/5.0
Behavior3/5

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

Annotations already establish that this is mutating (readOnlyHint=false) and non-idempotent (idempotentHint=false). The description adds the useful scoping detail that the credential is created for the authenticated user, but it does not disclose validation, persistence, or response behavior. There is no contradiction with annotations.

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?

The description is short and readable, but the first sentence ('Create a new credential') simply repeats the title and name, while the second sentence carries the real content. It is not bloated, but one sentence does not earn its place.

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?

Given 10 parameters, no output schema, and zero parameter descriptions, this definition is too thin to guide correct invocation. It does not explain required field combinations or return behavior. Annotations reduce the need for safety disclosure but not for invocation detail.

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

Parameters1/5

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

The input schema has 10 parameters with 0% description coverage and no required fields. The description mentions none of them, leaving the agent to infer the relationship between authType, key, keyPassword, and password, and which fields are needed for password vs key auth. This fails to compensate for the schema 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?

The description uses a concrete verb ('Create') and names the resource ('new SSH credential') plus the owner scope ('for the authenticated user'). It is clearly a creation operation, but it never explicitly references sibling tools like update_credential or duplicate_credential, so differentiation is implicit rather than explicit.

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?

No when-to-use guidance is provided. It does not say to prefer this over update_credential for existing credentials, nor does it mention prerequisites or alternatives. The only context is that the credential belongs to the authenticated user, which does not help select among the many sibling credential tools.

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

termix_credentials_deploy_ssh_key_hostDeploy SSH key to a hostC

Deploy SSH key to a host. Deploys an SSH public key to a target host's authorized_keys file.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
targetHostIdNo

TDQS

C2.9/5.0
Behavior3/5

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

Annotations already convey that this operation is a mutation (readOnlyHint=false, idempotentHint=false), and the description adds that the write targets the host's authorized_keys file. However, it does not disclose important behavioral details such as whether the key is appended or overwrites existing keys, or whether it may require elevated permissions on the host.

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?

The description is short and front-loaded, with the main action in the first clause. The minor redundancy is that the first sentence nearly repeats the title, though it remains concise and readable.

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?

For a state-changing tool with two undocumented parameters and no output schema, the description is too thin. It omits parameter semantics, behavior on repeated runs, authentication expectations, and what a successful deployment looks like.

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 description does not explain what 'id' refers to or how it relates to 'targetHostId'. It only loosely implies the target host via 'target host' but leaves the primary 'id' parameter ambiguous, which is insufficient for correct invocation.

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?

The description clearly states a specific verb and resource: it deploys an SSH public key to a target host's authorized_keys file. This makes the tool's purpose obvious, though it does not explicitly distinguish itself from sibling tools like termix_credentials_apply_credential_host.

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 tool versus alternatives, nor any exclusions or prerequisites. An agent gets only the verb 'deploy' to infer intent, with no context about when credential creation or applying a credential to a host would be more appropriate.

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

termix_credentials_detect_ssh_key_typeDetect SSH key typeB

Detect SSH key type. Detects the type of an SSH private key.

ParametersJSON Schema
NameRequiredDescriptionDefault
privateKeyNo
keyPasswordNo

TDQS

B3.1/5.0
Behavior2/5

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

Annotations already include `readOnlyHint: false`, `openWorldHint: true`, and `idempotentHint: false`, and the description adds no side-effect, locality, authentication, or error behavior beyond the word 'detects'. It does not clarify whether the key is read locally, whether decryption is attempted, or which key formats are supported.

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?

The description is short and front-loaded, but the first sentence ('Detect SSH key type') largely repeats the title, while the second sentence carries the real disambiguation ('private key'). It is acceptable but redundant; the two sentences could be merged into one tight statement.

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?

With no output schema and no parameter descriptions, the definition leaves an agent without the return format (e.g., a key-type string) or behavior for invalid/encrypted keys. Though the tool is simple, the description fails to clarify the role of `keyPassword` or any error semantics, making it incomplete for reliable invocation.

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%, so the description must compensate for both parameters. It only restates the `privateKey` concept and says nothing about `keyPassword`, its optionality, or its role in decrypting encrypted keys. The parameter names are self-explanatory at a basic level, but the description adds little beyond the schema.

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?

The description states a specific action ('detect') on a specific resource ('SSH private key'), which immediately distinguishes it from the sibling `termix_credentials_detect_ssh_public_key_type` and from validation/generation tools. It clearly conveys the intended operation and output.

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?

The description implies the usage context (determine a private key's type), but it gives no explicit when-to-use or when-not-to-use guidance. It does not mention the closely related sibling for public keys or `validate_ssh_key_pair`, leaving the agent to infer boundaries from names alone.

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

termix_credentials_detect_ssh_public_key_typeDetect SSH public key typeC

Detect SSH public key type. Detects the type of an SSH public key.

ParametersJSON Schema
NameRequiredDescriptionDefault
publicKeyNo

TDQS

C2.4/5.0
Behavior2/5

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

Annotations provide readOnlyHint=false, idempotentHint=false, and destructiveHint=false, but the description adds no behavioral context beyond the bare action. It does not disclose what the function returns, whether it accepts only public keys or also private keys, or any edge cases. The description neither contradicts the annotations nor enriches them.

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?

The description is extremely short, which is efficient, but the second sentence is a near-verbatim repetition of the first. It earns no credit for conciseness because it wastes a sentence saying the same thing. A single sentence with actual content would be better.

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?

For a single-parameter utility with no output schema, the description should explain what the tool does with the key and what the result looks like. It does neither. The presence of a sibling with a similar name (detect_ssh_key_type) makes the lack of differentiation a real completeness gap.

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%, so the description must compensate for the undocumented 'publicKey' parameter. It does not. The description merely repeats the parameter name in prose ('Detects the type of an SSH public key') without explaining the expected format, whether the key should include the 'ssh-rsa' prefix, or what output the caller should expect.

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

Purpose3/5

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

The description states a clear verb and resource: 'Detect SSH public key type.' However, it is largely tautological, repeating the tool name and title almost verbatim. It does not distinguish itself from the sibling termix_credentials_detect_ssh_key_type, which likely performs a similar detection function.

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?

No guidance is provided on when to use this tool versus alternatives. The sibling termix_credentials_detect_ssh_key_type exists and could plausibly be the correct choice for detecting key types, but the description does not clarify the difference or specify when to choose one over the other.

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

termix_credentials_duplicate_credentialDuplicate a credentialA

Duplicate a credential. Creates a new credential from an existing one, optionally overriding fields (e.g. password), leaving the original credential untouched.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
keyNo
nameNo
passwordNo
usernameNo
keyPasswordNo

TDQS

A4/5.0
Behavior4/5

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

Annotations already indicate readOnlyHint=false and destructiveHint=false, so the write and non-destructive nature is known. The description adds behavioral context: it creates a new credential, leaving the original untouched, and allows overriding fields. It aligns with annotations and adds the 'untouched' guarantee, providing value beyond the structured data.

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?

The description is two sentences with no filler. It front-loads the core action ('Duplicate a credential') and provides essential detail in the second sentence. Every word earns its place, making it concise and well-structured.

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?

Given six parameters and no output schema, the description is sparse. It does not mention what the tool returns (e.g., the new credential object or an ID), nor any permission requirements or potential errors. The operation is simple, but for a complete picture an agent would benefit from at least a hint about the return value. This gap brings completeness down.

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%, so the description must compensate. It mentions 'optionally overriding fields (e.g. password)' but only gives password as an example. It does not explain key, name, username, or keyPassword, which remain ambiguous. An agent cannot fully understand which fields are overridable or what those parameters mean, making parameter semantics weak.

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?

The description clearly states the verb 'Duplicate' and the resource 'credential', and elaborates that it 'Creates a new credential from an existing one', with optional field overrides. This distinguishes it from sibling tools like create_new_credential (creates from scratch) and update_credential (modifies existing). The scope is precise.

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?

The description implies when to use (to copy an existing credential with possible overrides) and explicitly notes 'leaving the original credential untouched', which differentiates from update. However, it does not explicitly state alternatives or when not to use (e.g., when you need a fresh credential, use create_new_credential). It provides clear context but no explicit exclusions.

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

termix_credentials_generate_public_key_private_keyGenerate public key from private keyD

Generate public key from private key. Generates a public key from a given private key.

ParametersJSON Schema
NameRequiredDescriptionDefault
privateKeyNo
keyPasswordNo

TDQS

D1.9/5.0
Behavior2/5

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

The annotations indicate readOnlyHint=false, meaning this operation may have side effects, and idempotentHint=false, so repeated calls may produce different results. The description does not disclose any behavioral traits beyond the basic operation, such as whether it writes to storage, requires specific permissions, or has side effects. It does not contradict the annotations, but it also does not add value beyond them. Given that annotations already hint at non-read-only behavior, the description should provide context but does not.

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?

The description is short and front-loaded with the core purpose, but it is also redundant. The first sentence and the second sentence say essentially the same thing. It is concise in terms of length, but the repetition wastes the opportunity to add useful detail. It is not egregiously long, but it could be improved by replacing the second sentence with additional information.

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

Completeness1/5

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

The tool performs a cryptographic operation with two parameters, one of which (keyPassword) is not described at all. There is no output schema, so the description should explain what the tool returns (e.g., the public key in a specific format) and any error conditions (e.g., invalid private key, wrong password). The description is severely incomplete for a tool that requires careful parameter handling. An agent would likely misuse this tool without additional guidance.

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

Parameters1/5

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

The schema description coverage is 0% (the schema has no descriptions for parameters). The description mentions 'private key' but does not explain the parameters in detail. Specifically, the 'privateKey' parameter's format (e.g., PEM, OpenSSH) is not specified, and the 'keyPassword' parameter is not mentioned at all, leaving its role unclear (e.g., whether it is required for encrypted keys). With 0% schema coverage, the description must compensate but fails to do so, leaving the agent without essential semantics for two parameters.

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 restates the title almost verbatim: 'Generate public key from private key. Generates a public key from a given private key.' It does not add any new information about the tool's purpose beyond what the title already conveys. It is not a complete tautology, as it does mention 'from a given private key', but it lacks specificity about any additional context, such as the key types or formats involved.

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?

The description provides no guidance on when to use this tool versus any alternatives. Among the sibling tools, there are related credentials tools such as detect_ssh_key_type and validate_ssh_key_pair, but the description does not mention them or any conditions for choosing this tool. The description implies it is used for generating a public key, but it does not clarify scenarios like when to use this vs. detect_ssh_key_type or validate_ssh_key_pair.

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

termix_credentials_get_all_credentialsGet all credentialsA
Read-onlyIdempotent

Get all credentials. Retrieves all SSH credentials for the authenticated user.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.9/5.0
Behavior3/5

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

The annotations already declare readOnlyHint, idempotentHint, and non-destructive behavior Mendot. The description adds 'for the authenticated user', which clarifies data scope, but does not disclose other behavioral details. No contradiction with annotations.

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?

Two short sentences, with the first serving as a preview and the second adding the key scoping detail. Slight redundancy with the title, but overall efficient and appropriately sized.

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?

For a zero-parameter read-only operation, this definition covers action, resource, scope, and outcome (retrieves all SSH credentials). No output schema exists, but the description communicates the expected result well enough.

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

Parameters4/5

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

The input schema has zero parameters and schema coverage is 100%, so there is nothing for the description to add about parameters. The description's reference to 'all SSH credentials' is sufficient for this zero-parameter list operation.

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?

Description uses a specific verb ('Get') and resource ('all SSH credentials'), explicitly scoped to 'the authenticated user'. The 'all' scope clearly distinguishes it from sibling termix_credentials_get_specific_credential.

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?

The description states what it does but does not explicitly contrast with alternatives such as get_specific_credential or get_credential_folders. The appropriate usage is implied by the word 'all', but no when-not-to-use guidance is provided.

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

termix_credentials_get_credential_foldersGet credential foldersA
Read-onlyIdempotent

Get credential folders. Retrieves all unique credential folders for the authenticated user.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint. The description adds minimal context—retrieves folders for the authenticated user—but does not elaborate on pagination, ordering, or security scoping. With annotations covering safety, this is acceptable but not rich.

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?

The description is very short, two sentences, with no filler. It is front-loaded with the main verb, but repeats 'credential folders' in both sentences, which is slightly redundant. Still, it earns its place.

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 a simple read-only retrieval with no parameters and no output schema, the description is sufficient. It doesn't specify the return format, but that's not critical for a list operation. However, it doesn't mention any authentication context beyond 'authenticated user', which is already implied by the system. Overall, it's adequate.

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

Parameters4/5

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

There are zero parameters, so the description doesn't need to explain parameters. The schema is empty, and the description correctly focuses on the operation. Baseline 4 is appropriate for parameterless tools.

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?

The description states the tool retrieves credential folders for the authenticated user, with a specific verb and resource. It is clear and distinguishes from sibling tools like get_all_credentials, though it doesn't explicitly differentiate among the credential-related siblings.

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?

The description implies its use for retrieving folders, but does not explicitly state when to use this tool versus get_all_credentials or other credential tools. There is no mention of alternatives or exclusions, but the context is reasonably clear given the tool name.

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

termix_credentials_get_hosts_using_credentialGet hosts using a credentialC
Read-onlyIdempotent

Get hosts using a credential. Retrieves a list of hosts that are using a specific credential.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

TDQS

C2.6/5.0
Behavior2/5

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

The description only restates the tool's basic behavior and adds nothing beyond the annotations already declaring readOnlyHint=true and destructiveHint=false. It does not disclose response behavior, empty-result handling, or any other behavioral nuance.

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

Conciseness2/5

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

The two sentences are redundant: 'Get hosts using a credential' and 'Retrieves a list of hosts that are using a specific credential' say essentially the same thing. The first sentence repeats the title without adding value.

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?

The tool is simple: one required parameter, read-only annotations, and no output schema. The description names the output as a list of hosts, which is minimally adequate for invocation, but it does not describe what host fields are returned or any edge-case behavior.

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?

The schema provides no description for the id parameter (0% coverage). The description's phrase 'using a specific credential' hints that id refers to a credential ID, but it never explicitly defines the parameter or its format. This falls short of compensating for the missing schema documentation.

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?

The description uses a specific verb ('Retrieves a list of hosts') tied to a clear resource ('hosts that are using a specific credential') and is clearly distinct from credential-list and credential-detail tools. However, it does not explicitly contrast itself with sibling tools like get_all_credentials or get_specific_credential, so it stops short of full differentiation.

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 about when to use this tool versus alternatives such as listing all credentials or fetching a specific credential. The intended use is implied by the title, but nothing is stated.

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

termix_credentials_get_specific_credentialGet a specific credentialA
Read-onlyIdempotent

Get a specific credential. Retrieves a specific credential by its ID, including secrets.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

TDQS

A3.9/5.0
Behavior4/5

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

The annotations already indicate this is a read-only, idempotent, non-destructive operation. The description adds meaningful behavioral context by noting that the response 'include[s] secrets,' which is important for an agent to understand the sensitivity of the returned data. No contradictions with annotations.

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?

The description is short and the key detail ('including secrets') is front-loaded near the end of a two-sentence structure. There is minor redundancy between the title, first sentence, and second sentence, but the overall size is appropriate and free of irrelevant content.

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?

For a simple single-parameter read-only operation with a clear ID schema, the description covers the essential behavior: retrieving one credential and its secrets. The absence of an output schema and the presence of safety-related annotations reduce the need for additional detail, though it could still have mentioned error or not-found behavior for full completeness.

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 0%, so the description must compensate for the sole parameter. It clarifies that the `id` parameter refers to the specific credential being retrieved, which is mildly helpful but largely restates the obvious. The parameter is simple enough that no further depth is critical, but the description does not go beyond the schema-provided meaning.

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?

The description states a specific verb ('Retrieves'), a specific resource ('a specific credential'), and the retrieval mechanism ('by its ID'). The phrase 'including secrets' adds an important distinguishing detail and clearly separates this from list-oriented siblings like termix_credentials_get_all_credentials or termix_credentials_get_hosts_using_credential.

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?

Usage context is implied rather than explicit: 'Retrieves a specific credential by its ID' suggests this is for fetching one credential when the ID is known, as opposed to listing all credentials. It does not explicitly name alternatives or state when not to use this tool, but the meaning is reasonably inferable.

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

termix_credentials_rename_credential_folderRename a credential folderC
Idempotent

Rename a credential folder. Renames a credential folder for the authenticated user.

ParametersJSON Schema
NameRequiredDescriptionDefault
newNameNo
oldNameNo

TDQS

C2.8/5.0
Behavior3/5

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

Annotations already communicate that this is a non-read-only, non-destructive, idempotent mutation, so the description is not required to restate those traits. It adds a small amount of context by scoping the operation to the authenticated user, but it does not disclose rename semantics such as duplicate-name handling or whether folder contents are affected. No contradiction with annotations.

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?

The description is short and front-loaded, but the first sentence merely repeats the tool title. The second sentence adds only the 'authenticated user' scope. It is compact enough to be acceptable, but it contains redundancy rather than using every sentence productively.

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 the tool is conceptually simple, the description leaves meaningful gaps: it does not state that both oldName and newName are required inputs, does not describe what the API returns, and gives no indication of failure behavior such as nonexistent folders or duplicate names. The annotations cover the safety profile, but the description alone is not sufficient for confident invocation.

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%, so the description must compensate for the undocumented oldName/newName parameters. It does not; it never states that oldName is the existing folder name and newName is the replacement. The parameter names are suggestive, but the description adds no semantic value beyond them.

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?

The description clearly identifies the action ('Rename') and the resource ('credential folder'), and the credential domain distinguishes it from sibling rename tools such as termix_hosts_rename_folder and termix_snippets_rename_snippet_folder. It earns a 4 rather than a 5 because it does not explain what a credential folder is or what the rename affects.

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 about when to use this tool versus alternatives, and it never references the sibling host/snippet rename tools. The only contextual hint is 'for the authenticated user,' but that does not clarify selection criteria or exclusions.

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

termix_credentials_reorder_credentialsReorder credentialsA
Idempotent

Reorder credentials. Sets a manual sortOrder for multiple credentials within the same folder, used by drag-to-reorder in the sidebar's manual sort mode.

ParametersJSON Schema
NameRequiredDescriptionDefault
positionsNo

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=true, and openWorldHint=true. The description adds that it 'Sets a manual sortOrder', which clarifies the mutation is a metadata update rather than a destructive operation. It doesn't disclose edge cases like whether partial positions are allowed or whether unlisted credentials are reordered to the end, but the annotations cover the safety profile.

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 sentences with no filler. The first sentence states the action and the second provides the UI context and mechanism. Every word earns its place.

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 a single-parameter tool with no output schema, the description is reasonably complete: it names the resource, the scope (same folder), and the UI trigger. However, it doesn't specify the expected format or constraints of the positions array beyond what the schema shows, and it doesn't state whether the operation is atomic or how it interacts with existing sort orders. Given the tool's simplicity, this is adequate but not rich.

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 0%, so the description must compensate. It explains that 'positions' is an array of id/sortOrder pairs, but it doesn't explain the semantics of sortOrder values (e.g., whether they are 0-based, whether they must be contiguous, or what happens to credentials not listed). The description adds the 'manual sortOrder' context but leaves the exact contract to the agent.

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?

The description states a specific verb ('Reorder') and resource ('credentials'), and adds the key scoping detail that it operates 'within the same folder' and is used by drag-to-reorder in the sidebar's manual sort mode. This distinguishes it from the sibling reorder tools (termix_hosts_reorder_folders, termix_hosts_reorder_hosts, termix_snippets_reorder_snippets) by naming the resource, though it doesn't explicitly name those siblings.

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?

The description implies when to use it: when reordering credentials in the sidebar's manual sort mode. It does not explicitly state when not to use it or name alternative tools. The sibling list contains other reorder tools, but the description doesn't reference them, so an agent must infer the boundary from the resource name.

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

termix_credentials_update_credentialUpdate a credentialC
Idempotent

Update a credential. Updates a specific credential by its ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
nameNo
descriptionNo

TDQS

C2.6/5.0
Behavior3/5

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

Annotations declare readOnlyHint=false, destructiveHint=false, idempotentHint=true, and openWorldHint=true. The description does not contradict these. However, it adds no behavioral context beyond the annotations: it does not state whether partial updates are supported, whether omitted fields are left unchanged or reset, or whether updating a credential affects hosts currently using it. With annotations already covering the safety profile, a 3 is appropriate.

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?

The description is short and front-loaded with the core action, but it repeats the title almost verbatim ('Update a credential' appears twice). The second sentence adds the ID-based targeting detail, which is useful, but the overall structure is redundant and could be condensed into one sentence that also carries usage or parameter guidance.

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?

For a mutation tool with no output schema and 0% schema description coverage, the description is too thin. It does not explain what fields can be updated, whether the update is partial or full replacement, what happens to hosts using the credential, or what the response contains. An agent has enough to guess the basic operation but not enough to call it correctly with confidence.

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%, so the description must compensate for the schema's lack of parameter documentation. The description only mentions 'by its ID,' which maps to the required id parameter, but it does not explain the semantics of name or description, whether they are optional fields to update, or how partial updates behave. The description adds minimal meaning beyond the schema's property names.

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

Purpose3/5

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

The description states a clear verb and resource: 'Update a credential' and 'Updates a specific credential by its ID.' It is not a tautology, but it does not distinguish this from sibling tools like termix_credentials_apply_credential_host or termix_credentials_duplicate_credential, which also relate to modifying credential state. The title and description are nearly identical, adding little beyond the name.

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?

No guidance is given about when to use this tool versus alternatives. There is no mention of prerequisites, such as whether the credential must exist, whether the ID must be fetched first via get_all_credentials, or when to prefer create_new_credential or duplicate_credential. The description only says 'Update a credential,' leaving the agent to infer usage.

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

termix_credentials_validate_ssh_key_pairValidate SSH key pairC

Validate SSH key pair. Validates if a given SSH private key and public key match.

ParametersJSON Schema
NameRequiredDescriptionDefault
publicKeyNo
privateKeyNo
keyPasswordNo

TDQS

C2.6/5.0
Behavior2/5

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

Annotations indicate the tool is not read-only, not idempotent, but not destructive. The description adds no behavioral context beyond the simple operation. It doesn't explain what happens on mismatch (e.g., error vs boolean return), or whether the keyPassword is required for encrypted keys. Without annotation coverage of specifics, the description carries the burden but fails to disclose return behavior or failure modes.

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?

The description is very brief (two sentences) and to the point, but it is under-specified. The first sentence repeats the title entirely, which is redundant, while the second adds minimal new information. It could be more concise by eliminating the tautology and adding meaningful detail.

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?

Given the tool has 3 parameters and no output schema, the description omits essential details: what the response looks like (boolean, error), how keyPassword is used, and any preconditions (e.g., key formats). This is inadequate for an agent to call the tool correctly without additional probing.

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%, so the description must explain parameters. It names no parameters, only mentions 'private key' and 'public key', leaving keyPassword's purpose ambiguous. No syntax, format, or optionality details are provided, failing to compensate for the low schema coverage.

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?

The description clearly states the tool validates whether a given SSH private key and public key match, which is specific and distinguishes it from sibling credential tools like detect_ssh_key_type or generate_public_key_private_key. It uses a clear verb and resource, though it could be more explicit that it's a check/verification operation.

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 tool versus alternatives such as detect_ssh_key_type or generate_public_key_private_key. The description implies a validation use case but doesn't explicitly state when an agent should call this versus other credential tools.

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

termix_docker_check_ssh_session_statusCheck SSH session statusC
Read-onlyIdempotent

Check SSH session status. Checks the status of an active SSH session.

ParametersJSON Schema
NameRequiredDescriptionDefault
sessionIdYes

TDQS

C2.4/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, idempotentHint=true, so the safety profile is covered. The description adds no behavioral context beyond that: it does not explain what 'status' means (e.g., active/inactive, possible values), how to interpret the response, or what happens if the session does not exist. With annotations carrying the safety burden, a 3 might be warranted, but the description is too sparse to provide meaningful additional transparency.

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?

The description is short and the main point is front-loaded, but the two sentences are redundant ('Check SSH session status' and 'Checks the status of an active SSH session'). It could be expressed in one sentence without loss. It is not verbose, but the repetition wastes a line without adding information.

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?

For a tool with one parameter and no output schema, the description should explain what the returned status looks like (e.g., 'returns true if active, false if not') and how to obtain the sessionId. It does neither. Thus, an agent cannot fully understand what to expect or how to form correct calls, making it inadequate for reliable usage.

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

Parameters1/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 compensate for the undocumented 'sessionId' parameter. It does not mention the parameter at all, leaving the agent to guess what sessionId refers to (e.g., a UUID from an establish call, a numeric ID, etc.). The description adds no meaning beyond the schema's bare type and required flag, which is a significant 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?

The description clearly states a verb ('Check') and a resource ('SSH session status'), so the core purpose is unambiguous. It does not explicitly distinguish itself from sibling tools, but the action of checking status is distinct from establishing, disconnecting, or keeping alive sessions, so an agent can infer its role. However, it adds little beyond the tool name and is somewhat tautological.

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 tool versus alternatives. With many siblings like disconnect, keep alive, or establish, the description should indicate scenarios (e.g., verifying session activity before sending commands, or checking if a session has timed out). The absence of any usage context leaves the agent to infer appropriateness from the name alone.

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

termix_docker_complete_warpgate_authenticationComplete Warpgate authenticationA

Complete Warpgate authentication. Submits empty response to complete Warpgate authentication after user completes browser auth.

ParametersJSON Schema
NameRequiredDescriptionDefault
sessionIdYesSession ID from initial connection attempt

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already mark the operation as non-readonly, but the description adds useful behavioral detail: the request body is empty and the call depends on a prior human browser-auth step. It does not discuss failure behavior, but the idempotentHint=false annotation partially covers expectations.

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?

The description is short and front-loaded, but the first sentence merely restates the title, and 'Complete Warpgate authentication' appears twice. It is concise but somewhat redundant.

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 a simple one-parameter completion call, the description plus schema covers the prerequisite and the session ID source. However, it does not clarify the overall auth flow, preceding connection step, or which sibling flow (Docker vs files) it belongs to.

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 100%, with `sessionId` already described as 'Session ID from initial connection attempt.' The description adds no additional parameter semantics, so the baseline of 3 is appropriate.

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?

The description states a specific action ('submits empty response') and resource ('Warpgate authentication'), and includes a clear prerequisite. However, it does not distinguish this Docker-scoped completion tool from the nearly identical sibling `termix_files_complete_warpgate_authentication`, so it cannot get a 5.

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?

It gives an explicit trigger: use this after the user completes browser auth. It does not mention alternatives or exclusions, but the timing context is clear enough for the primary intended call.

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

termix_docker_disconnect_ssh_sessionDisconnect SSH sessionB

Disconnect SSH session. Closes an active SSH session for Docker operations.

ParametersJSON Schema
NameRequiredDescriptionDefault
sessionIdNo

TDQS

B3.1/5.0
Behavior3/5

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

Annotations (readOnlyHint=false, idempotentHint=false, destructiveHint=false) already indicate a state-changing, non-idempotent action, so the bar is lower. The description adds the qualifier that it closes an *active* SSH session and scopes it to Docker operations, which provides useful context beyond the annotations. It does not describe side effects or behavior on non-active sessions, but this is acceptable given the annotations.

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?

The description is two short, direct sentences with no filler. The core action ('Disconnect SSH session') is front-loaded, and the clarifying scope ('for Docker operations') follows immediately. Every word earns its place.

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 a simple one-parameter, no-output-schema tool, the description is minimally viable. However, it omits guidance on where to find sessionId, what happens if the session is already closed, and whether this invalidates Docker-related state. It is not misleading, but it leaves several practical questions unanswered for an agent.

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?

The input schema has 0% description coverage and the description does not explain the sessionId parameter: no format, source, or optionality. The parameter name is somewhat self-evident from the tool title, but the description fails to compensate for the schema gap by specifying where an agent might obtain a valid sessionId.

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?

The description states a clear verb and resource: disconnect and close an SSH session, specifically scoped to Docker operations. It is distinguishable from other disconnect tools like termix_files_disconnect_ssh and termix_tunnels_disconnect_ssh_tunnel via the 'for Docker operations' phrase, though it does not explicitly name a sibling alternative.

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 tool versus related tools such as termix_docker_establish_ssh_session_docker, keep_ssh_session_alive, or check_ssh_session_status. The description does not mention prerequisites like an existing active session or pairing with another tool.

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

termix_docker_establish_ssh_session_dockerEstablish SSH session for DockerC

Establish SSH session for Docker. Establishes an SSH session to a host for Docker operations.

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyYes

TDQS

C2/5.0
Behavior2/5

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

Annotations already indicate readOnlyHint=false, idempotentHint=false, and destructiveHint=false, so the agent knows this is a state-changing operation. The description adds no behavioral detail beyond that, such as whether the session persists, requires authentication/credentials, or needs to be explicitly disconnected.

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

Conciseness2/5

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

The description is short, but the second sentence is a near-identical restatement of the first, adding only the phrase 'to a host.' This redundancy wastes the small amount of space available and does not earn its place.

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

Completeness1/5

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

For an open-world, state-changing tool with an opaque body parameter and no output schema, one line of description is severely inadequate. The agent is left without input semantics, prerequisites, postconditions, or any sense of what a successful result looks like.

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

Parameters1/5

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

The input schema has a single free-form 'body' object with 0% description coverage, and the description says nothing about what the body should contain. With no parameter guidance, an agent cannot determine required fields like host, credentials, or connection options.

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

Purpose3/5

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

The description states a clear verb and resource: it establishes an SSH session to a host for Docker operations. However, it largely restates the tool name and title, and does not distinguish itself from sibling session lifecycle tools like check_ssh_session_status, disconnect_ssh_session, or keep_ssh_session_alive.

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 explicit guidance on when to use this tool versus alternatives, such as validate_docker_availability or check_ssh_session_status. The phrase 'for Docker operations' implies some usage context, but no prerequisites, order-of-operations, or when-not-to-use information is provided.

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

termix_docker_get_container_detailsGet container detailsC
Read-onlyIdempotent

Get container details. Retrieves detailed information about a specific container.

ParametersJSON Schema
NameRequiredDescriptionDefault
sessionIdYes
containerIdYes

TDQS

C2.8/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint=false, so the safety profile is clear. The description adds only 'detailed information,' but does not disclose what those details include, error behavior, or whether the container must exist or be running. There is no contradiction with the annotations.

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?

The description is short and front-loaded, but the opening 'Get container details' is redundant with the tool name and title. The second sentence adds a bit of specificity, yet the overall text could be a single, more informative sentence.

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?

There is no output schema and the description does not say what 'detailed information' consists of, leaving the return value undefined. With two required parameters and no parameter descriptions, the agent has little guidance beyond the parameter names themselves.

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%, so the description must compensate, but it does not explain either parameter. 'A specific container' weakly maps to containerId, while sessionId is entirely unexplained despite being required.

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?

The description states a clear action and object: 'Retrieves detailed information about a specific container.' This distinguishes it from list-style tools like termix_docker_list_all_containers, but it does not explicitly differentiate it from sibling tools like termix_docker_get_container_stats or termix_docker_get_container_logs.

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?

No guidance is given about when to choose this tool over the many other Docker inspection tools. There are no conditions, prerequisites, or exclusions mentioned, such as requiring an active SSH session or a running container.

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

termix_docker_get_container_logsGet container logsC
Read-onlyIdempotent

Get container logs. Retrieves logs for a specific container.

ParametersJSON Schema
NameRequiredDescriptionDefault
tailNo
sinceNo
untilNo
sessionIdYes
timestampsNo
containerIdYes

TDQS

C2.4/5.0
Behavior2/5

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

The annotations already declare this as read-only, idempotent, and non-destructive, and the description adds no behavioral context beyond that. It does not mention filtering semantics, output size, session requirements, or error behavior; 'for a specific container' merely restates the required containerId parameter.

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?

The text is short and front-loaded, but the two sentences are near-duplicates: 'Get container logs' and 'Retrieves logs for a specific container' add little to each other. It is not bloated, but its brevity comes from omission rather than efficient coverage.

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?

With six parameters, no output schema, and no parameter descriptions, this description is not sufficient for correct invocation. The read-only annotations reduce safety concerns, so it is not a 1, but an agent still lacks essential context about sessionId and the log-filtering options.

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

Parameters1/5

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

Schema description coverage is 0%, and the description explains none of the six parameters. An agent gets no help understanding that sessionId identifies the Docker session or what tail, since, until, and timestamps control, leaving correct invocation mostly to guesswork.

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?

The description uses a specific verb ('Get'/'Retrieves') and clearly identifies the resource as container logs for a specific container. It is unambiguous at a high level, though it does not explicitly differentiate itself from sibling tools like get_container_details or get_container_stats beyond the word 'logs'.

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 about when to use this tool versus alternatives, no prerequisites such as an active Docker session, and no exclusions. The only usage signal is the implied 'logs' purpose, which is not enough to route an agent confidently among the many Docker sibling tools.

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

termix_docker_get_container_statsGet container statsC
Read-onlyIdempotent

Get container stats. Retrieves stats for a specific container.

ParametersJSON Schema
NameRequiredDescriptionDefault
sessionIdYes
containerIdYes

TDQS

C2.8/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint=false, so the safety profile is well covered. The description adds only the scoping detail that stats are for a specific container, which is consistent with annotations but does not disclose additional behavioral traits such as output shape or whether stats are live or historical.

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?

The description is short and not bloated, but the first sentence simply repeats the title and the second only adds 'for a specific container.' It could be condensed to one sentence without losing information, but it is not excessively verbose.

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?

With no output schema and no parameter explanations, the description leaves important details unspecified, such as what metrics 'stats' includes and whether the result represents live or cumulative data. The tool is simple, and annotations cover side effects, but an agent still lacks enough context to fully predict the behavior and return value.

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%, so the description must compensate, but it does not explain either parameter. 'specific container' only weakly implies containerId's role, and sessionId is left entirely unexplained, which is a significant gap for a two-parameter tool.

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?

The description clearly identifies a specific verb ('Get') and resource ('container stats'), and notes that it retrieves stats for a specific container. It is not a tautology and it is easily distinguishable from list/details/logs siblings, though it does not explicitly contrast itself with termix_docker_get_container_details.

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?

No guidance is provided about when to use this tool versus alternatives like get_container_details or get_container_logs. The phrase 'for a specific container' implies that a containerId is required, but there is no explicit when-to-use or when-not-to-use guidance.

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

termix_docker_keep_ssh_session_aliveKeep SSH session aliveD

Keep SSH session alive. Keeps an active SSH session alive.

ParametersJSON Schema
NameRequiredDescriptionDefault
sessionIdNo

TDQS

D1.5/5.0
Behavior1/5

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

The annotations already convey readOnlyHint=false, destructiveHint=false, and idempotentHint=false, but the description adds no behavioral detail beyond restating the title. It does not explain what keeping the session alive entails, what side effects may occur, whether it sends keepalive packets, or what happens to the session. The description provides zero additional transparency.

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

Conciseness2/5

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

The description is short but not efficiently concise; the two sentences are redundant. 'Keep SSH session alive' and 'Keeps an active SSH session alive' convey the same idea, so the second sentence earns no additional value.

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

Completeness1/5

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

With one undocumented parameter and no output schema, this description is inadequate. An agent cannot determine how to supply sessionId, when the operation is available, whether it is safe to repeat, or how to confirm it succeeded. It also fails to clarify the Docker-specific context versus the similar file-management keepalive tool.

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

Parameters1/5

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

The single parameter sessionId has 0% schema description coverage, and the tool description makes no mention of it. An agent is not told what sessionId refers to, where to obtain it, whether it is required, or what format it must take. The description does nothing to compensate for the undocumented parameter.

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 is essentially the title restated: 'Keep SSH session alive' followed by 'Keeps an active SSH session alive.' It names the resource and action, but does not distinguish this Docker-scoped tool from the nearly identical sibling termix_files_keep_ssh_session_alive, making it too tautological to be genuinely clarifying.

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 tool versus alternatives such as termix_docker_check_ssh_session_status, termix_docker_establish_ssh_session_docker, or termix_files_keep_ssh_session_alive. The phrase 'active SSH session' weakly implies a precondition, but no concrete usage context or exclusions are provided.

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

termix_docker_list_all_containersList all containersC
Read-onlyIdempotent

List all containers. Lists all Docker containers on the host.

ParametersJSON Schema
NameRequiredDescriptionDefault
allNo
sessionIdYes

TDQS

C2.4/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true, openWorldHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds only the trivial phrase 'on the host' and otherwise repeats the title. It does not disclose behavior such as whether stopped containers are included (relevant to the `all` parameter), whether pagination exists, or that an active SSH session is required. With annotations present, the description contributes little beyond them.

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?

The description is short and front-loaded, but it wastes a sentence by repeating the title: 'List all containers' and 'Lists all Docker containers on the host' say essentially the same thing. It could be condensed into a single sentence without losing any information, though it is not overly verbose.

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?

For a tool with no output schema and zero parameter documentation in the schema, the description leaves significant gaps. It does not explain the output format, how the `all` parameter behaves, what sessionId refers to, or prerequisite conditions such as an active SSH session. An agent would need to infer these from the tool name and sibling tools, which is insufficient for reliable invocation.

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

Parameters1/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 compensate for the undocumented parameters. It fails to explain the meaning of the `all` boolean (likely to include stopped containers) or the `sessionId` string (which likely identifies an SSH session to the Docker host). The description's use of 'all containers' is ambiguous and does not clarify parameter semantics at all.

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?

The description clearly states a specific verb ('List') and resource ('all Docker containers on the host'), making the purpose explicit. It is easy to distinguish from sibling tools like get_container_details because it emphasizes listing all rather than retrieving a single container's details, though it does not explicitly name the alternative.

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?

The description gives no guidance on when to use this tool versus alternatives. It does not mention that get_container_details should be used for individual container details, or that sessionId must be an active Docker SSH session. There are no exclusions or conditions, leaving the agent to infer usage from the tool name alone.

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

termix_docker_pause_containerPause containerC

Pause container. Pauses a specific container.

ParametersJSON Schema
NameRequiredDescriptionDefault
sessionIdYes
containerIdYes

TDQS

C2.4/5.0
Behavior2/5

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

Annotations indicate this is a write operation (readOnlyHint=false) and not idempotent, but the description does not mention any side effects like the container being frozen, network loss, or that pause is not supported for all container types (e.g., if running with certain runtimes).

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?

The description is very short, which is concise, but it repeats the same information in the second sentence ('Pauses a specific container') without adding new value. It is acceptable but not optimally structured.

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?

Given that there is no output schema and the operation is a state-changing Docker command, the description should explain the effect on the container, prerequisites (like container running), and how it differs from stop. It lacks these details.

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

Parameters1/5

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

Schema description coverage is 0%, and the description does not explain what sessionId or containerId mean or how to obtain them. The agent must guess that sessionId is an SSH session ID and containerId is a Docker container ID.

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?

The description states a clear verb ('pause') and resource ('container'), and confirms it acts on a specific container. However, it does not reference the sibling tools start/stop/restart/unpause to differentiate them beyond the basic verb.

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?

The description does not state when to use pause vs. stop, unpause, or restart. It provides no context for when pausing is appropriate (e.g., for saving CPU but keeping memory) or when not to use it.

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

termix_docker_restart_containerRestart containerC

Restart container. Restarts a specific container.

ParametersJSON Schema
NameRequiredDescriptionDefault
sessionIdYes
containerIdYes

TDQS

C2.4/5.0
Behavior2/5

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

Annotations already communicate that this is a state-changing, non-idempotent operation. The description adds no behavioral context beyond that, such as service interruption, impact on running processes, or required container state.

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

Conciseness2/5

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

The description is short, but the two sentences are redundant: 'Restart container' and 'Restarts a specific container' say nearly the same thing. It is under-specified rather than effectively concise.

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?

With no output schema, no parameter descriptions, and no mention of session prerequisites or side effects, the description is not sufficient for an agent to confidently invoke the tool in the right context. It provides only the bare action name.

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

Parameters1/5

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

Schema coverage is 0% and the description does not explain either parameter. 'containerId' is weakly implied by 'specific container,' but 'sessionId' is completely unexplained, leaving the agent to guess its role.

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?

The description names the action ('restart') and resource ('container') clearly, and adds that it targets a specific container. It is distinguishable from sibling lifecycle tools at a basic level, though it does not explicitly differentiate itself.

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 tool versus siblings like start_container, stop_container, or pause_container. No prerequisites such as an active session or existing container are mentioned.

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

termix_docker_start_containerStart containerC

Start container. Starts a specific container.

ParametersJSON Schema
NameRequiredDescriptionDefault
sessionIdYes
containerIdYes

TDQS

C2.4/5.0
Behavior2/5

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

Annotations indicate readOnlyHint=false (mutation) and destructiveHint=false, which the description aligns with. However, the description adds no behavioral detail beyond the basic action—no side effects, error conditions, or state changes. With minimal annotation coverage, the description carries little extra weight.

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

Conciseness2/5

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

The description is extremely terse but not efficiently so—'Start container. Starts a specific container.' is redundant and adds no new information. It under-specifies rather than being concise in a useful way.

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?

For a tool with two required parameters and no output schema, the description leaves out essential context: what sessionId refers to (e.g., an SSH session), prerequisites (e.g., container existence, session validity), and expected behavior on failure. The description is insufficient for reliable invocation.

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

Parameters1/5

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

Schema description coverage is 0%, and the description does not explain what sessionId or containerId represent or how they relate to the operation. The phrase 'specific container' hints at containerId but gives no semantics for sessionId. This is a significant 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 clear verb and resource ('Start container') that differentiates from sibling tools like stop, restart, and pause by the action name. However, it doesn't clarify what 'starting' entails or how the container is specified beyond the parameters, so it's slightly vague but still identifiable.

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?

Provides no guidance on when to use this tool versus alternatives like restart or pause. No mention of prerequisites, conditions, or exclusions. The agent has to infer usage from the name alone.

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

termix_docker_stop_containerStop containerC

Stop container. Stops a specific container.

ParametersJSON Schema
NameRequiredDescriptionDefault
sessionIdYes
containerIdYes

TDQS

C2.5/5.0
Behavior2/5

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

The description adds no behavioral context beyond what the annotations already imply: readOnlyHint=false and destructiveHint=false. It does not say what happens to the container's state, whether a session must be active, whether the operation can fail on an already-stopped container, or what the response looks like.

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

Conciseness2/5

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

The description is brief but repetitive: 'Stop container. Stops a specific container.' The second sentence mostly restates the first and does not add enough information to justify the extra sentence.

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?

For a mutation tool with no output schema and no parameter documentation, the description is incomplete. An agent is not told how sessionId and containerId relate, what preconditions exist, or how this differs from pause/restart/start. The minimal text leaves important decision-making to inference.

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%, so the description carries the burden of explaining the parameters. It only clarifies that a specific container is stopped, which makes 'containerId' loosely obvious, but 'sessionId' is left unexplained and neither parameter receives explicit semantics.

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?

The description names the specific operation ('Stops a specific container') and identifies the resource, so an agent can tell this is a per-container stop action. It does not differentiate it from related siblings like restart_container or pause_container, which keeps it from a 5.

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 tool instead of start_container, restart_container, pause_container, or unpause_container. No conditions, prerequisites, or exclusions are mentioned.

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

termix_docker_unpause_containerUnpause containerD

Unpause container. Unpauses a specific container.

ParametersJSON Schema
NameRequiredDescriptionDefault
sessionIdYes
containerIdYes

TDQS

D1.3/5.0
Behavior1/5

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

The description adds no behavioral context beyond what the annotations already convey. Annotations indicate readOnlyHint=false, destructiveHint=false, and idempotentHint=false, but the description does not disclose any additional traits such as required SSH session state, failure modes if the container is not paused, or side effects of resuming processes. It simply restates the operation.

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

Conciseness2/5

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

The description is short, but its two sentences are largely redundant with each other and with the title. The first sentence repeats the title exactly, and the second merely adds 'specific'. Neither sentence earns its place by providing new information, so this is under-specification rather than effective conciseness.

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

Completeness1/5

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

Given the tool has two required parameters and no output schema, the description is inadequate for correct invocation. It does not explain what sessionId and containerId refer to, how to establish or verify the Docker SSH session, or what conditions must hold (e.g., container must already be paused). Sibling tools like check_ssh_session_status and establish_ssh_session_docker suggest prerequisites that are not mentioned.

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

Parameters1/5

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

With 0% schema description coverage, the description must compensate for missing parameter documentation, but it does not. 'Unpauses a specific container' only alludes to containerId and says nothing about sessionId, its purpose, or how to obtain it. No parameter meanings or relationships are clarified.

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 'Unpause container. Unpauses a specific container.' is essentially a restatement of the title. While it includes the verb 'unpause' and the resource 'container', it adds no new distinguishing information beyond 'specific', which is already implied by the required containerId parameter. It does not effectively differentiate from sibling tools beyond the name itself.

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

Usage Guidelines1/5

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

No guidance is provided about when to use this tool versus alternatives like start_container, stop_container, or restart_container. There is no mention of container state prerequisites, such as the container being paused, nor any indication of when this should be preferred over other container lifecycle operations.

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

termix_docker_validate_docker_availabilityValidate Docker availabilityC
Read-onlyIdempotent

Validate Docker availability. Validates if Docker is available on the host.

ParametersJSON Schema
NameRequiredDescriptionDefault
sessionIdYes

TDQS

C2.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, which align with the description's validation intent. The description does not add any behavioral details beyond what the annotations provide, such as what happens if Docker is unavailable or what the return value indicates. It neither contradicts nor enriches the annotation-based safety profile.

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

Conciseness2/5

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

The description is redundant: 'Validate Docker availability. Validates if Docker is available on the host.' The second sentence simply restates the first with different wording. It wastes words without adding information. A single sentence would suffice, so it is not concise.

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?

For a simple tool with one parameter and no output schema, the description still leaves critical gaps. It does not explain what 'sessionId' refers to, what 'availability' means precisely, or what the result indicates (e.g., boolean, error). An agent cannot reliably call this tool or interpret its response based on the description alone.

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

Parameters1/5

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

The input schema has no description for the required 'sessionId' parameter (schema description coverage is 0%). The description does not mention the parameter at all, leaving its purpose and format entirely unexplained. Since the schema provides no clues, the description must compensate, but it fails to do so.

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?

The description clearly states the tool validates Docker availability on the host. It uses a specific verb ('validate') and resource ('Docker availability'), which distinguishes it from other tools that manage containers or sessions. However, it does not specify what 'availability' means (e.g., Docker daemon running, CLI present) or how it relates to sibling docker tools, so it lacks some precision.

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?

The description provides no guidance on when to use this tool versus alternatives. There is no mention of prerequisites, when validation is needed, or which other tools (e.g., check_ssh_session_status) might be more appropriate. An agent receives no context to decide between this and similar validation tools.

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

termix_docker_verify_totp_complete_connectionVerify TOTP and complete connectionC

Verify TOTP and complete connection. Verifies the TOTP code and completes the SSH connection.

ParametersJSON Schema
NameRequiredDescriptionDefault
totpCodeNo
sessionIdNo

TDQS

C2.6/5.0
Behavior2/5

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

Annotations already communicate readOnly=false, idempotent=false, and destructive=false. The description adds only that the SSH connection is 'completed', with no detail about invalid-code handling, session state changes, or consequences of calling it more than once. No annotation contradiction exists.

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?

The description is very short and front-loaded, but the second sentence merely restates the first. One sentence is essentially redundant, and the remaining content does not earn the space with additional useful detail.

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?

For a mutating tool with two undocumented parameters, no output schema, and many related TOTP/connection siblings, this description is incomplete. It omits the workflow context, how to obtain sessionId, expected outcomes, and how this tool differs from similar file/metrics variants.

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%, so the description needed to explain totpCode and sessionId. It only acknowledges the TOTP code and the SSH connection; sessionId is never described, including where it comes from, whether it is required, or how it identifies the pending connection.

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?

The description states a clear action: verifying a TOTP code and completing an SSH connection. However, it does not distinguish this Docker variant from the closely named sibling termix_files_verify_totp_complete_connection or explain how it fits in the connection-establishment flow.

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?

No guidance is given on when to use this tool versus alternatives. An agent cannot tell whether it should follow termix_docker_establish_ssh_session_docker, whether termix_docker_complete_warpgate_authentication is a competitor, or when the files/metrics TOTP variants apply.

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

termix_files_change_file_permissionsChange file permissionsC

Change file permissions. Changes the permissions of a file on the remote host.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathNo
sessionIdNo
permissionsNo

TDQS

C2.7/5.0
Behavior2/5

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

Annotations indicate a mutating operation (readOnlyHint=false) and openWorldHint=true, but the description adds no extra behavioral context. It doesn't state whether permissions are applied recursively, whether sudo is required, or whether existing permissions are overwritten. Since annotations cover some safety signals, the description adds minimal value beyond them.

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?

The description is short and front-loaded, but the second sentence merely restates the first. While not verbose, the redundancy wastes a sentence that could have been used to explain parameters or usage. It is concise but not efficiently informative.

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?

For a mutating tool with three parameters and no output schema, the description is incomplete. It fails to mention that a valid sessionId is likely required, what permission formats are accepted, or what success/error responses look like. The description provides only the bare function, leaving crucial operational details undocumented.

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

Parameters1/5

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

Schema description coverage is 0%, and the description does not explain any parameter meaning. It doesn't clarify the expected format for 'permissions' (e.g., octal vs symbolic), the role of 'sessionId', or the nature of 'path'. With zero parameter documentation, the description fails to compensate for the missing schema detail.

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?

The description clearly states the tool changes file permissions on a remote host. It uses a specific verb ('change') and resource ('file permissions'), which distinguishes it from sibling tools that create, write, or copy files. The second sentence is largely redundant but not misleading.

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?

No explicit guidance is given about when to use this tool versus alternatives, but there are no sibling tools that perform the same operation. The purpose is implied, yet there is no mention of prerequisites like an active SSH session or path format, so the usage context is only vaguely implied.

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

termix_files_complete_warpgate_authenticationComplete Warpgate authenticationA

Complete Warpgate authentication. Submits empty response to complete Warpgate authentication after user completes browser auth.

ParametersJSON Schema
NameRequiredDescriptionDefault
sessionIdYesSession ID from initial connection attempt

TDQS

A3.6/5.0
Behavior3/5

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

The description adds useful behavioral detail beyond annotations by saying it submits an empty response and depends on a preceding browser-auth step. It does not describe side effects, errors, or what happens if called too early, but annotations already signal a non-readonly, non-idempotent operation.

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?

The description is short, but the first sentence merely restates the title and the second repeats 'complete Warpgate authentication.' The unique content is only 'submits empty response' and 'after user completes browser auth,' so it is somewhat redundant.

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?

For a one-parameter tool with no output schema, the description adequately covers the action, prerequisite browser-auth step, and empty-payload behavior. It omits edge-case or failure details, but nothing essential is missing for correct invocation.

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 100% and sessionId is already described as the session ID from the initial connection attempt. The description adds no parameter-level detail, so the baseline 3 applies.

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?

The description supplies a specific action ('submits empty response') and target resource (Warpgate authentication), and clarifies it runs after browser auth. However, it repeats the tool title and does not distinguish itself from the nearly identical sibling termix_docker_complete_warpgate_authentication.

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?

It clearly states the trigger condition: call this after the user completes browser auth. It does not explicitly give exclusions or alternatives, but the temporal context is enough for this simple auth-completion step.

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

termix_files_compress_filesCompress filesC

Compress files. Compresses files and/or directories on the remote host.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathsNo
formatNo
sessionIdNo
archiveNameNo

TDQS

C2.4/5.0
Behavior2/5

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

Annotations indicate readOnlyHint=false, destructiveHint=false, idempotentHint=false, but the description adds no behavioral context beyond the basic action. It does not disclose whether existing archives are overwritten, whether compression happens in place, what formats are supported, or whether a session is required. The description does not contradict annotations, but it also does not enrich them.

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?

The description is short and front-loaded, but it wastes its second sentence by repeating the first ('Compress files. Compresses files and/or directories...'). It is concise but not information-dense.

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?

For a tool with four undocumented parameters, no output schema, and no usage guidance, the description is incomplete. It does not mention supported archive formats, required session context, or what the tool returns. The sibling list shows related file tools, but the description does not connect to them.

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 description does not explain any of the four parameters (paths, format, sessionId, archiveName). The agent must guess what 'format' values are valid, what 'paths' expects, and how 'archiveName' is used. The description provides no compensation for the schema's lack of documentation.

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

Purpose3/5

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

The description states a clear verb and resource ('Compress files... on the remote host'), but it is largely redundant with the title and does not distinguish this tool from its sibling termix_files_extract_archive_file or other file operations. It identifies the action but not the specific scope or output.

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?

No guidance is given on when to use this tool versus alternatives like extract_archive_file, copy_file_directory, or move_file_directory. The description only says it compresses files/directories, leaving the agent to infer the appropriate context.

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

termix_files_connect_ssh_file_managementConnect to SSH for file managementB

Connect to SSH for file management. Establishes an SSH/SFTP connection for file manager operations. Supports password, key-based, and keyboard-interactive authentication, as well as jump hosts and SOCKS5 proxies.

ParametersJSON Schema
NameRequiredDescriptionDefault
ipYesSSH server IP address
portYesSSH server port
hostIdNoHost ID from database
sshKeyNoSSH private key (for key-based auth)
authTypeNoAuthentication method
passwordNoSSH password (for password auth)
usernameYesSSH username
jumpHostsNoJump host configuration
sessionIdYesUnique session identifier
useSocks5NoUse SOCKS5 proxy
socks5HostNoSOCKS5 proxy host
socks5PortNoSOCKS5 proxy port
keyPasswordNoPrivate key passphrase
credentialIdNoCredential ID to use from database
socks5PasswordNoSOCKS5 proxy password
socks5UsernameNoSOCKS5 proxy username
socks5ProxyChainNoChain of SOCKS5 proxies
userProvidedPasswordNoUser-provided password for keyboard-interactive auth
forceKeyboardInteractiveNoForce keyboard-interactive authentication

TDQS

B3.4/5.0
Behavior3/5

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

Annotations provide readOnlyHint=false, openWorldHint=true, idempotentHint=false, destructiveHint=false. The description adds that it establishes a connection, supports different authentication methods, and mentions jump hosts and SOCKS5 proxies. It does not disclose what happens on successful connection (e.g., session ID generation, connection state), nor what happens if authentication fails. It does not contradict annotations. Since annotations are present and the description adds some context (auth methods, proxies), a 3 is appropriate.

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?

The description is two sentences, concise and front-loaded with the core action. It efficiently lists key features without redundancy. It could be slightly more structured (e.g., listing parameters), but it's well-sized for a connection tool with many parameters.

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?

The tool has 19 parameters and no output schema, so the description must compensate for understanding the connection process. It covers authentication methods and proxies but does not explain the return value (e.g., session status), error handling, or session lifecycle. Given the complexity, the description is adequate but not exhaustive; an agent might need to infer how to use credentialId vs password, or what happens after connection.

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%, so the schema already documents all 19 parameters with descriptions. The description adds value by summarizing the purpose (e.g., 'for file manager operations') and grouping auth methods, but it does not explain the interplay between parameters (e.g., when to use sshKey vs password, or how jumpHosts is used). Baseline 3 is correct because the schema is already comprehensive.

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?

The description clearly states the tool's purpose: establishing an SSH/SFTP connection for file manager operations. It also lists supported authentication methods and proxy options, which helps distinguish it from siblings like termix_tunnels_connect_ssh_tunnel (which is about tunnels, not file management) and termix_files_connect_ssh_file_management is the only connection tool for file operations. It does not explicitly name siblings, but the context of 'file management' is clear.

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?

The description implies when to use this tool: when you need to manage files over SSH. It does not provide explicit exclusion criteria or alternatives, but the sibling list includes related tools like termix_files_disconnect_ssh and termix_docker_establish_ssh_session_docker, which suggests this tool is for general SSH file connections. No explicit when-not-to-use guidance is given, so it's adequate but not explicit.

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

termix_files_copy_file_directoryCopy a file or directoryC

Copy a file or directory. Copies a file or directory on the remote host.

ParametersJSON Schema
NameRequiredDescriptionDefault
hostIdNo
userIdNo
sessionIdNo
targetDirNo
sourcePathNo

TDQS

C2.6/5.0
Behavior2/5

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

Annotations already cover readOnly=false, destructive=false, and idempotent=false, so the description does not contradict them. But it adds almost no behavioral detail: it does not explain overwrite behavior, recursive copying, directory creation, path handling, or what side effects may occur on the remote host. The phrase 'on the remote host' is the only added context, and even that is largely implied by the tool family.

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

Conciseness2/5

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

The entire description is only two sentences, but the second sentence restates the first with just 'on the remote host' added. The repetition does not earn its place; a single sentence such as 'Copy a file or directory on the remote host' would be equally informative and more concise.

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?

For a 5-parameter tool with no required parameters and no output schema, the description is materially incomplete. An agent does not learn which parameters identify the remote host, whether both source and target paths must be supplied, what file types are supported, or what the operation returns. The schema names are self-descriptive, but the description leaves too much operational ambiguity.

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

Parameters1/5

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

Schema description coverage is 0%, and the description does not compensate. It never explains sourcePath versus targetDir, which of hostId/userId/sessionId are needed, why all parameters are optional, or how paths are interpreted. At most, the word 'copy' hints that sourcePath is the origin and targetDir is the destination, but that mapping is not explicit.

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?

The description clearly states a specific action ('Copy') and resource ('a file or directory') and adds the scope 'on the remote host.' It is not a tautology because it communicates the core operation, though it repeats the title almost verbatim and does not explicitly contrast with sibling operations like move_file_directory or rename_file_directory.

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?

The intended use is implied: use this tool when you want to duplicate a file or directory on a remote host. However, it provides no explicit guidance about when not to use it, no mention of alternatives like move_file_directory, and no prerequisites such as active sessions or host requirements.

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

termix_files_create_fileCreate a fileB

Create a file. Creates an empty file on the remote host.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathNo
fileNameNo
sessionIdNo

TDQS

B3/5.0
Behavior3/5

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

Annotations already indicate this is a mutating, non-idempotent operation. The description adds that the created file is empty and located on the remote host, which is useful context. However, it does not disclose overwrite behavior, parent directory creation, permissions, or session requirements.

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?

The description is short and the second sentence carries the real value by adding 'empty' and 'remote host.' The first sentence, 'Create a file,' is redundant with the title and tool name, preventing a perfect score.

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?

The description states the core operation, but with three undocumented parameters and no output schema, the tool is under-specified. An agent is left guessing about path/fileName semantics, session handling, and failure behavior, which is especially risky for a filesystem mutation.

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

Parameters1/5

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

Schema description coverage is 0% and the description gives no parameter-level meaning. An agent cannot determine whether path is a directory or full file path, how fileName relates to path, or what sessionId represents.

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?

The description uses a specific verb and resource: 'Create a file' that is explicitly an 'empty file on the remote host.' This clearly distinguishes it from siblings like write_file or upload_file, which imply file content transfer, and from create_folder, which creates a different resource type.

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?

The description provides no guidance on when to use this tool versus alternatives such as write_file, upload_file, or create_folder. It also lacks any mention of prerequisites like an active SSH session or when this tool is preferred.

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

termix_files_create_folderCreate a folderC

Create a folder. Creates a new folder on the remote host.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathNo
sessionIdNo
folderNameNo

TDQS

C2.4/5.0
Behavior3/5

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

Annotations already indicate this is a non-read-only, non-idempotent, non-destructive operation. The description adds the useful context that the folder is created 'on the remote host' and emphasizes it is 'new,' implying no overwrite. However, it does not disclose failure behavior, parent-directory requirements, permissions, or effects if the folder already exists.

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

Conciseness2/5

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

The description is short but contains a redundant opening sentence that simply repeats the title. The meaningful content is in the second sentence, but the first sentence does not earn its place. It is under-specified rather than efficiently compact.

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

Completeness1/5

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

With three undocumented parameters, no output schema, and no usage guidance, this description is far from complete. An agent cannot reliably determine how to construct a valid call, especially since no parameters are marked required. The description works as a label but not as a standalone tool contract.

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

Parameters1/5

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

Schema description coverage is 0%, and the description does not explain any of the three parameters: path, sessionId, or folderName. It is left ambiguous whether path is the parent directory, whether folderName is a relative name, or how sessionId selects the remote host. The description adds no parameter-level meaning.

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?

The description states a clear action and resource: 'Creates a new folder on the remote host.' This distinguishes it from sibling file tools like termix_files_create_file, since the resource type is explicit. The first sentence 'Create a folder' is redundant with the title, but the second sentence provides concrete meaning.

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?

No guidance is given about when to use this tool versus alternatives such as termix_files_create_file, termix_hosts_create_ssh_host, or other folder-related tools. There are no conditions, exclusions, or mention of prerequisites like an active SSH session.

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

termix_files_disconnect_sshDisconnect from SSHB

Disconnect from SSH. Closes an active SSH connection for file manager.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.4/5.0
Behavior3/5

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

The description states that it 'closes an active SSH connection', which is a behavioral effect beyond the generic annotations (readOnlyHint=false, destructiveHint=false). However, it does not disclose what happens if no active connection exists, whether it affects other sessions, or any side effects like terminating running processes. With annotations present, the description adds a little context but not enough for full transparency.

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?

The description is only two sentences and wastes no words. The key action is front-loaded ('Disconnect from SSH') immediately followed by a clarifying clause. Every word earns its place, making it exemplary in brevity and structure.

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 a simple tool with no parameters and no output schema, the description covers the core action. However, it omits edge-case behavior (e.g., what happens when there is no active SSH connection, whether the tool is safe to call repeatedly) and does not mention any related tools or preconditions. Given the tool's simplicity, the description is adequate but leaves some contextual gaps.

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

Parameters4/5

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

The tool has zero parameters and the schema is empty (100% coverage). Per the calibration baseline, a description need not add parameter details when there are none. The description is consistent with the schema and does not need to compensate for missing parameter information.

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?

The description clearly states the verb ('Disconnect') and the resource ('an active SSH connection for file manager'). It is specific enough to distinguish from sibling tools like termix_tunnels_disconnect_ssh_tunnel or termix_docker_disconnect_ssh_session, though it does not explicitly name the alternatives. The title and description align well, making the purpose immediately understandable.

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?

The description provides no guidance on when to use this tool versus alternatives such as termix_files_connect_ssh_file_management or termix_tunnels_disconnect_ssh_tunnel. It does not mention prerequisites (e.g., an active file-manager SSH session), nor does it explain when this tool is preferable to disconnecting a tunnel or checking status first. The intended use is implied by the name but not explicitly stated.

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

termix_files_download_fileDownload a fileC

Download a file. Downloads a file from the remote host. Uses SCP legacy mode (cat over exec) when the host has scpLegacy enabled, otherwise uses SFTP.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathNo
hostIdNo
userIdNo
sessionIdNo

TDQS

C2.7/5.0
Behavior3/5

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

The description goes beyond annotations by disclosing the transfer mechanism (SCP legacy mode vs SFTP) based on the host's scpLegacy setting. This is useful behavioral context that the annotations (readOnlyHint=false, destructiveHint=false) do not provide. However, it does not mention whether the download is full or partial, any size limits, or authentication requirements. Overall, it adds some value but leaves significant behavioral aspects undisclosed.

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?

The description is short and largely free of fluff, but it redundantly states 'Download a file' twice in two sentences. It is still concise overall, with no unnecessary detail. The extra mechanism note (SCP/SFTP) is relevant and placed after the basic purpose, so the structure is acceptable.

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?

Given the tool has four parameters with no schema descriptions, no output schema, and no parameter documentation, the description is far from complete. It does not explain what the parameters mean, what the return value is, or any side effects. The addition of the transport detail is helpful but insufficient for an agent to use the tool correctly without external knowledge.

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

Parameters1/5

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

The input schema has 0% description coverage for its four parameters, and the description does not compensate by explaining the meaning of path, hostId, userId, or sessionId. The agent has no clue from the description what these parameters refer to or how to populate them. This is a severe gap, as the description must carry the burden in such cases but fails to do so.

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?

The description states a clear verb and resource ('Downloads a file from the remote host'), making the purpose evident. However, it does not differentiate from siblings like stream_download_file or read_file, which also involve retrieving file content. The verb 'download' is more specific than 'read', but without contrasting it with those tools, the uniqueness is not explicit.

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?

The description provides no guidance on when to use this tool versus alternatives. It does not mention that stream_download_file exists for streaming, or that read_file is for reading content without persisting locally. No prerequisites, exclusions, or context for selection are given; the agent is left to infer from the name alone.

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

termix_files_execute_fileExecute a fileC

Execute a file. Executes a file on the remote host.

ParametersJSON Schema
NameRequiredDescriptionDefault
filePathNo
sessionIdNo

TDQS

C2.3/5.0
Behavior2/5

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

The description adds no behavioral context beyond what annotations already indicate. Annotations show readOnlyHint=false and destructiveHint=false, but the description does not disclose potential side effects, output behavior, or requirements. It only adds 'remote host,' which is a location clarification, not a behavioral trait.

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

Conciseness2/5

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

The description is concise but contains redundancy: the first sentence 'Execute a file.' exactly duplicates the title </br> The second sentence adds only the remote-host qualifier. The structure is not front-loaded with novel information, and the first sentence wastes space.

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

Completeness1/5

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

For a tool that executes a file on a remote host, the description is severely incomplete. It lacks expected behavior (what does 'execute' mean? what is the output?), does not explain session requirements, and provides no parameter details. With no output schema and only vague annotations, the agent cannot safely invoke this tool.

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

Parameters1/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 compensate for the undocumented parameters filePath and sessionId.</br> It does not — the description mentions neither parameter's meaning, format, or relationship to each other. An agent is left to guess what 'filePath' and 'sessionId' refer to.

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?

The description states a clear verb and resource: 'Execute a file' and clarifies it executes on the remote host, which distinguishes it from other file operations like read/write. However, it essentially restates the title and adds only the remote-host scope, so it doesn't fully earn a 5 by explicitly differentiating itself from sibling tools such as 'execute_snippet_host'.

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 tool versus alternatives, no prerequisites (e.g., must have an active SSH session), and no mention of conditions or exclusions. The description only restates the action without providing any contextual decision support.

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

termix_files_extract_archive_fileExtract archive fileB

Extract archive file. Extracts an archive file (.tar, .tar.gz, .tgz, .zip, .tar.bz2, .tbz2, .tar.xz, .txz) to a specified or default location on the remote host.

ParametersJSON Schema
NameRequiredDescriptionDefault
sessionIdYesSSH session ID
archivePathYesPath to the archive file on remote host
extractPathNoOptional custom extraction path (defaults to same directory as archive)

TDQS

B3.2/5.0
Behavior2/5

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

The description adds no behavioral context beyond what annotations already provide. It does not mention potential side effects like overwriting existing files, required write permissions, or that extraction may create new directories. The annotations (readOnlyHint false, destructiveHint false) are not contradicted, but the description fails to disclose any additional behavioral traits, such as whether the operation is reversible or what happens on conflict.

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?

The description is concise, two sentences, and front-loads the primary action. The list of supported formats is useful and compact. It is not overly verbose, though the first sentence is somewhat redundant with the title. Overall, it is efficiently structured and easy to scan.

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 a simple extraction tool with 3 parameters and no output schema, the description is adequate but not exhaustive. It covers the action and formats but does not explain the expected result or return value, nor does it mention any prerequisites (e.g., session must be active). Given the annotations and schema cover safety and parameters, this is a reasonable level of completeness, but there is room to inform about success/failure indications.

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%, so the parameters (sessionId, archivePath, extractPath) are already documented with descriptions. The description adds no extra meaning beyond what the schema provides; it merely mentions a 'default location' which is already implied by the optional extractPath parameter. Therefore, it meets the baseline but does not enhance parameter understanding.

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?

The description clearly states the tool's function: extracting archive files, and lists the supported formats (.tar, .tar.gz, .tgz, .zip, etc.), which adds specificity. It distinguishes itself from the sibling compress_files by naming the opposite operation. The verb and resource are unambiguous, making it easy for an agent to understand its purpose.

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?

The description provides no explicit guidance on when to use this tool versus alternatives. It does not mention that this is for extraction as opposed to compression (compress_files), nor does it suggest any prerequisites or conditions. The usage is implied by the name and description but lacks explicit routing or exclusions.

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

termix_files_get_ssh_connection_statusGet SSH connection statusB
Read-onlyIdempotent

Get SSH connection status. Checks the status of an SSH connection for file manager.

ParametersJSON Schema
NameRequiredDescriptionDefault
sessionIdYes

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds minimal behavioral context ('Checks the status') but does not explain what the status values look like, whether it returns a boolean, or what happens if the session does not exist. With annotations covering the core traits, a 3 is appropriate.

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?

Two short sentences with no filler. The core action is front-loaded, and the 'for file manager' qualifier adds useful context without bloat.

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 a simple read-only status check with one parameter and no output schema, the description is mostly adequate. However, it lacks detail on what the status response contains and how sessionId relates to the file-manager session lifecycle, which an agent might need to interpret the result correctly.

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 0%, so the description must compensate for the undocumented sessionId parameter. The description does not explain what sessionId refers to (e.g., a file-manager session ID) or how to obtain it. However, with only one parameter and a self-explanatory name, the gap is moderate. Baseline 3 is fair.

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?

The description states a specific verb ('Get') and resource ('SSH connection status'), and adds 'for file manager' to clarify the domain. It is clear but does not explicitly distinguish it from sibling tools like termix_docker_check_ssh_session_status or termix_tunnels_get_all_tunnel_statuses, which also relate to connection status.

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?

The description provides no guidance on when to use this tool versus alternatives. It does not mention that this is for file-manager SSH sessions specifically, nor does it exclude docker or tunnel status checks. An agent would have to infer usage from the name and the 'for file manager' phrase.

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

termix_files_keep_ssh_session_aliveKeep SSH session aliveC

Keep SSH session alive. Keeps an active SSH session for file manager alive.

ParametersJSON Schema
NameRequiredDescriptionDefault
sessionIdNo

TDQS

C2.4/5.0
Behavior2/5

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

Without annotations (readOnlyHint=false, etc.), the description carries the burden of behavioral disclosure. It does not explain what side effects occur, such as sending a keepalive packet, extending a timeout, or requiring an already-established session. It fails to mention any prerequisites (e.g., an active session must exist) or failure modes.

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?

The description is very short and to the point, but it is not front-loaded with actionable difference. It repeats the name and title almost verbatim ('Keep SSH session alive' vs 'Keep SSH session alive'), which is redundant. However, it is concise and avoids unnecessary detail.

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?

Given the absence of output schema and low parameter documentation, the description is insufficient. An agent would not know whether this tool requires an existing session, how to retrieve the sessionId, or what it returns. The simplicity of the tool does not excuse the missing context.

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?

The single parameter 'sessionId' is not documented in the schema (coverage 0%), and the description does not explain what it represents, how it is obtained, or its format. The description says 'Keeps an active SSH session alive' but does not connect this to the sessionId, leaving the agent guessing about the parameter's role.

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

Purpose3/5

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

The description states the verb 'keep alive' and the resource 'SSH session', making the purpose clear. It is distinguished from siblings like disconnect and connect by the 'keep alive' action, but it does not explicitly contrast with them, which would have made it clearer.

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?

The description implies that the tool is used to maintain an active session, but it does not specify when to use it versus alternatives like 'termix_docker_keep_ssh_session_alive' or when it should not be used. It lacks guidance on how often to call it or its role relative to session establishment and termination.

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

termix_files_list_files_directoryList files in a directoryC
Read-onlyIdempotent

List files in a directory. Lists the files and directories in a given path on the remote host.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes
sessionIdYes

TDQS

C2.9/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and non-destructive behavior. The description adds that it works on a remote host and returns both files and directories, but doesn't reveal sorting, hidden file handling, or error behavior. This is adequate given the strong annotation coverage, but not rich.

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?

The description is short and front-loaded, but the second sentence partially repeats the first while adding only 'files and directories' and 'remote host'. Some redundancy exists, though overall it's appropriately sized.

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?

With no output schema and no parameter guidance, the description is incomplete. An agent needs to know what sessionId refers to and what the response looks like. The description only covers the basic operation, leaving key invocation details missing.

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

Parameters1/5

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

Schema coverage is 0% and the description provides no parameter meaning beyond the word 'path' (which is already the parameter name). sessionId is completely unexplained. The description fails to compensate for the lack of schema descriptions.

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?

The description states a clear verb and resource ('List files in a directory') and clarifies it lists both files and directories on a remote host. It is distinct from sibling tools like read_file or create_file, though it doesn't name an alternative.

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?

Usage is implied by the description: use it to list files/directories in a path. There is no explicit when-to-use vs alternatives or when-not-to-use guidance, making it only minimally useful for navigation.

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

termix_files_move_file_directoryMove a file or directoryC
Idempotent

Move a file or directory. Moves a file or directory on the remote host.

ParametersJSON Schema
NameRequiredDescriptionDefault
newPathNo
oldPathNo
sessionIdNo

TDQS

C2.4/5.0
Behavior2/5

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

Annotations already provide readOnlyHint=false, destructiveHint=false, and idempotentHint=true, so the description adds little beyond stating 'on the remote host'. It does not disclose overwrite behavior, cross-filesystem handling, or whether the move is recursive for directories. The description fails to provide meaningful behavioral context beyond what annotations already convey.

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?

The description is short but redundant—the first sentence is essentially repeated in the second with a minor addition. It could be condensed into a single sentence without loss of meaning. It is not overly verbose, but the repetition wastes words.

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

Completeness1/5

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

The description is severely incomplete for a file operation with three parameters and no output schema. It omits any details about return values, error handling, required session context, or edge cases (e.g., what happens if the destination exists). An agent cannot reliably invoke this tool correctly with the given information.

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

Parameters1/5

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

Schema description coverage is 0% and the description does not explain the parameters at all. newPath, oldPath, and sessionId are not described, leaving the agent to infer their meanings from names alone. With no schema descriptions, the description should compensate, but it does not.

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?

The description states a clear verb ('Move') and resource ('file or directory'), which is not a tautology. However, it repeats the same idea in two sentences and does not explicitly distinguish from similar siblings like copy or rename, though the verb itself implies distinct operation.

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 tool versus alternatives like copy_file_directory or rename_file_directory. The description does not mention any conditions, prerequisites, or scenarios that would make this the preferred choice.

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

termix_files_read_fileRead a fileC
Read-onlyIdempotent

Read a file. Reads the content of a file from the remote host.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes
sessionIdYes

TDQS

C2.7/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds that the file is on the remote host, but it does not disclose potential behavioral nuances such as encoding, symlink resolution, size limits, or return format. With annotations lowering the bar, a neutral score is appropriate.

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?

The description is brief and front-loaded with the verb, but the first sentence 'Read a file.' is redundant with the title and adds no value. The second sentence provides slightly more context. It is not bloated, but the structure wastes one sentence on a tautology.

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?

For a tool with no output schema and 0% parameter coverage, the description is too thin. It does not clarify what the tool returns (raw content, base64, etc.), how errors are surfaced, or how it differs from download_file/stream_download_file. The annotations cover only the safety profile, not operational specifics, so the description leaves important gaps.

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

Parameters1/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 compensate for the meaning of path and sessionId, but it does not. It only says 'file from the remote host,' which loosely implies path but provides no explanation of sessionId or any parameter constraints or formats. This is a significant 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?

The description states a clear verb and resource: 'Read a file' and 'Reads the content of a file from the remote host.' It distinguishes from sibling list/write/download tools by focusing on reading content, though it does not explicitly contrast with download_file or stream_download_file.

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?

No usage guidance is provided. The description does not mention when to prefer this tool over alternatives like download_file, list_files_directory, or stream_download_file, nor does it state any exclusions or prerequisites.

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

termix_files_rename_file_directoryRename a file or directoryD
Idempotent

Rename a file or directory. Renames a file or directory on the remote host.

ParametersJSON Schema
NameRequiredDescriptionDefault
newNameNo
oldPathNo
sessionIdNo

TDQS

D1.9/5.0
Behavior2/5

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

No contradiction with annotations: readOnlyHint=false aligns with a mutation, destructiveHint=false with a metadata change, and idempotentHint=true with renames. However, the description adds nothing beyond the 'remote host' qualifier — it does not disclose permissions needed, error behavior when the target name already exists, or the semantics of a rename across directories. The annotations carry the safety profile, and the description contributes little on top.

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

Conciseness2/5

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

The description is short but redundant — it states the same fact twice ('Rename a file or directory' followed by 'Renames a file or directory on the remote host'). This is under-specification rather than conciseness; the repetition wastes the reader's attention without adding information.

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?

A rename tool with 3 undocumented parameters and no output schema needs substantially more explanation. The critical distinction from move_file_directory is never made, whether the operation fails if the destination already exists is unaddressed, and the role of sessionId is unexplained. The description is inadequate for reliable invocation.

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

Parameters1/5

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

Schema description coverage is 0% and the description provides zero information about the three parameters (newName, oldPath, sessionId). With no schema documentation and no description compensation, an agent has no idea which parameters are required, what format oldPath/newName take, or what sessionId refers to.

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 'Rename a file or directory. Renames a file or directory on the remote host.' is a near-tautology that restates the title twice, adding only the 'on the remote host' scope qualifier. It does not distinguish this tool from closely related siblings such as termix_files_move_file_directory or termix_files_copy_file_directory.

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?

No guidance is given on when to use this tool versus the closely related termix_files_move_file_directory sibling. There is no mention of preconditions (e.g., oldPath must exist), nor any when-not-to-use guidance. An agent gets no help selecting between rename, move, and copy.

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

termix_files_resolve_path_environment_variablesResolve a path with environment variablesA
Read-onlyIdempotent

Resolve a path with environment variables. Expands environment variables and ~ in a path via the SSH session.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes
sessionIdYes

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds that expansion happens 'via the SSH session', which implies a session must be active and that resolution is remote rather than local. It doesn't detail failure modes (e.g., undefined variables), but the annotations carry the main behavioral burden.

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 sentences, no filler. The core action is stated first, and the mechanism ('via the SSH session') is added in the second sentence. Every word earns its place.

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 a simple 2-parameter read-only tool with strong annotations, the description is mostly complete. It lacks details on edge cases like undefined environment variables or whether the resolved path is returned as a string, but the output schema is absent and the description could have added a bit more about the return value. Still, the tool is simple enough that the current description is adequate.

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 0%, so the description must compensate. It explains what happens to the 'path' parameter (expansion of env vars and ~), but it does not explain the 'sessionId' parameter beyond the implicit SSH session context. The description adds some meaning for 'path' but leaves 'sessionId' semantics to be inferred from the name.

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?

The description states a specific verb ('Resolve') and resource ('a path with environment variables'), and clarifies it expands environment variables and ~ via the SSH session. It is clear about what the tool does, though it doesn't explicitly distinguish it from sibling file tools; the unique 'resolve path' action is enough to differentiate.

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?

The description implies usage: use this when you need to expand environment variables or ~ in a path over an SSH session. It does not explicitly state when not to use it or name alternatives, but the context of needing path resolution is reasonably clear.

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

termix_files_set_sudo_password_sessionSet sudo password for sessionB

Set sudo password for session. Stores sudo password temporarily in session for elevated operations.

ParametersJSON Schema
NameRequiredDescriptionDefault
passwordNo
sessionIdNo

TDQS

B3.1/5.0
Behavior3/5

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

The description adds the key behavioral detail that the password is stored 'temporarily', which goes beyond the annotations. However, it does not disclose security implications (e.g., how the password is cleared, if it overrides an existing password, or that it is a sensitive write operation). Since annotations already mark it as non-read-only and non-idempotent, the description adds modest value but lacks depth for a security-sensitive operation.

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?

The description is two sentences with no wasted words, and the primary action is front-loaded. It is appropriately concise, though it could be slightly more structured with explicit parameter explanations.

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?

For a security-sensitive tool that sets a sudo password, the description is incomplete. It does not mention how the password is used later, whether it replaces an existing stored password, any session expiry behavior, or the lack of return value (since there is no output schema). The 'temporarily' is helpful but leaves critical operational details unaddressed. Given the complexity of security implications, this is insufficient.

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?

The schema lists two parameters (password, sessionId) with no descriptions, and the schema description coverage is 0%. The description does not explain the purpose or format of either parameter, nor clarify that sessionId is likely required despite being marked optional in the schema. This leaves the agent guessing about parameter meaning and requirements.

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?

The description clearly states the verb 'set' and the resource 'sudo password for session', and adds a clarifying clause about temporary storage for elevated operations. It is unambiguous and distinct from the sibling tools, which are all unrelated (files, metrics, etc.). A slight deduction because 'session' isn't explicitly tied to the sessionId parameter, but the intent is clear.

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?

The description implies usage before elevated operations ('for elevated operations') but does not explicitly state when to call this tool versus alternatives, and there are no direct alternatives. It does not mention prerequisites (e.g., that a session must exist) or when it is unnecessary. Guidance is minimal but not misleading.

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

termix_files_stream_download_fileStream-download a fileB

Stream-download a file. Downloads a file as a binary stream. Uses SCP legacy mode (cat over exec) when the host has scpLegacy enabled, otherwise uses SFTP.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathNo
sessionIdNo

TDQS

B3.1/5.0
Behavior3/5

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

Annotations declare readOnlyHint=false, destructiveHint=false, idempotentHint=false, openWorldHint=true. The description adds the transport detail (SCP legacy vs SFTP) which is useful behavioral context beyond annotations. However, it doesn't disclose what happens with the binary stream, whether the session must be established first, or any side effects.

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?

The description is two sentences with no waste. The core action is front-loaded, and the transport detail is a useful addition. It earns its place.

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?

For a tool with 2 parameters, 0% schema coverage, no output schema, and no parameter descriptions, the description is too thin. An agent doesn't know what sessionId refers to, whether a session must be pre-established, what the binary stream output looks like, or how this differs from termix_files_download_file. The transport detail helps but doesn't fill the gaps.

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%, so the description must compensate for the two parameters (path, sessionId). The description mentions 'file' and 'host' implicitly but doesn't explain what path or sessionId mean, their format, or how they relate. This is a significant gap given zero schema coverage.

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?

The description states a specific verb and resource: 'Stream-download a file. Downloads a file as a binary stream.' This clearly identifies the operation. It doesn't explicitly distinguish from sibling termix_files_download_file, but the 'stream' qualifier in the name and description provides some differentiation.

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?

The description mentions the transport mechanism (SCP legacy mode vs SFTP) which implies when it might be used, but doesn't explicitly state when to use this tool vs alternatives like termix_files_download_file. No exclusions or alternative tool names are given.

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

termix_files_stream_upload_file_via_multipart_formStream-upload a file via multipart formB

Stream-upload a file via multipart form. Uploads a file to the remote host by streaming multipart form data directly into an SFTP write stream, avoiding full in-memory buffering.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.3/5.0
Behavior3/5

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

The description adds a meaningful behavioral detail beyond the annotations: it streams multipart form data directly into an SFTP write stream instead of buffering the entire file in memory. It does not disclose overwrite behavior, authentication requirements, or failure modes, but the annotations already signal that this is a non-read-only, non-idempotent operation.

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?

The description is only two short sentences and is front-loaded, but the first sentence essentially repeats the title/name. The second sentence adds useful technical detail but largely restates the same idea, creating mild redundancy.

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?

For a tool that uploads a file, the description is incomplete: there is no output schema, the input schema is empty, and the description does not explain how to specify the file content or destination path, whether an existing SSH/SFTP session is required, or what happens if the remote file already exists. The streaming detail is helpful but insufficient for reliable invocation.

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

Parameters4/5

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

The input schema has zero properties, so there are no parameters to describe and the baseline for 0-param tools is 4. The description still contributes the key hint that the file is supplied via a multipart form, which is the only invocation-relevant information in the definition. Actual field-level details are absent, but that gap is more about contextual completeness.

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?

The description states a specific action (stream-upload), a target (remote host via SFTP), and a distinguishing mechanism (multipart form streaming with no full in-memory buffering). It clearly separates this from download/read operations, though it does not explicitly contrast with the closely related termix_files_upload_file.

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?

The phrase 'avoiding full in-memory buffering' implies this is intended for large files or memory-constrained scenarios, which gives some usage context. However, the description never explicitly says when to prefer this tool over termix_files_upload_file or when not to use it, and no exclusions or prerequisite conditions are stated.

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

termix_files_upload_fileUpload a fileD

Upload a file. Uploads a file to the remote host.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathNo
contentNo
fileNameNo
sessionIdNo

TDQS

D1.8/5.0
Behavior2/5

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

Annotations indicate this is a mutating operation (readOnlyHint=false, destructiveHint=false, idempotentHint=false), but the description adds no behavioral context beyond 'uploads a file to the remote host.' It does not disclose whether existing files are overwritten, how content is encoded, whether a session is required, or what side effects occur. With only annotations carrying the burdenuation, this is insufficient for an upload operation.

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

Conciseness2/5

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

The two sentences are tiny but redundant: 'Upload a file' restates the title, and 'Uploads a file to the remote host' adds only a minimal detail. The first sentence earns no place, and the entire description could be condensed into one meaningful sentence without loss.

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

Completeness1/5

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

For a tool with four undocumented parameters, no output schema, and a large sibling set of file operations, this description is far too sparse. Nothing explains how to construct a valid call, what the values represent, or how this upload differs from the chunked/multipart/write alternatives. A newer agent would be unable to use this tool correctly.

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

Parameters1/5

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

Schema coverage is 0% and the description explains none of the four parameters (path, content, fileName, sessionId). The agent cannot infer what these strings mean, how they relate, or what format content should be in. The description adds no meaning beyond the bare property names.

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

Purpose3/5

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

The description states the verb 'upload' and the resource 'file', but it is nearly identical to the title and does not distinguish itself from siblings like termix_files_upload_one_raw_file_chunk, termix_files_stream_upload_file_via_multipart_form, or termix_files_write_file. It tells the agent what it does but not what makes it unique.

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

Usage Guidelines1/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 tool versus any of the many file-related siblings. No mention of alternatives, prerequisites, or typical scenarios. An agent receives zero help in selecting this tool over the dozens of other upload/write/file tools.

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

termix_files_upload_one_raw_file_chunkUpload one raw file chunkA

Upload one raw file chunk. Writes a raw request body to the remote file at the supplied byte offset, allowing browser clients to avoid multipart/FormData 2GB limits.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.6/5.0
Behavior3/5

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

The description discloses that the tool performs a write at a byte offset and explains why it exists, which adds context beyond the annotations. However, it does not mention potential overwrite behavior, prerequisites such as an existing remote file, error handling, or what a successful chunk write returns.

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 concise sentences, with the core action front-loaded followed by the motivating use case. Every clause earns its place and there is no redundant filler.

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?

For a chunked write operation with no output schema and minimal annotations, the description leaves out critical operational guidance: chunk size limits, ordering/parallelism expectations, whether partial writes are resumable, offset alignment, and success/failure semantics. It explains the why but not enough of the how for an agent to invoke it reliably.

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?

With an empty input schema, the description's reference to a 'supplied byte offset' and 'raw request body' adds some semantic meaning. However, it never names the actual parameters or specifies how the offset is supplied, leaving an agent without sufficient invocation details. The zero-parameter baseline helps, but the description's references to implicit inputs create ambiguity.

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?

The description clearly states the action ('Upload one raw file chunk') and the mechanism ('Writes a raw request body to the remote file at the supplied byte offset'), which is specific enough to distinguish it from ordinary file writes. It even hints at differentiation from multipart uploads by mentioning the 2GB FormData limit, though it does not explicitly name the sibling alternatives.

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?

The phrase 'allowing browser clients to avoid multipart/FormData 2GB limits' gives a clear context and motivation for using this tool. It does not explicitly state when not to use it or name alternatives, but the intended scenario is reasonably clear.

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

termix_files_verify_totp_complete_connectionVerify TOTP and complete connectionC

Verify TOTP and complete connection. Verifies the TOTP code and completes the SSH connection for file manager.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

C2.9/5.0
Behavior2/5

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

The annotations already indicate this is not read-only, not idempotent, and not destructive. The description adds no extra behavioral context—it does not explain what happens on invalid TOTP, whether it requires a pending connection, or what state changes occur. It provides minimal value beyond the annotations.

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?

The description is very short but repetitive: the first sentence restates the title, and the second sentence repeats it with slightly more detail. It is not poorly structured, but the redundancy wastes an opportunity to add useful information.

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?

With no output schema and sparse annotations, the description carries the burden of explaining this step in a multi-step TOTP flow. It does not state prerequisites, effects, or return behavior, leaving an agent uncertain about when to invoke it relative to other connection tools.

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

Parameters4/5

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

The tool has zero parameters, so the baseline is 4. The description correctly avoids parameter explanations, and the empty schema requires no additional semantics.

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?

The description states a specific action—verify TOTP and complete SSH connection—and scopes it to the file manager, which helps distinguish it from Docker or metrics TOTP tools. However, it is somewhat terse and does not elaborate on the connection flow beyond the basic action.

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?

No usage guidance is provided. The description does not mention when to call this tool, what prerequisites exist, or how it relates to sibling tools like termix_files_connect_ssh_file_management or termix_files_complete_warpgate_authentication. The agent must infer the correct sequencing.

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

termix_files_write_fileWrite to a fileC

Write to a file. Writes content to a file on the remote host and preserves the existing permissions when the file already exists.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathNo
contentNo
sessionIdNo

TDQS

C2.8/5.0
Behavior3/5

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

Annotations already signal that the operation is not read-only and is open-world, and the description adds one useful behavioral detail: existing permissions are preserved. However, it does not disclose whether the tool overwrites existing content, creates missing files, or requires an active session, which are important for a write operation.

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?

The description is short, but the opening sentence 'Write to a file.' restates the tool name and title and adds no value. The second sentence is useful and well-placed, so overall it is compact but not optimally structured.

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?

With no output schema and only 0% parameter coverage, the description leaves out critical context: whether the file is created if it does not exist, whether content is appended or overwritten, what success/failure looks like, and how sessionId relates to the remote connection. The permission-preservation note is helpful but insufficient for a file mutation 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%, so the description carries the burden of explaining parameters. It only implicitly references 'content' by saying 'writes content,' but it does not explain what path should be, how sessionId is used, or whether the parameters are required or optional.

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?

The description identifies a concrete operation—writing content to a file on a remote host—and adds a meaningful scoping detail (it preserves existing permissions when the file exists). It is not merely a tautology, though the opening sentence echoes the tool name and the description does not explicitly contrast with create_file or upload_file.

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?

No guidance is provided about when to use this tool instead of closely related siblings such as create_file, upload_file, or move_file_directory. The mention of preserving permissions for existing files hints at an update scenario, but there is no explicit when/when-not statement or mention of alternatives.

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

termix_fleets_add_host_fleets_static_membershipAdd a host to a fleet's static membershipC

Add a host to a fleet's static membership

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
hostIdNo

TDQS

C2.1/5.0
Behavior2/5

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

The description adds no behavioral detail beyond the annotations: readOnlyHint=false and idempotentHint=false already imply a mutating, non-idempotent operation. It does not explain whether adding the same host twice is rejected, what happens to effective membership, or any validation or authentication considerations.

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?

The single sentence is concise and front-loaded, but it is under-specified rather than efficiently informative. It merely restates the title, so it is compact without adding structural value.

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?

For a mutating operation with no output schema and two under-documented parameters, the description is insufficient. An agent would not know which id is which, whether the host must already exist, or what a successful call returns.

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?

With 0% schema description coverage and no parameter details in the description, an agent must guess that 'id' refers to the fleet and 'hostId' refers to the host. The description adds no meaning beyond the schema's bare integer/number types and does not compensate for the low coverage.

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?

Tautological: description restates name/title.

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?

No guidance is given on when to use this tool versus other fleet membership tools such as listing resolved membership or sharing fleets. There are no conditions, prerequisites, or alternatives mentioned.

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

termix_fleets_create_fleetCreate a fleetD

Create a fleet

ParametersJSON Schema
NameRequiredDescriptionDefault
iconNo
nameNo
colorNo
tagRulesNo
descriptionNo

TDQS

D1.6/5.0
Behavior2/5

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

Annotations indicate this is a write operation (readOnlyHint=false) and not idempotent, but the description adds no behavioral context beyond those annotations. It does not disclose side effects, validation requirements, ownership semantics, or what happens when creating a fleet with optional fields omitted. No contradiction with annotations exists, but the description contributes no additional transparency.

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

Conciseness2/5

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

The description is short but this is under-specification rather than effective conciseness. The single sentence merely restates the tool name and title, so it does not earn its place by adding information.

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

Completeness1/5

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

For a creation tool with five optional parameters, no output schema, and no parameter documentation, the description is severely incomplete. An agent has no way to know what constitutes a valid fleet, which fields are meaningful, what defaults apply, or what the successful result looks like.

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

Parameters1/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 compensate by explaining the five parameters. It mentions none of icon, name, color, tagRules, or description, leaving the agent with no semantic guidance beyond raw property names and types.

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?

Tautological: description restates name/title.

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

Usage Guidelines1/5

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

There is no guidance about when to use this tool versus any alternative. The description does not mention related operations such as updating a fleet, listing fleets, or adding static members, nor does it explain any prerequisites or context for creating a fleet.

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

termix_fleets_list_current_users_fleetsList the current user's fleetsB
Read-onlyIdempotent

List the current user's fleets

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=true, and destructiveHint=false, so the safety profile is covered. The description adds the 'current user's' scoping detail, but provides no further behavioral context such as result format or potential staleness.

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?

The description is a single, tightly worded sentence with no filler or redundant explanation. It is appropriately sized for the tool's simplicity and front-loads the action and resource.

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?

For a zero-parameter read-only list tool, the description is nearly complete. It states exactly what is returned and for whom. However, it does not describe the response shape or mention whether results are paginated, which would be mildly helpful given there is no output schema.

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

Parameters4/5

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

The tool has zero parameters, and the baseline for such tools is 4. The description does not need to explain parameter meanings because there are none, and the schema confirms an empty properties object.

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?

Tautological: description restates name/title.

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?

The description gives no guidance on when to use this tool versus alternatives. It does not mention when not to use it, nor does it reference related fleet-management tools that might be more appropriate for different tasks.

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

termix_fleets_list_resolved_effective_members_fleetList the resolved effective members of a fleetA
Read-onlyIdempotent

List the resolved effective members of a fleet. Returns the union of statically-added hosts and hosts matched by the fleet's tag rules, each annotated with the caller's permission level on that host.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already establish that this is read-only, idempotent, and non-destructive. The description adds value beyond that by disclosing that results combine static and tag-matched hosts and that each host carries the caller's permission level. It does not contradict annotations.

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 sentences with no filler. The core action and the meaning of 'effective members' are front-loaded, and every clause contributes useful information about what the tool returns.

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?

For a simple, read-only, single-parameter tool, the description is nearly complete: it defines what is returned, how membership is computed, and what extra per-host data is included. Without an output schema, a bit more detail about the returned format could help, but this does not block correct invocation.

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?

There is one required parameter, 'id', with no schema description (0% coverage). The description only implies via 'of a fleet' that the id identifies the fleet, but it never explicitly states that the parameter is the target fleet ID. Some meaning is added, but the description does not fully compensate for the missing schema-level parameter documentation.

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?

The description uses a specific verb ('List') and a precise resource ('resolved effective members of a fleet'), and explains the composition as the union of static hosts and tag-rule matches. This clearly differentiates it from related fleet tools like listing current user fleets or reading an inventory snapshot.

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?

The description makes the intended use case clear: when you need the complete, effective membership of a fleet rather than static members or a snapshot. It does not explicitly name alternatives or give exclusion criteria, but the context is strong enough for an agent to select this tool appropriately.

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

termix_fleets_pull_same_remote_path_every_hostPull the same remote path from every host in a fleetA

Pull the same remote path from every host in a fleet. Fans out concurrently to every effective member host the caller has edit-level access to, reads remotePath via SFTP from each, and returns a single zip archive with one entry per successful host (/). Single file only (v1).

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
remotePathNo

TDQS

A4.2/5.0
Behavior4/5

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

Beyond the annotations, it discloses concurrent fan-out, SFTP reads, edit-level access requirements, per-successful-host zip entries, and a v1 single-file restriction. It does not discuss failure handling or rate limits, but with annotations present this is acceptable.

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 sentences with no filler: the purpose is front-loaded, the mechanics/access/output are in the second sentence, and the known limitation is stated last.

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?

For a simple 2-parameter tool with no output schema, the description explains the return value (zip archive with host-prefixed entries), concurrency, access scope, and file-type limitation. It could mention what happens on partial/no successful hosts, but the per-successful-host clause already conveys partial success semantics.

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 0%, so the description must compensate. It adds meaning for remotePath (SFTP path, single file only), but never explicitly defines id as the fleet identifier or explains the requiredness/format of either parameter. The fleet reference is inferable from the termix_fleets namespace and title, but not stated.

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?

The description uses a specific verb ('pull'), names the resource (same remote path), and defines the target scope ('every host in a fleet'). It also details the output format, distinguishing it from sibling fleet operations such as push/run-command tools.

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?

It clearly implies the use case: retrieving a single file from all fleet hosts, and states the access precondition ('edit-level access') and the single-file limitation. It does not name alternatives explicitly, but the pull-over-push and file-over-command intent is apparent from the wording.

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

termix_fleets_push_uploaded_file_same_remote_pathPush an uploaded file to the same remote path on every host in a fleetA

Push an uploaded file to the same remote path on every host in a fleet. Fans out concurrently to every effective member host the caller has edit-level access to. Single file only (v1) - the file is buffered once server-side and written to each host via SFTP.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

TDQS

A3.5/5.0
Behavior4/5

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

Annotations already indicate a non-readonly, non-idempotent, non-destructive mutation, and the description adds useful behavioral detail: concurrent fan-out, edit-level access requirement, single-file limitation, server-side buffering, and SFTP transport. It does not contradict the annotations and goes beyond what they declare.

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 sentences with no waste: purpose first, then concurrency/access scope, then limitations and transport. Every sentence adds new information and the structure is ideal for quick comprehension.

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?

The description covers high-level behavior but omits the meaning of the sole parameter, the source of the 'same remote path' (not in the schema), and any indication of the return value (no output schema). For a tool with one param and no schema help, this leaves critical gaps that prevent reliable invocation.

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

Parameters1/5

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

The schema has one required integer 'id' with no description (0% schema coverage), and the description does not explain what this id refers to. An agent cannot tell whether id is the uploaded file's identifier, a fleet id, or something else, making correct invocation ambiguous.

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?

The description states a specific verb ('Push'), a precise resource ('an uploaded file'), and a clear target ('the same remote path on every host in a fleet'). It distinguishes the tool from related fleet operations like run_command_across_every_host_fleet and pull_same_remote_path_every_host, so an agent can tell them apart.

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?

The description gives clear context about the operation and its concurrent fan-out, but it never explicitly names alternatives or states when-not-to-use. There is no comparison to related pull/run tools, so an agent must infer the appropriate situation from the name and first sentence.

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

termix_fleets_read_last_known_inventory_snapshot_fleetsRead the last-known inventory snapshot for a fleet's membersA
Read-onlyIdempotent

Read the last-known inventory snapshot for a fleet's members. No live connection - reads back whatever the most recent POST refresh stored. Latest-only per host, no history.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already signal read-only, idempotent, and non-destructive behavior. The description adds useful behavioral detail beyond that: there is no live connection, the data comes from a prior POST refresh, and only the latest snapshot per host is available with no history. This is meaningful extra context.

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?

The description is two sentences with no filler. It front-loads the core purpose, then adds key behavioral constraints ('No live connection', 'latest-only per host, no history') without repeating annotations or schema information.

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?

For a single-parameter, read-only tool with no output schema, the description is largely complete: it names the resource, explains the cached nature, and clarifies the lack of history. It does not describe the expected return shape or behavior when no snapshot exists, but the annotations and simplicity of the tool make this a minor gap.

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?

The schema has 0% description coverage, so the description carries the full burden of explaining the `id` parameter, but it never mentions what `id` refers to or how to determine it. The only hint is 'a fleet's members,' which implies `id` is a fleet ID, but the description itself adds no parameter guidance.

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?

The description clearly states a specific verb ('Read') and resource ('last-known inventory snapshot for a fleet's members'). It distinguishes itself from the likely sibling refresh tool by explicitly noting 'No live connection' and 'reads back whatever the most recent POST refresh stored.'

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?

The description gives clear context: this is the read-back side of a POST refresh operation, so an agent can infer it should be used when a cached/last-known snapshot is acceptable rather than live data. It does not explicitly name the refresh sibling or state when not to use this tool, so it stops short of a 5.

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

termix_fleets_refresh_inventory_snapshot_every_host_fleetRefresh the inventory snapshot for every host in a fleetA

Refresh the inventory snapshot for every host in a fleet. Connects to every effective member host the caller has view-level access to, collects OS/kernel/arch/hostname/uptime, and overwrites the stored latest-only snapshot per host.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

TDQS

A3.8/5.0
Behavior4/5

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

Beyond annotations, the description discloses concrete side effects: it connects to every accessible effective member host, collects live system fields, and overwrites the stored latest-only snapshot. This explains the mutation and access-dependent scope without contradicting the readOnlyHint/destructiveHint annotations.

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 sentences deliver the purpose first, then the mechanism and side effects. Every phrase adds information—scope, collected fields, and overwrite behavior—with no filler or repetition.

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 a one-parameter side-effecting tool this is usable: it states target scope and the data written. However, with no output schema it does not disclose what the call returns, such as success/failure summary or per-host results, or behavior when some hosts are inaccessible, leaving completion semantics partly to the agent's assumption.

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?

The schema describes only an integer id with 0% parameter description coverage, and the description never states that id identifies the fleet. The fleet connection is inferable from the title, but for a low-coverage schema the description should explicitly map id to a fleet identifier.

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?

The description opens with a specific verb and resource: 'Refresh the inventory snapshot for every host in a fleet.' It adds concrete detail—connects to accessible effective member hosts, collects OS/kernel/arch/hostname/uptime, and overwrites the latest-only snapshot—which clearly distinguishes it from siblings like reading the last-known snapshot or running commands across a fleet.

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?

Usage is implied rather than explicit: the name and 'Refresh' indicate when to call it, and the description gives scope ('every effective member host the caller has view-level access to'). However, it does not name alternatives such as termix_fleets_read_last_known_inventory_snapshot_fleets or state when NOT to refresh, such as when a read-only lookup is sufficient.

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

termix_fleets_run_command_across_every_host_fleetRun a command across every host in a fleetA

Run a command across every host in a fleet. Fans out concurrently to every effective member host the caller has edit-level access to. $HOST/$USER/$PORT/$NAME/$INPUT_n substitution is applied per host, same grammar as snippet execution. One host failing does not stop the others.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
commandNo
inputValuesNo

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already indicate readOnlyHint=false, so the write nature is known. The description adds valuable behavior: concurrent fan-out, per-host substitution grammar, and failure isolation. It also specifies the access requirement, going beyond annotations and providing context for side effects.

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 sentences, front-loaded with the core action, no redundant information. Efficient and structured.

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?

The tool has no output schema and only a vague mention of per-host behavior. Missing details like return format, error reporting, timeouts, or how results are aggregated. For a complex operation, this is incomplete.

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?

The input schema has no descriptions (0% coverage). The description mentions substitution grammar but does not explain what each parameter (id, command, inputValues) means or how they map. $INPUT_n hints at inputValues, but id and command are not clarified. The description fails to compensate for the lack of schema descriptions.

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?

The description clearly states the verb (run), resource (command across every host in a fleet), and scope (effective member hosts with edit access). It distinguishes from sibling tools like run_package_action_across_every_host and file operations, making the purpose unambiguous.

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?

The description provides context (concurrent fan-out, access requirement) but does not explicitly state when to use this tool vs alternatives or mention any exclusions. It doesn't reference sibling tools or conditions for selection, leaving some inference to the agent.

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

termix_fleets_run_package_action_across_every_hostRun a package action across every host in a fleetA

Run a package action across every host in a fleet. Auto-detects each host's package manager (apt/dnf/yum/pacman) and runs install/remove/upgrade-all, elevating with the host's stored sudo password. Requires manage-level access per host.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
actionNo
packageNo

TDQS

A4/5.0
Behavior4/5

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

Beyond the annotations, it discloses auto-detection of apt/dnf/yum/pacman, the mutation actions, elevation via the host's stored sudo password, and the per-host permission requirement. It does not cover return or partial-failure behavior, but the annotations already indicate a non-read-only operation.

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 concise sentences front-load the core operation, add package-manager behavior, and close with the authorization prerequisite. There is no filler or redundant repetition of the schema.

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?

For a multi-host mutation with no output schema, it covers the operation, package-manager handling, sudo elevation, and access requirement. It omits return/partial-failure details, but it is sufficient for selecting and invoking the action.

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 0%, so the description must compensate. It maps the action enum to install/remove/upgrade-all and implies package and fleet ID semantics, but it never explicitly names the id parameter or states which actions require the package field.

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?

The description states a specific operation: run a package action across every host in a fleet. It enumerates the action types and package-manager detection, which clearly distinguishes it from the sibling run-command fleet tool.

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?

The description implies usage for fleet-wide package install/remove/upgrade operations and states a manage-level access prerequisite. However, it does not explicitly contrast with run_command_across_every_host_fleet or provide when-not-to-use guidance.

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

termix_fleets_share_fleets_current_member_hosts_usersShare a fleet's current member hosts with users or rolesA

Share a fleet's current member hosts with users or roles. Snapshot at share time - grants hostAccess for every current member host to each target. Hosts added to the fleet later are not automatically shared; re-run this route to extend sharing to new members.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
targetsNo
durationHoursNo
permissionLevelNo

TDQS

A3.9/5.0
Behavior4/5

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

The description discloses significant behavioral aspects beyond annotations: it grants hostAccess to all current member hosts at the time of sharing, and hosts added later are not automatically shared. This snapshot semantics and non-propagation detail add value beyond the sparse annotations.

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?

The description is two sentences: the first states the core purpose, the second delivers the critical snapshot and re-run caveat. There is no filler, and the most important behavioral detail is front-loaded.

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?

While the purpose and snapshot behavior are clear, the description lacks essential parameter semantics and does not mention what the call returns or any prerequisites. Given four parameters with zero schema descriptions and no output schema, this leaves too many gaps for reliable invocation.

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?

With 0% schema description coverage, the description must explain the parameters, but it only mentions that targets are users or roles. It does not clarify id (presumably fleet ID), durationHours, permissionLevel, or the structure/format of targets, leaving an agent unable to construct a valid request.

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?

The description clearly states the action: sharing a fleet's current member hosts with users or roles. It uses a specific verb ('Share') plus resource ('fleet's current member hosts') and recipients ('users or roles'), and it is unique among the sibling tools which do not include another sharing operation.

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?

The description gives clear context for when to use the tool: to share current members at snapshot time, and it explicitly instructs that re-running extends sharing to later-added hosts. It does not name alternatives, but no direct sibling sharing tool exists, making this guidance sufficient for selection.

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

termix_fleets_update_fleetUpdate a fleetD

Update a fleet

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
iconNo
nameNo
colorNo
tagRulesNoHosts matching any of these tags are included.
descriptionNo

TDQS

D1.9/5.0
Behavior2/5

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

Annotations already indicate readOnlyHint=false and destructiveHint=false, so the agent knows it's a non-read mutation. The description adds nothing beyond 'update', which is already implied by the name. It does not disclose side effects, permission requirements, or whether partial updates are supported. Given that annotations cover the basic safety profile, the description still fails to add meaningful behavioral context.

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?

The description is a single short sentence with no wasted words. It is concise and front-loaded with the action. However, it is so minimal that it borders on under-specification, lacking any detail that would make it useful. It is not verbose, but it fails to convey necessary information.

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

Completeness1/5

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

The tool has 6 parameters, only id is required, and there is no output schema. The description provides no guidance on parameter usage, expected behavior, or return values. For a mutation tool with low schema coverage and no output documentation, this description is grossly inadequate. An agent would not know what fields to populate or what the response contains.

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

Parameters1/5

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

Schema description coverage is only 17% (only tagRules has a description). The description provides no explanation for parameters like id, name, color, or description. With such low schema coverage, the description must compensate, but it does not. An agent cannot determine what each parameter does or which ones are optional beyond the schema's structural hints.

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?

Tautological: description restates name/title.

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 tool versus alternatives such as termix_fleets_create_fleet or termix_fleets_list_current_users_fleets. The description lacks any mention of prerequisites, typical use cases, or exclusions. An agent would have to infer that updating is for modifying an existing fleet.

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

termix_hosts_add_pinned_fileAdd pinned fileC

Add pinned file. Adds a file to the list of pinned files for a host.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNo
pathNo
hostIdNo

TDQS

C2.8/5.0
Behavior3/5

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

The annotations already declare readOnlyHint=false and destructiveHint=false, so the description does not need to restate those. It adds minimal context (the 'for a host' scope) but does not disclose behavior such as duplicate handling, idempotency, or side effects beyond adding. Given annotation coverage, this is adequate but not rich.

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?

The description is short and to the point, but the first sentence ('Add pinned file') redundantly restates the title, and the second sentence adds only the host context. It neither wastes words nor provides substantial information, so it is acceptable but not exemplary.

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?

For a simple mutating operation with annotations covering safety, the description is still incomplete: it lacks parameter explanations, error conditions, and any note on file existence or duplicate pinning. An agent cannot fully determine correct usage without additional context.

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?

The input schema has 0% description coverage for name, path, and hostId. The description does not explain what these parameters represent or their relationships, leaving the agent to infer their meaning. It does not compensate for the missing schema descriptions.

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?

The description states a clear verb 'add' and a specific resource ('pinned files for a host'), which distinguishes it from similar operations like 'get_pinned_files' or 'add_recent_file'. However, it does not explicitly contrast with those siblings, leaving some differentiation to inference.

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?

No guidance is provided on when to use this tool versus alternatives like 'add_recent_file' or 'add_shortcut'. The description merely restates the action without indicating preconditions, scenarios, or exclusions, offering no decision support.

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

termix_hosts_add_recent_fileAdd recent fileC

Add recent file. Adds a file to the list of recent files for a host.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNo
pathNo
hostIdNo

TDQS

C2.8/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false and idempotentHint=false, so the mutation and non-idempotent nature are known. The description adds that the effect is appending to a per-host recent-files list, which is useful but minimal. It does not disclose behavior on duplicates, file existence requirements, or any open-world side effects despite openWorldHint=true, leaving some behavioral uncertainty.

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?

The description is short but includes a redundant first sentence 'Add recent file' that merely restates the title. The second sentence contains the substantive content. The redundancy wastes space and could be removed without loss.

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?

For a 3-parameter tool with no output schema and no parameter descriptions, the description is too thin. It does not clarify whether both name and path are needed, whether recent files are per-host, or any constraints on hostId or file paths. An agent cannot reliably construct a correct call without additional information.

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%, so the description must compensate. It mentions 'file' and 'host' but does not map these to the schema properties (name, path, hostId), nor does it indicate requiredness, formats, or semantics. An agent cannot infer that name/path identify the file and hostId identifies the host with confidence, leaving significant ambiguity.

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?

The description clearly states a specific verb ('Adds') and resource ('a file to the list of recent files for a host'), which matches the tool name and distinguishes it from sibling tools like termix_hosts_add_pinned_file and termix_hosts_add_shortcut by naming the 'recent files' list. The first sentence is redundant with the title, but the second sentence provides sufficient purpose clarity.

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?

No guidance is given on when to use this tool versus alternatives. It does not mention conditions such as 'use after opening a file' or contrast with add_pinned_file or add_shortcut. With several sibling tools sharing the 'add' prefix, the lack of usage context is a meaningful gap.

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

termix_hosts_add_shortcutAdd shortcutC

Add shortcut. Adds a shortcut for a specific host.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNo
pathNo
hostIdNo

TDQS

C2.5/5.0
Behavior2/5

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

The annotations indicate readOnlyHint=false and destructiveHint=false, but the description adds no additional behavioral context. It does not mention side effects, permission requirements, or the effect on existing shortcuts. Since the description carries no extra value beyond the annotations, the score is low.

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?

The description is concise at two sentences, but the first sentence ('Add shortcut') merely restates the title and adds no information. The second sentence provides the core purpose. It is efficient in length but wastes a sentence on redundancy.

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

Completeness1/5

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

For a write operation with 3 parameters and no output schema, the description is severely incomplete. It does not explain what a shortcut is, what values name and path should take, whether the path is remote or local, or any side effects. An agent cannot confidently invoke this tool based on the provided description.

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%, so the description must compensate for undocumented parameters. It only implies that 'hostId' refers to a specific host, but it does not explain the meaning of 'name' or 'path'. The parameter names are self-explanatory, but the description adds minimal semantic value and fails to address 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?

The description states a clear verb ('Adds') and resource ('a shortcut for a specific host'), distinguishing it from read-only sibling tools like termix_hosts_get_shortcuts. It is specific enough to convey the basic function, though it does not elaborate on what a 'shortcut' entails.

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?

No guidance is provided on when to use this tool versus alternatives. There is no mention of when adding a shortcut is appropriate, prerequisites, or exclusions. The description simply states the action without any usage context.

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

termix_hosts_bulk_import_ssh_hostsBulk import SSH hostsC

Bulk import SSH hosts. Bulk imports multiple SSH hosts.

ParametersJSON Schema
NameRequiredDescriptionDefault
hostsNo

TDQS

C2.5/5.0
Behavior2/5

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

Annotations already provide readOnlyHint=false, destructiveHint=false, and idempotentHint=false. The description adds only the word 'bulk' without disclosing whether existing hosts are overwritten, whether partial failures occur, or what validation is performed. With no idempotency hint and a bulk write, more behavioral disclosure is needed.

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?

The description is very short and front-loaded, but its only informative sentence is a near-verbatim repetition of the tool name. It is concise but not efficient, since it adds no new information.

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?

This is a bulk mutation tool with an untyped array parameter, no output schema, and 0% schema coverage. The description fails to explain the expected host object shape, failure behavior, or relationship to sibling host import/create tools, leaving an agent under-equipped to invoke it correctly.

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?

With schema coverage at 0%, the description carries full responsibility for explaining the 'hosts' array parameter. It does not describe the expected fields of each host object, required properties, or matching logic. The parameter name 'hosts' gives limited inherent meaning, so a low-middle score is appropriate.

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

Purpose3/5

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

The description states the verb and resource ('Bulk import SSH hosts') but essentially repeats the tool name. It does not meaningfully differentiate this tool from siblings like termix_hosts_import_hosts_openssh_config_file or termix_hosts_create_ssh_host.

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?

No guidance on when to use this tool versus alternatives. It does not mention the sibling OpensSH config import tool, single-host create/update tools, prerequisites, duplicate handling, or batch failure semantics.

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

termix_hosts_bulk_update_partial_fields_multiple_sshBulk update partial fields on multiple SSH hostsC

Bulk update partial fields on multiple SSH hosts

ParametersJSON Schema
NameRequiredDescriptionDefault
hostIdsNo
updatesNoPartial fields to apply. Setting folder clears parentHostId and vice versa, since a host is either in a folder or nested under a parent host.

TDQS

C2.4/5.0
Behavior2/5

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

Annotations already indicate readOnlyHint=false, destructiveHint=false, and idempotentHint=false, which partially convey the safety profile. The description adds no further behavioral detail about side effects, atomicity, or the mutual exclusion of folder and parentHostId. The 'partial fields' phrasing hints that unmentioned fields are untouched, but this is implicit and not elaborated. Since the description contributes nothing beyond the annotations, a low score is warranted.

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?

The description is a single, front-loaded sentence with no fluff or redundancy. It is concise and readable, but it is also exactly the same as the title, which means it adds zero new information. For conciseness alone it works, though it loses points for being a tautology.

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?

For a bulk mutation tool with two parameters codifying a mutual exclusion, the description is too thin. It does not explain return values (no output schema exists), error scenarios, behavior when hostIds is empty, or the consequence of omitting updates. The 'partial fields' phrasing hints at the update semantics but leaves critical information to the schema. An agent could easily misuse this tool without additional guidance.

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 50%: hostIds has no description, while updates has a useful explanation of the 'folder clears parentHostId' behavior. The tool description does not compensate for the undocumented hostIds parameter or add context for the updates object. However, the schema's own description partially covers the key parameter semantics, so a baseline 3 is appropriate.

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?

Tautological: description restates name/title.

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?

No guidance is provided on when to use this tool rather than related ones (e.g., termix_hosts_update_ssh_host for a single host or termix_hosts_bulk_import_ssh_hosts for bulk import). The description only states the action without any contextual triggers, prerequisites, or scenarios. An agent must infer from the name and schema.

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

termix_hosts_create_ssh_hostCreate SSH hostC

Create SSH host. Creates a new SSH host configuration.

ParametersJSON Schema
NameRequiredDescriptionDefault
ipYes
keyNoPrivate key contents (PEM).
pinNo
nameNoDisplay name. Defaults to username@ip if omitted.
portYes
tagsNo
notesNo
domainNo
folderNo
keyTypeNo
authTypeNoe.g. password, key, credential, vault, agent, keyboard-interactive, warpgate, opkssh.
passwordNo
usernameNo
jumpHostsNoOrdered list of jump host hop configs.
useSocks5No
socks5HostNo
socks5PortNo
defaultPathNoDefault file manager path.
keyPasswordNoPassphrase for an encrypted private key.
credentialIdNoUse a saved credential instead of an inline password/key.
enableDockerNo
enableTunnelNo
parentHostIdNoNests this host under another. Mutually exclusive with folder.
sudoPasswordNo
enableProxmoxNo
connectionTypeNossh, rdp, vnc, or telnet. Defaults to "ssh".
enableTerminalNo
socks5PasswordNo
socks5UsernameNo
vaultProfileIdNoUse a Vault SSH signing profile (authType "vault").
enableFileManagerNo
enableTmuxMonitorNo
tunnelConnectionsNo
allowSessionSharingNo
showDockerInSidebarNo
showTunnelInSidebarNo
enableCommandHistoryNo
enableTerminalToolbarNo
showTerminalInSidebarNo
forceKeyboardInteractiveNo
showFileManagerInSidebarNo
showServerStatsInSidebarNo

TDQS

C2.3/5.0
Behavior2/5

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

The description only restates that it creates a new SSH host configuration, which is already evident from the name and annotations like readOnlyHint=false. It does not disclose consequences, default values, persistence behavior, or what happens if required fields are missing. With annotations present, the description adds little behavioral value beyond the structured metadata.

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

Conciseness2/5

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

The text is short and front-loaded, but this is under-specification rather than concise writing. A 42-parameter creation tool needs at minimum a summary of what the tool accomplishes and what the key fields mean. The one-sentence description is too sparse to be considered appropriately sized for the schema complexity.

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

Completeness1/5

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

There is no output schema and no return value documentation, making the description the only place to explain effect and results, and it fails to do so. It also omits the relationship to update, temporary connections, bulk import, naming defaults, and folder hierarchy options. This is critically incomplete for a creation endpoint with this many optional fields.

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

Parameters1/5

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

The schema has 42 parameters but only 24% documented, so the description needed to compensate for the enormous undocumented surface. The description mentions no parameters at all and gives no hints about ip/port requirements, authType options, password vs key vs credential, or essential optional fields. An agent inspecting this tool would be left almost entirely dependent on a mostly undocumented schema.

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?

The description uses the verb 'create' with a clear resource, 'SSH host configuration,' which makes the core operation obvious. It is distinguishable from siblings like update_ssh_host and create_temporary_ssh_connection_without_saving because it emphasizes creating a new persisted configuration. It is slightly tautological with the title, but it adds the key 'new configuration' nuance.

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 tool versus alternatives such as update_ssh_host, create_temporary_ssh_connection_without_saving, or bulk_import_ssh_hosts. The agent has to infer usage from the tool name alone. No alternatives are named or excluded.

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

termix_hosts_create_temporary_ssh_connection_without_savingCreate a temporary SSH connection without saving to databaseA

Create a temporary SSH connection without saving to database. Returns a temporary host configuration for immediate use

ParametersJSON Schema
NameRequiredDescriptionDefault
ipYesSSH server IP or hostname
keyNoSSH private key (required if authType is key)
portYesSSH server port
keyTypeNoSSH key type
authTypeYesAuthentication method
passwordNoPassword (required if authType is password)
usernameYesSSH username
keyPasswordNoSSH key password (optional)
credentialIdNoCredential ID (required if authType is credential)
overrideCredentialUsernameNoUse provided username instead of credential username

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already indicate this is not read-only, not idempotent, and not destructive. The description adds the key behavioral fact that nothing is saved to the database and that a temporary host configuration is returned, but it does not explain connection lifetime, cleanup, or side effects beyond that.

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?

The description is short and places the most important distinguishing feature ('without saving to database') first. However, the first sentence closely repeats the tool name and title, so it does not fully earn its place.

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?

With 10 parameters and no output schema, the description should clarify what the returned 'temporary host configuration' contains and how it should be used. It also leaves the meaning of 'temporary' ambiguous—how long the connection or config remains valid is unspecified, which is a significant gap for an ephemeral 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%, so the schema already documents all ten parameters, including conditional requirements such as 'required if authType is key'. The tool description adds no additional parameter-level meaning, so the baseline score of 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?

The description uses a specific verb ('Create') and resource ('temporary SSH connection') with an explicit scope qualifier ('without saving to database'). This clearly distinguishes it from persistent host creation tools like termix_hosts_create_ssh_host.

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?

The phrase 'without saving to database' implies the use case of needing a non-persistent, ephemeral connection, but the description does not explicitly name alternatives or state when not to use this tool. The usage context is implied rather than actionable.

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

termix_hosts_enable_autostart_ssh_configurationEnable autostart for SSH configurationC

Enable autostart for SSH configuration. Enables autostart for a specific SSH configuration.

ParametersJSON Schema
NameRequiredDescriptionDefault
sshConfigIdNo

TDQS

C2.6/5.0
Behavior2/5

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

The annotations already indicate this is a state-changing operation (readOnlyHint=false) and not idempotent, but the description adds no behavioral context beyond that: it does not explain whether the autostart setting persists, applies immediately, requires a valid configuration, or can be reverted. No contradiction with annotations, but no useful disclosure is added either.

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?

The description is very short and front-loaded, but it is redundant: the first and second sentences essentially repeat the same statement, with only 'specific' added in the second. It earns points for brevity but not for efficient use of every sentence.

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?

With one parameter, no output schema, and a narrow operation, the definition could be adequate if it clarified that sshConfigId is required and what 'autostart' affects. It does neither, leaving an agent without enough context to know whether a call without the parameter is valid or what persistent effect will occur.

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?

The input schema contains one property, sshConfigId, with no description, and the schema marks zero parameters as required. The description never mentions sshConfigId or states that it must be supplied to identify the target configuration. The property name is somewhat self-explanatory, but the description does not compensate for the 0% schema description coverage.

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?

The description states a clear action ('enable autostart') on a specific resource ('SSH configuration'), and the second sentence narrows this to 'a specific SSH configuration.' This is sufficient to distinguish the operation from the sibling get_autostart_status tool, though it does not explicitly name that sibling or provide further scope detail.

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 tool versus alternatives such as termix_hosts_get_autostart_status, nor any mention of prerequisites like an existing SSH configuration or whether the enabling is only for saved/non-temporary hosts. The intended use is only implied by the action verb and tool name.

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

termix_hosts_enroll_host_api_keyEnroll a host with an API keyA

Enroll a host with an API key. Creates a host owned by the user assigned to the API key. The user's encrypted data must be unlocked by an active sign-in.

ParametersJSON Schema
NameRequiredDescriptionDefault
ipYes
nameNo
portNo
tagsNo
folderNo
authTypeNo
passwordNo
usernameNo
enableTunnelNo
enableTerminalNo
enableFileManagerNo

TDQS

A3.5/5.0
Behavior4/5

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

Annotations already indicate readOnlyHint=false and destructiveHint=false, so the description adds value by explaining the ownership rule and the sign-in requirement. This is consistent with the write operation implied by 'Creates a host'.

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 concise sentences that front-load the main action and immediately state the key prerequisite. No fluff or repetition.

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?

Despite the tool having 11 parameters and no output schema, the description only covers the core action and one prerequisite. It omits explanations of optional fields, success/failure behavior, and idempotency implications, leaving the agent under-informed for complex calls.

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

Parameters1/5

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

Schema description coverage is 0%, and the description does not mention any of the 11 parameters (ip, name, port, tags, authType, etc.). The agent is left entirely to infer parameter meanings from names alone, which is inadequate.

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?

The description states a specific verb ('Enroll') and resource ('a host with an API key'), and further clarifies the ownership semantics ('host owned by the user assigned to the API key'). This is distinct from siblings like create_ssh_host, which likely uses different authentication.

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 provides a prerequisite (active sign-in and unlocked encrypted data) but no explicit guidance on when to use this vs alternatives. There is no mention of exclusions or when another tool would be preferred.

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

termix_hosts_get_all_foldersGet all foldersB
Read-onlyIdempotent

Get all folders. Retrieves all folders for the authenticated user.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint, so the safety profile is covered. The description adds the meaningful context that results are scoped to authenticated user's folders, but does not disclose pagination, ordering, folder hierarchy, or other behavioral details.

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?

The description is very short and readable, with the key scope detail ('for the authenticated user') included. However, the first sentence merely repeats the title, making it slightly redundant; a single combined sentence would be tighter.

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?

For a zero-parameter, read-only, idempotent list action, the description together with annotations is largely sufficient. It clearly identifies the resource and user scope; missing details such as response shape or folder sorting are not critical for invoking this simple tool.

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

Parameters4/5

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

The tool has zero parameters and the input schema is empty, so there is nothing for the description to add about parameter semantics. The baseline of 4 applies because no parameter documentation burden exists.

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?

Description states a clear verb ('Get all folders') and resource, and adds the scope 'for the authenticated user.' It is distinct from sibling tools in the hosts domain, though it does not explicitly say 'host folders' to differentiate from folder-listing tools in other domains like snippets and credentials.

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?

The description provides no guidance on when to use this tool versus alternatives, and does not mention any exclusions or prerequisites. It only states what the tool does, leaving the agent to infer usage context from the name and sibling set.

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

termix_hosts_get_all_ssh_hostsGet all SSH hostsA
Read-onlyIdempotent

Get all SSH hosts. Retrieves all SSH hosts for the authenticated user.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint false, so the safety profile is covered. The description adds the 'authenticated user' scope, which is useful but minor. It does not contradict annotations and does not add significant behavioral detail beyond that.

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?

The description is two short sentences with no repetition or filler. The core action and scope are front-loaded. Every word earns its place; it is appropriately concise for a simple list operation.

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?

For a get-all list tool with no parameters and annotations covering safety, the description is nearly complete. It does not specify the return format (e.g., host IDs, names, details) which could be helpful, but given the simplicity and absence of an output schema, it is adequate overall.

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

Parameters4/5

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

There are zero parameters and schema coverage is 100% (vacuous). No parameter explanations are needed. The baseline for 0 params is 4, and the description adds nothing that could improve parameter semantics since there are none to explain.

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?

The description clearly states the verb 'Retrieves' and the resource 'all SSH hosts' plus the scope 'for the authenticated user'. It distinguishes from sibling tools like get_ssh_host_id by the explicit 'all' scope, so an agent can immediately understand it lists everything rather than a specific host.

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?

The description implies usage (use when you need all SSH hosts) but provides no explicit alternatives or exclusions. It does not mention that for a specific host you should use a different tool, nor does it contrast with filters. This is adequate but not fully explicit.

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

termix_hosts_get_autostart_statusGet autostart statusB
Read-onlyIdempotent

Get autostart status. Retrieves the autostart status for the user's SSH configurations.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.2/5.0
Behavior3/5

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

The annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint, so the description doesn't need to repeat them. It adds no extra behavioral context, such as return format or potential side effects. The description is consistent with the annotations, so no contradiction.

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?

The description is short but includes a redundant first sentence that simply restates the title. The second sentence provides the meaningful context about SSH configurations. It could be more concise by removing the first 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 a simple getter with no parameters, the description is mostly adequate, but it doesn't specify the return format (e.g., boolean, string) or any details about the status value. Since there is no output schema, the description should provide this context. The tool is simple enough that this is a minor gap.

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

Parameters4/5

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

The tool has zero parameters, so the schema is trivially covered. There is nothing for the description to explain about parameters. The baseline score of 4 applies.

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?

The description states the tool retrieves the autostart status for the user's SSH configurations, which is specific and clear. It distinguishes from the sibling enable_autostart tool by being a read operation, though it doesn't explicitly name the alternative. The redundancy with the title slightly reduces clarity.

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?

No guidance is provided on when to use this tool versus alternatives like termix_hosts_enable_autostart_ssh_configuration. The description does not mention prerequisites, use cases, or scenarios where this getter is appropriate. An agent would need to infer its usage from the name alone.

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

termix_hosts_get_command_historyGet command historyC
Read-onlyIdempotent

Get command history. Retrieves the command history for a specific host.

ParametersJSON Schema
NameRequiredDescriptionDefault
hostIdYes

TDQS

C2.6/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is known. The description adds no behavioral context beyond what 'Retrieves' implies—no mention of data source, pagination, cache behavior, or failure modes. With annotations present, the description should add some context, but it does not.

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?

The description is short but opens with 'Get command history,' which merely repeats the title. The second sentence adds the 'specific host' detail. The redundancy is not harmful, but the first sentence earns no place, making it slightly less tight than it could be.

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?

For a simple read tool with one parameter and no output schema, the description is thin. It does not clarify whether 'command history' refers to shell history on the host, Termix-managed command logs, or something else, and it does not distinguish this tool from termix_terminal_history_get_command_history. An agent lacks enough context to confidently select and invoke it correctly.

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?

The schema coverage is 0% for hostId, so the description must compensate. It only says 'for a specific host,' which weakly implies hostId is the target host identifier, but it does not explain the semantics, format, or where to obtain a valid hostId. This is minimal compensation for an undocumented parameter.

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?

The description states a specific verb ('Retrieves') and a resource ('command history for a specific host'), which is clear and actionable. It does not explicitly name or distinguish itself from the sibling termix_terminal_history_get_command_history, but the qualifier 'for a specific host' provides enough differentiation for most agents.

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?

No guidance is given about when to use this tool versus the closely related termix_terminal_history_get_command_history or other history-related tools. The description does not mention prerequisites, context, or exclusions, leaving the agent to infer usage from the name alone.

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

termix_hosts_get_opkssh_token_status_hostGet OPKSSH token status for a hostC
Read-onlyIdempotent

Get OPKSSH token status for a host

ParametersJSON Schema
NameRequiredDescriptionDefault
hostIdYesHost ID

TDQS

C2.9/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, openWorldHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is fully covered. The description adds no behavioral context beyond the annotations, such as what the token status represents, whether it can be stale, or what happens if the host is unreachable. With annotations covering the safety profile, a 3 is appropriate.

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?

The description is a single, efficient sentence that states the operation clearly. It is appropriately sized for a simple read tool with one parameter, though it could have added a bit more context without becoming verbose.

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 a simple read-only tool with one fully documented parameter and annotations covering safety, the description is mostly complete. However, it does not explain what the returned token status looks like or what values it can take, which could be useful for an agent deciding whether to call this tool. The lack of an output schema increases the burden slightly, but the tool's simplicity keeps the gap moderate.

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%, so the schema already documents the single parameter 'hostId' as 'Host ID'. The description does not add any additional meaning beyond what the schema provides, so the baseline 3 is correct.

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?

Tautological: description restates name/title.

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?

The description implies the tool is for retrieving OPKSSH token status for a host, and the readOnlyHint annotation reinforces that it is a safe read operation. However, it does not explicitly state when to use this tool versus alternatives, nor does it mention any prerequisites such as whether the host must have OPKSSH configured.

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

termix_hosts_get_pinned_filesGet pinned filesB
Read-onlyIdempotent

Get pinned files. Retrieves a list of pinned files for a specific host.

ParametersJSON Schema
NameRequiredDescriptionDefault
hostIdYes

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already indicate read-only, idempotent, and non-destructive behavior, so the safety profile is covered. The description adds that it retrieves a list, but no details on response structure, ordering, or pagination. With annotations covering safety, this is adequate but not rich.

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?

Description is very short (two brief sentences) and front-loads the core purpose. No wasted words, though it could include more useful context without being verbose.

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?

Tool is simple (one parameter, no output schema) and annotations cover safety, so the description is mostly complete. However, it lacks guidance on hostId provenance, any related tools, or what 'pinned' implies. For a simple read tool, this is minimally viable.

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 0%, but there is only one parameter, hostId. The description mentions 'for a specific host', implying hostId identifies the host. This adds some meaning beyond the schema, but no description of the hostId format or how to obtain it. For a single parameter, this is acceptable.

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?

The description states the verb 'Get' and the resource 'pinned files for a specific host', which is clear and specific. It distinguishes itself from sibling tools like termix_hosts_get_recent_files by mentioning 'pinned files' explicitly, though it doesn't name the sibling.

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?

The description gives no guidance on when to use this tool versus alternatives like get_recent_files or get_shortcuts. It doesn't explain what 'pinned' means or when a user would need it. No exclusions or alternative tool names are provided.

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

termix_hosts_get_recent_filesGet recent filesB
Read-onlyIdempotent

Get recent files. Retrieves a list of recent files for a specific host.

ParametersJSON Schema
NameRequiredDescriptionDefault
hostIdYes

TDQS

B3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds only that it retrieves a list, which is consistent. It does not disclose any additional behavior such as ordering, limits, or authentication requirements, but for a read-only list operation this is acceptable.

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?

The description is two short sentences with no wasted words. The core action and scope are front-loaded, making it easy to parse. It is appropriately concise for a simple retrieval tool, though it could add a bit more context without bloat.

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?

Given the single parameter, rich annotations, and no output schema, the description is mostly sufficient but leaves out details like what constitutes 'recent' (time window, limit, ordering). Since it is a getter with no side effects, the missing context is a minor gap, but an agent might benefit from knowing if results are sorted or capped.

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 description does not elaborate on hostId beyond saying 'specific host'. The schema provides type and range but no semantic meaning; the description does not compensate for the lack of parameter documentation, leaving the agent to infer that hostId identifies the host.

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?

The description states a clear action (retrieves a list) and resource (recent files) scoped to a specific host via hostId. It distinguishes from most siblings by its focus on 'recent files' as opposed to pinned files, command history, or other host data, though it does not explicitly name alternatives.

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?

No guidance is given on when to use this tool versus alternatives like termix_hosts_get_pinned_files or termix_hosts_get_command_history. The context is implicit (retrieving recent files for a host) but there are no explicit exclusions or alternative pointers.

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

termix_hosts_get_shortcutsGet shortcutsB
Read-onlyIdempotent

Get shortcuts. Retrieves a list of shortcuts for a specific host.

ParametersJSON Schema
NameRequiredDescriptionDefault
hostIdYes

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already establish readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the description only needs to add value beyond that. It does say the tool 'retrieves a list,' which clarifies the return shape, but it does not describe behavior such as empty results, host validity requirements, sorting, or whether shortcuts have statuses or extra metadata.

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?

The text is short and front-loaded, but the opening sentence 'Get shortcuts.' is a redundant restatement of the tool name and title. The second sentence earns its place by adding the host-scoped retrieval meaning, but the first adds no unique information.

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?

For a simple one-parameter read-only tool with strong annotations, this is mostly sufficient: the agent knows what to call, the required hostId is in the schema, and the return concept is described as 'a list of shortcuts.' It would be stronger if it described the shortcut object shape or noted behavior for unknown hosts, but the simplicity of the tool does not demand much more.

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 0%, so the description carries the burden of explaining hostId. It partially does this by saying the list is 'for a specific host,' which maps naturally to the hostId parameter. It does not, however, name the parameter explicitly or explain where to obtain a valid hostId.

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?

The second sentence clearly states the verb ('Retrieves'), resource ('list of shortcuts'), and scope ('for a specific host'). This distinguishes it from host-level list tools like termix_hosts_get_all_ssh_hosts and from the mutation-oriented termix_hosts_add_shortcut. It loses a point because the first sentence simply repeats the title and 'shortcuts' is never defined beyond the name.

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?

The phrase 'for a specific host' implies the appropriate use case: the agent should call this when it needs shortcuts scoped to one host. However, there is no explicit guidance about when not to use it, no mention of alternatives, and no indication of how this relates to other host-scoped getters such as get_pinned_files or get_recent_files.

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

termix_hosts_get_ssh_host_idGet SSH host by IDA
Read-onlyIdempotent

Get SSH host by ID. Retrieves a specific SSH host by its ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

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, idempotentHint=true, and destructiveHint=false, and the description's 'retrieves' is consistent with those. The description adds no further behavioral detail such as return shape, not-found behavior, or error semantics, but the annotations cover the safety profile.

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?

The description is very short, but it is redundant: 'Get SSH host by ID' and 'Retrieves a specific SSH host by its ID' say essentially the same thing. The first sentence duplicates the title, so not every sentence earns its place, though there is no significant bloat.

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 a single-parameter read-only getter, the description is mostly sufficient, but there is no output schema and no statement about what the returned SSH host object contains or what happens when the ID is not found. It also does not point to the sibling list tool as the source of valid IDs.

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 0%, so the description must carry the meaning of the id parameter. It does say the id identifies a specific SSH host, but it doesn't explain where the ID comes from or how it relates to other host tools. Still, for a simple get-by-ID operation, this is adequate.

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?

The description clearly states a specific verb ('Get'/'Retrieves') and resource ('SSH host') with a distinguishing identifier criterion ('by ID'). This separates it from list-oriented siblings such as termix_hosts_get_all_ssh_hosts.

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?

The phrase 'by its ID' implies the tool is for fetching a single, known SSH host, but it never explicitly names alternatives or states when not to use it. There is enough implied context to guess usage, but no direct guidance versus sibling tools.

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

termix_hosts_import_hosts_openssh_config_fileImport hosts from an OpenSSH config fileB

Import hosts from an OpenSSH config file. Parses an OpenSSH ~/.ssh/config file and imports the defined hosts.

ParametersJSON Schema
NameRequiredDescriptionDefault
contentYesRaw text content of the SSH config file.
overwriteNo

TDQS

B3/5.0
Behavior2/5

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

Annotations already indicate a mutating, non-idempotent operation with no destructive hint. The description adds no further behavioral context beyond restating the import action, leaving important details unstated—especially how existing hosts are handled and what the overwrite parameter actually does.

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?

The description is compact at two sentences, front-loads the core action, and avoids unnecessary detail. There is minor redundancy in repeating 'OpenSSH config file,' but it does not hurt usability.

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 a simple import tool with one required parameter and no output schema, the core call is clear: provide raw config content. However, the behavior of overwrite and the handling of duplicate or existing hosts are omitted, leaving a moderate gap that could cause incorrect agent decisions.

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?

The schema describes content as 'Raw text content of the SSH config file,' but overwrite has no schema description. The description repeats the content meaning without adding syntax or format details, and it provides no clarification for the undocumented overwrite parameter, leaving half the parameters under-specified.

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?

The description states a specific action—'Import hosts from an OpenSSH config file'—with a clear resource (hosts) and source format. It does not explicitly distinguish this from sibling tools like termix_hosts_bulk_import_ssh_hosts, but the OpenSSH config source is a meaningful differentiator on its own.

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?

The intended use case is implied: use this tool when the user has an OpenSSH ~/.ssh/config file and wants to import its hosts. However, there is no explicit guidance about when to prefer alternatives such as termix_hosts_bulk_import_ssh_hosts or termix_hosts_create_ssh_host, nor any mention of exclusions.

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

termix_hosts_rename_folderRename folderC
Idempotent

Rename folder. Renames a folder for SSH hosts and credentials.

ParametersJSON Schema
NameRequiredDescriptionDefault
newNameNo
oldNameNo

TDQS

C2.6/5.0
Behavior2/5

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

The description adds no behavioral detail beyond the annotations. It does not mention whether renaming a folder affects existing SSH hosts or credentials, whether it requires permissions, or what happens if the folder does not exist. Annotations already indicate mutating and idempotent, but no additional context is given.

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?

The description is very short, consisting of two sentences. The first sentence is a tautology of the title, and the second adds a brief scope. It is concise but lacks substance, making it less useful than it could be.

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?

For a simple mutation tool with two parameters, the description is incomplete. It does not specify what constitutes a folder, whether the oldName must exist, whether newName must be unique, or what the outcome is. No output schema is provided, so the agent has no information about the result.

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?

The schema has no descriptions (0% coverage), and the description does not explain the parameters newName and oldName. While their names are suggestive, the description provides no details on format, constraints, or the relationship between them.

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 the verb 'rename' and resource 'folder' and clarifies scope as 'for SSH hosts and credentials', which differentiates from other rename tools like termix_credentials_rename_credential_folder. However, it could be more explicit about how it differs from termix_hosts_update_folder_metadata which might also allow renaming.

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?

No guidance is provided about when to use this tool versus alternatives such as termix_hosts_update_folder_metadata or termix_credentials_rename_credential_folder. The description does not mention prerequisites, side effects, or exclusions.

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

termix_hosts_reorder_foldersReorder foldersA
Idempotent

Reorder folders. Sets a manual sortOrder for multiple sibling folders, used by drag-to-reorder in the sidebar's manual sort mode. Folders with no existing metadata row are created.

ParametersJSON Schema
NameRequiredDescriptionDefault
positionsNo

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already indicate a non-read-only, idempotent, non-destructive mutation. The description adds a meaningful side effect: folders without an existing metadata row are created. It does not fully describe whether unspecified siblings are untouched, but it goes beyond annotation basics.

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?

Three short sentences, with the key side effect stated after the main purpose. The opening 'Reorder folders' is slightly redundant with the title, but the remaining sentences are dense and useful.

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?

For a single-parameter, low-complexity mutating tool, this is nearly complete: it covers purpose, usage context, and the important auto-creation behavior. It could be stronger if it described the exact expected contents of the positions payload, though the schema largely covers that.

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 0%, so the description must compensate, and it only partially does. It establishes that multiple sibling folders are assigned manual sortOrder values, aligning with the 'positions' array, but it does not explicitly describe expected item shape (name plus integer sortOrder) beyond what the schema property names already imply.

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?

Description identifies a concrete operation: reordering folders by setting a manual sortOrder for sibling folders. It names the mechanism (drag-to-reorder in sidebar's manual sort mode) and distinguishes it from sibling tools like reorder_hosts.

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?

The usage context is explicit – this is for sidebar manual-sort drag-to-reorder. It does not explicitly state when not to use it or name alternatives, but the folder-versus-host distinction in sibling names and the manual-sort context make selection clear.

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

termix_hosts_reorder_hostsReorder hostsA
Idempotent

Reorder hosts. Sets a manual sortOrder for multiple hosts within the same folder, used by drag-to-reorder in the sidebar's manual sort mode.

ParametersJSON Schema
NameRequiredDescriptionDefault
positionsNo

TDQS

A4.2/5.0
Behavior4/5

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

The description adds behavioral context beyond annotations by explaining that it sets sortOrder, restricts to hosts within the same folder, and ties to manual sort mode. With annotations already covering readOnlyHint=false, idempotentHint=true, and destructiveHint=false, this is sufficient. No contradiction.

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?

The description is concise: two sentences, no filler. The first sentence states the action, and the second provides the essential context. It is front-loaded with the verb and resource, making it easy to scan.

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?

For a low-complexity tool with a simple array parameter and no output schema, the description offers adequate context: it explains the purpose, scope (same folder), and UI scenario. It lacks details about return behavior or prerequisites (e.g., folder existence), but given the simplicity and existing annotations, these are minor gaps.

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 0%, so the description must compensate. It mentions 'sortOrder' and 'multiple hosts', giving some meaning to the positions array, but it does not explicitly clarify that each position object contains an 'id' (host identifier) and a 'sortOrder' value. The agent is left to infer details from the field names, which is partially aided by the description but not fully.

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?

The description clearly states a specific verb ('reorder') and resource ('hosts'), and explains that it sets manual sortOrder values for hosts within the same folder. This distinguishes it from sibling tools like termix_hosts_reorder_folders by explicitly mentioning hosts and the context of manual sort mode.

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?

The description provides clear context for when this tool is used: 'used by drag-to-reorder in the sidebar's manual sort mode.' This gives an agent a strong signal about the intended scenario, though it does not explicitly name alternatives or state exclusions (e.g., 'use reorder_folders for folders').

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

termix_hosts_test_proxy_connectivityTest proxy connectivityC

Test proxy connectivity. Tests connectivity through a proxy configuration to a target host.

ParametersJSON Schema
NameRequiredDescriptionDefault
proxyChainNo
testTargetNo
singleProxyNo

TDQS

C2.6/5.0
Behavior2/5

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

The annotations already convey that the operation is not read-only, not idempotent, and not destructive, but the description adds no behavioral context beyond restating the purpose. It does not mention potential side effects, network requirements, response format, or whether the test establishes persistent connections.

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?

The description is short and easy to parse, but the first sentence is redundant with the title and adds no information. The second sentence provides a small amount of context, but overall the description is more under-specified than efficiently concise.

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?

Given three nested optional parameter objects and no output schema, the description is too thin to support correct invocation. It does not clarify what a successful or failed connectivity test looks like, how selectors like proxyChain and singleProxy relate, or what the tool returns to the caller.

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 description only generically says 'proxy configuration' and 'target host,' which maps loosely to the parameters. It does not explain the distinction between proxyChain and singleProxy, the meaning of host/port/type/username/password, or which parameters are required under what conditions.

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?

The description states a specific verb and resource: 'Tests connectivity through a proxy configuration to a target host.' This clarifies what the tool does beyond the title, although it does not explicitly differentiate from sibling tools, none of which appear to overlap with proxy connectivity testing.

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 about when to use this tool versus alternatives, nor any context about prerequisites or intended scenarios. The tool name and description imply a test operation, but the description does not explain when an agent should choose it over other host-related tools.

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

termix_hosts_update_folder_metadataUpdate folder metadataC
Idempotent

Update folder metadata. Updates the metadata (color, icon, assigned credential) of a folder.

ParametersJSON Schema
NameRequiredDescriptionDefault
iconNo
nameNo
colorNo
credentialIdNo

TDQS

C2.7/5.0
Behavior3/5

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

Annotations already establish that this is a non-read-only, non-destructive operation, and the description adds that only metadata attributes like color/icon/assigned credential are affected. However, it does not disclose partial-update semantics, how absent fields are handled, or authentication/resource-selection requirements.

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

Conciseness2/5

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

The description repeats the same information twice: 'Update folder metadata' and 'Updates the metadata ... of a folder.' The second sentence adds only a field list already visible in the schema, making the description somewhat redundant despite being short.

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?

For a tool with no required parameters and no folder identifier in the schema, the description does not explain how the folder is identified or what happens when only some metadata fields are provided. An agent can guess the basic operation but not confidently invoke it correctly in all cases.

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%, so the description needed to explain parameter meanings, but it only loosely maps credentialId to 'assigned credential' and omits the name parameter entirely. It provides no type, value, or behavior context beyond the raw schema property names.

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 concrete operation on a specific resource (folder metadata) and explicitly names the fields affected: color, icon, and assigned credential. It is clear enough to distinguish the tool's purpose, though it doesn't explicitly contrast it with termix_hosts_rename_folder or clarify whether 'name' belongs to this operation.

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?

The description provides no guidance on when to choose this tool over rename_folder, update_ssh_host, or other host-update siblings. It also does not explain prerequisites such as how the target folder is selected or whether this should be used for partial updates.

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

termix_hosts_update_ssh_hostUpdate SSH hostA
Idempotent

Update SSH host. Updates an existing SSH host configuration. IMPORTANT: this replaces the host's configuration, it does not merge. Any field you omit is reset to its default - including username, password/key, and every enableX toggle. Call termix_hosts_get_ssh_host_id first and resend its fields alongside the ones you're changing.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
ipYes
keyNoPrivate key contents (PEM).
pinNo
nameNoDisplay name. Defaults to username@ip if omitted.
portYes
tagsNo
notesNo
domainNo
folderNo
keyTypeNo
authTypeNoe.g. password, key, credential, vault, agent, keyboard-interactive, warpgate, opkssh.
passwordNo
usernameNo
jumpHostsNoOrdered list of jump host hop configs.
useSocks5No
socks5HostNo
socks5PortNo
defaultPathNoDefault file manager path.
keyPasswordNoPassphrase for an encrypted private key.
credentialIdNoUse a saved credential instead of an inline password/key.
enableDockerNo
enableTunnelNo
parentHostIdNoNests this host under another. Mutually exclusive with folder.
sudoPasswordNo
enableProxmoxNo
connectionTypeNossh, rdp, vnc, or telnet. Defaults to "ssh".
enableTerminalNo
socks5PasswordNo
socks5UsernameNo
vaultProfileIdNoUse a Vault SSH signing profile (authType "vault").
enableFileManagerNo
enableTmuxMonitorNo
tunnelConnectionsNo
allowSessionSharingNo
showDockerInSidebarNo
showTunnelInSidebarNo
enableCommandHistoryNo
enableTerminalToolbarNo
showTerminalInSidebarNo
forceKeyboardInteractiveNo
showFileManagerInSidebarNo
showServerStatsInSidebarNo

TDQS

A4.3/5.0
Behavior5/5

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

The description goes well beyond the annotations by disclosing the critical behavioral trait: the call replaces the host's configuration, does not merge, and resets every omitted field to its default, including username, password/key, and enableX toggles. This prevents a dangerous incorrect assumption and is genuinely additive.

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?

The description is compact at three sentences and front-loads the most important warning. The opening 'Update SSH host.' is redundant with the title, but the rest of the sentences are dense and high-value, which is appropriate for a 43-parameter mutation.

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?

Given the tool's complexity and sparse annotations, the description covers the prerequisite call, the complete-payload strategy, and the main failure mode. It does not mention return values or explicitly point to the partial-update sibling, but those are minor gaps for this operation.

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?

With only 23% schema description coverage, the description should compensate, and it partially does by telling the agent to fetch and resend existing fields and by highlighting reset-prone categories. However, it does not add meaning for the required id/ip/port fields or the many other undocumented parameters, so compensation is incomplete.

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?

The description clearly states the action: updating an existing SSH host configuration. The 'replaces, does not merge' warning distinguishes it from partial/bulk update siblings like termix_hosts_bulk_update_partial_fields_multiple_ssh, and the word 'existing' separates it from create_ssh_host.

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?

It provides an explicit precondition workflow: call termix_hosts_get_ssh_host_id first and resend all fields. It also warns that omitting fields resets them, which effectively tells the agent when not to call it naively. It stops short of naming the partial-update alternative, so it is not a 5.

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

termix_metrics_bring_wireguard_interface_up_downBring a WireGuard interface up or downD

Bring a WireGuard interface up or down

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
actionNo
interfaceNo

TDQS

D1.8/5.0
Behavior2/5

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

Annotations are sparse: readOnlyHint=false, destructiveHint=false, but no details on side effects. The description does not disclose what happens when bringing an interface up or down (e.g., potential network disruption, need for privileges) beyond the annotations. With no annotations covering effects, the description should carry more weight but only states the action.

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?

The description is a single short sentence, which is concise, but it lacks structure and front-loading of key details. It is not verbose, but being a tautology means it doesn't earn the space. Conciseness is fine, but the content is essentially empty.

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

Completeness1/5

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

Given the tool's complexity (3 parameters, no output schema, no parameter descriptions), the description is grossly insufficient. It fails to explain what 'id' refers to, how 'interface' relates to the system, or what the expected outcome is. An agent cannot safely invoke this tool without additional context, especially since it's a mutating operation.

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?

The schema has 0% description coverage, and the description provides no parameter explanations. The 'action' enum is self-explanatory, but 'id' and 'interface' are ambiguous—does 'id' refer to a host, a connection, or an interface ID? The description does not clarify the distinction or requirements, leaving agents to guess.

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?

Tautological: description restates name/title.

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

Usage Guidelines1/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 tool versus alternatives. For instance, there is no mention of how this relates to host selection, prerequisites like SSH connectivity, or when 'up' vs 'down' should be chosen. The description is entirely silent on usage context.

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

termix_metrics_complete_totp_verification_metricsComplete TOTP verification for metricsC

Complete TOTP verification for metrics. Verifies the TOTP code and completes the metrics SSH connection.

ParametersJSON Schema
NameRequiredDescriptionDefault
totpCodeNo
sessionIdNo

TDQS

C2.6/5.0
Behavior2/5

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

Annotations already mark this as non-readOnly and non-idempotent, and the description confirms a state-changing action without saying what side effects occur. It does not disclose what happens to the session on failure, whether a completed verification can be reused, or any rate/retry behavior.

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?

The description is short and front-loaded, but the first sentence merely restates the tool title and adds little information. The second sentence is useful, so the overall length is acceptable.

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?

For a multi-step authentication completion tool with no output schema, the description omits prerequisites, return values, error cases, and what happens after the connection is completed. An agent cannot reliably know how to obtain sessionId or judge success.

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?

With 0% schema description coverage, the description needed to explain both parameters but only implies the role of totpCode ('Verifies the TOTP code'). sessionId is left completely unexplained, and there is no mention of formats such as six-digit codes or where the session identifier comes from.

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?

The description states a specific action and resource: 'Verifies the TOTP code and completes the metrics SSH connection.' This distinguishes it from generic connection tools, though it does not fully explain what 'completes' means or that this is likely the second step of an existing authentication flow.

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 versus related TOTP tools such as termix_docker_verify_totp_complete_connection or termix_files_verify_totp_complete_connection. It never mentions the need for a prior step, the role of sessionId, or prerequisites for calling this tool.

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

termix_metrics_connect_disconnect_tailscaleConnect or disconnect TailscaleD

Connect or disconnect Tailscale

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
actionNo

TDQS

D1.6/5.0
Behavior2/5

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

Annotations already define readOnlyHint=false and destructiveHint=false, so the description's 'connect or disconnect' aligns with a non-readonly, non-destructive mutation. However, the description adds nothing beyond that: no side effects, authentication needs, effect on existing connections, or idempotency warnings (which is relevant given idempotentHint=false). It relies entirely on annotations for behavioral context.

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

Conciseness2/5

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

The description is extremely short (seven words) but this is under-specification rather than concise clarity. It front-loads nothing useful—the entire content is a restatement of the title. A well-structured description would at least mention the 'id' parameter and the up/down action meaning.

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

Completeness1/5

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

The tool is a mutating operation with no output schema and no parameter documentation. Given the complexity of a network management action and the presence of sibling tools, the description is woefully incomplete. It does not state what resource 'id' refers to, what happens on success/failure, or how this relates to Tailscale status. No agent could safely invoke this based on the provided information.

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

Parameters1/5

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

Schema description coverage is 0%, and the description fails to explain the parameters. 'id' is not described (likely a host or device identifier), and 'action' is an enum (up/down) with no explanation of what 'up' or 'down' means in the Tailscale context. The description provides no semantic value beyond the raw schema, leaving agents to guess parameter meaning.

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?

Tautological: description restates name/title.

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

Usage Guidelines1/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 tool versus alternatives. No mention of prerequisites (e.g., Tailscale installed, status check), no exclusions, and no indication of when to prefer this over the WireGuard up/down sibling. The description provides zero context for appropriate invocation.

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

termix_metrics_detect_available_management_tooling_hostDetect available management tooling on a hostC
Read-onlyIdempotent

Detect available management tooling on a host

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

TDQS

C2.3/5.0
Behavior3/5

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

Annotations already provide the important behavioral profile with readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the agent knows this operation is safe to call. The description adds no extra behavioral context such as what tooling categories are probed, whether the host must be reachable, or what side effects might occur beyond the annotations.

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?

The description is appropriately short and front-loaded, using one sentence to communicate the operation. But because it is identical to the title, the sentence does not earn its place by adding new information.

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?

With no output schema, the description should say what kind of result the tool returns, such as the list of detected tooling or a compatibility report. It only says what is detected, leaving an agent unsure about output shape, failure conditions, or exactly which management tools are covered.

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?

The schema exposes one integer 'id' parameter with 0% schema description coverage, and the description does not explicitly explain that id identifies the host. The phrase 'on a host' weakly implies the id's role, but this is not enough for an agent to confidently pass the correct value without inference.

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?

Tautological: description restates name/title.

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 tool versus alternatives, and it names no alternative or exclusion. The intended use is only weakly implied by the phrase 'Detect available management tooling' and the tool name.

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

termix_metrics_get_all_host_statusesGet all host statusesA
Read-onlyIdempotent

Get all host statuses. Retrieves the status of all hosts for the authenticated user.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering safety and side-effect profile. The description adds the user-scoping detail ('for the authenticated user'), which is valuable behavioral context beyond the annotations. No contradictions exist; however, the description does not disclose return format or pagination, but given the annotations, the added value is reasonable.

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?

The description is exactly two short sentences: 'Get all host statuses. Retrieves the status of all hosts for the authenticated user.' It is front-loaded with the core action and provides the essential scoping. Every word earns its place, with no redundancy or fluff.

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?

For a zero-parameter, read-only, idempotent tool with annotations covering safety, the description is largely complete. It states the purpose and the user scope. The only gap is the lack of an output schema, so the agent does not know the exact return structure, but for a simple 'get all statuses' this is acceptable. The description could mention that it returns a list of hosts with statuses, but it is not necessary given the simplicity.

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

Parameters4/5

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

The tool has zero parameters, so the schema is trivially 100% covered. The description does not need to explain parameters, and it doesn't. Since there are no parameters, the baseline for parameter semantics is 4, and the description adds no extra burden. It correctly implies that no arguments are required.

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?

The description clearly states the action ('Get all host statuses') and the resource (all hosts), and adds the scoping 'for the authenticated user,' which distinguishes it from sibling tools like termix_metrics_get_host_status_id (which targets a single host) and termix_metrics_get_host_metrics (which retrieves metrics rather than statuses). The verb and resource are specific and unambiguous.

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 tool versus alternatives. It does not mention that it should be used when a global overview of host statuses is needed, nor does it contrast with get_host_status_id for per-host queries. The description only states what it does, leaving the agent to infer the appropriate context without any exclusions or alternative routing.

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

termix_metrics_get_global_monitoring_defaultsGet global monitoring defaultsC
Read-onlyIdempotent

Get global monitoring defaults

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

C2.8/5.0
Behavior3/5

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

The annotations already declare readOnlyHint=true, openWorldHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds nothing beyond the verb 'Get'—no note about returned data shape, global scope, or relationship to update operations—but it also does not contradict the annotations.

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?

The description is a single five-word sentence with zero filler, which earns it brevity. However, it is just the title recycled, so it lacks the extra structuring (e.g., scoping caveats or sibling pointers) that would justify a top score.

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 a no-parameter read-only getter, the strong annotations carry most of the burden, making the short description usable. Still, with no output schema and no explanation of what 'global monitoring defaults' means or when the returned values change, an agent gets no help anticipating the result or choosing between this and the update counterpart.

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

Parameters4/5

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

The input schema has zero properties, so schema description coverage is trivially 100% and there are no parameters requiring elaboration. The description's silence is harmless, warranting the 0-parameter baseline.

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?

Tautological: description restates name/title.

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?

No guidance is offered on when to call this tool instead of termix_metrics_update_global_monitoring_defaults or sibling getters like termix_metrics_get_metrics_history_retention_setting. The agent must infer selection purely from naming conventions.

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

termix_metrics_get_historical_metrics_hostGet historical metrics for a hostD
Read-onlyIdempotent

Get historical metrics for a host

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
toNo
fromNo
rangeNo

TDQS

D1.8/5.0
Behavior2/5

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

The annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. However, the description adds no behavioral context beyond this, such as time range handling, defaults for 'from'/'to'/'range', or what data is returned. Since the description provides no extra transparency and does not contradict annotations, it earns a low score.

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

Conciseness2/5

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

The description is a single sentence with no waste, but it is under-specified rather than concise. It does not earn its place because it only repeats the tool's name. The structure is minimal but lacks substance, similar to the 'Process' example.

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

Completeness1/5

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

Given the tool has 4 parameters, no output schema, and no parameter descriptions, the description is grossly incomplete. It does not explain the relationship between the parameters, expected response shape, or any edge cases. An agent cannot correctly call this tool without additional external knowledge.

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

Parameters1/5

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

Schema description coverage is 0%, meaning the description carries full responsibility for parameter explanation. The description does not mention any of the four parameters (id, to, from, range) or their semantics, such as how 'from'/'to' interact with 'range' or what format the date strings expect. This is a severe gap.

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?

Tautological: description restates name/title.

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?

No guidance is provided on when to use this tool versus alternatives. It does not mention that this tool is for historical data while termix_metrics_get_host_metrics is for current metrics, nor does it note any conditions or prerequisites. The agent is left without any routing information.

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

termix_metrics_get_host_metricsGet host metricsB
Read-onlyIdempotent

Get host metrics. Retrieves current metrics for a specific host including CPU, memory, disk, network, processes, and system information.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds that the tool returns current metrics across several categories, which is useful. However, it does not disclose behavior such as whether the host must be actively monitored, whether metrics are real-time or cached, or what happens for an unknown host id. With annotations covering the safety profile, a 3 is appropriate.

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?

The description is two sentences and front-loads the core action ('Get host metrics') before elaborating. Every sentence adds information about what the tool returns. It is appropriately sized for a simple one-parameter read tool, though the first sentence is somewhat redundant with the title.

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 a simple read-only tool with one parameter and no output schema, the description covers the main purpose and return categories. However, it does not explain how to obtain the host id, whether the metrics are live or cached, or how this relates to the metrics collection/polling siblings. Given the large sibling set and the 0% schema coverage, a bit more context would help an agent select and invoke it correctly.

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 0%, so the description must compensate. The description explains that the tool retrieves metrics for a specific host, which implies the 'id' parameter identifies that host. However, it does not clarify the id's type semantics (e.g., whether it is a Termix host id, a Proxmox node id, or an internal database id), nor does it explain the id's range or how to discover valid ids. The description adds some meaning but leaves ambiguity.

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?

The description states a specific verb ('retrieves') and resource ('current metrics for a specific host') and enumerates the metric categories (CPU, memory, disk, network, processes, system information). It is clear about what the tool does, though it does not explicitly differentiate from sibling tools like termix_metrics_get_historical_metrics_host or termix_metrics_get_host_metrics_layout_host.

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?

The description implies usage context: it is for current metrics of a specific host, which contrasts with historical metrics siblings. However, it does not explicitly state when to use this tool versus alternatives such as termix_metrics_get_historical_metrics_host or termix_metrics_get_all_host_statuses, nor does it mention any prerequisites like the host needing to be polled or monitored.

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

termix_metrics_get_host_metrics_layout_hostGet the Host Metrics layout for a hostB
Read-onlyIdempotent

Get the Host Metrics layout for a host. Returns the current user's saved card layout for the host, or a default layout derived from the host's enabled widgets when none is saved.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

TDQS

B3.4/5.0
Behavior4/5

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

Annotations already cover read-only, idempotent, and non-destructive nature. The description adds valuable context by explaining the fallback to a default layout when no saved layout exists, and that it is scoped to the current user. This goes beyond the annotations and helps the agent anticipate behavior.

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?

The description is a single, well-structured sentence that front-loads the main action and then adds the fallback nuance. No unnecessary words or repetition; every part adds value.

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?

For a read-only getter with a single parameter and no output schema, the description covers the core purpose and behavioral nuance. It would benefit from explicitly naming the 'id' parameter semantics, but overall it's quite complete for the tool's simplicity.

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%, so the description must clarify the 'id' parameter. It only says 'for a host', implying 'id' is a host identifier, but does not explicitly state that 'id' is the host ID or how to obtain it. This is a significant gap given the parameter is required and undocumented in the schema.

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?

The description clearly states the verb 'Get' and the resource 'Host Metrics layout' for a host. It specifies two possible outcomes (saved layout or default layout), which distinguishes it from simply getting raw metrics. However, it does not explicitly name or contrast with sibling tools like 'save_host_metrics_layout_host' or 'get_host_metrics', leaving some differentiation to inference.

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 explicit guidance on when to use this tool versus alternatives. The description does not state that this is for fetching layout configuration rather than metric values, nor does it mention when a user might need to save or update the layout. The behavioral note about saved vs default layout is helpful but not framed as usage guidance.

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

termix_metrics_get_host_status_idGet host status by IDD
Read-onlyIdempotent

Get host status by ID. Retrieves the status of a specific host by its ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

TDQS

D1.3/5.0
Behavior1/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the tool is known to be a safe read. However, the description adds no behavioral context beyond that—it doesn't mention the return format, error handling, or what constitutes a 'status'. With annotations covering the safety profile, the description still should explain the nature of the status, but it doesn't.

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

Conciseness2/5

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

The description is extremely short, but it is redundant: 'Get host status by ID' and 'Retrieves the status of a specific host by its ID' say the same thing. It is not concise in a meaningful way; it is just padded repetition. There is no structured, front-loaded information.

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

Completeness1/5

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

The tool is simple (one parameter) but the description still fails to explain what the status represents, what the return value looks like (no output schema), or any context like time sensitivity or caching. For a tool that likely returns a status object, the agent needs more detail to interpret the result, but none is provided.

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

Parameters1/5

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

The only parameter 'id' has no schema description (coverage 0%). The description only says 'by its ID' without explaining what ID this is (host ID? metric ID?) or what values are valid. Since schema coverage is zero, the description must compensate, but it fails to provide any semantic meaning for the parameter.

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 states the verb 'Get' and resource 'host status by ID', but it is essentially a restatement of the tool name and title. It does not clarify what 'status' means, what kind of status (health, metrics, availability), or what the ID refers to. It adds no new information beyond the name, so it is borderline tautological.

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

Usage Guidelines1/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 tool versus the many sibling tools, such as termix_metrics_get_all_host_statuses or termix_metrics_get_host_metrics. No mention of prerequisites, alternatives, or conditions for use. The agent is left to infer that this is for a single host status, but nothing explains when to pick this over the others.

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

termix_metrics_get_metrics_history_retention_settingGet metrics history retention settingC
Read-onlyIdempotent

Get metrics history retention setting

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

C2.8/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and idempotentHint=true, so the description does not need to restate safety. The description adds no behavioral context beyond the name - it doesn't describe what format the retention setting is returned in, whether it is a global or per-host setting, or any side effects (though annotations imply none). With annotations covering the read-only nature, the description's lack of additional behavioral detail is acceptable but not helpful. It does not contradict annotations, so not a 1.

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?

The description is a single short sentence, which is appropriately concise for a tool with no parameters. It is not bloated, but it is under-specified rather than efficiently concise - the sentence restates the name, so it is technically brief but not adding value. For a zero-param read tool, brevity is good, but the description could have added a snippet of context without losing conciseness.

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 a simple no-parameter getter with read-only annotations and no output schema, the description is arguably complete enough for an agent to understand the basic action. However, it lacks any context about the returned value (e.g., format, units, or whether it's global), which could be important for an agent deciding if this tool meets its need. Given the simplicity, a 3 is fair - it meets minimum viability but leaves room for improvement.

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

Parameters4/5

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

There are zero parameters, and the input schema is an empty object with 100% coverage (vacuously). Since there are no parameters to describe, the description doesn't need to add parameter semantics. The schema and context signals fully define the invocation - no arguments are required. Baseline 4 for zero-parameter tools is appropriate; there is no gap.

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?

Tautological: description restates name/title.

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 tool versus alternatives. The description does not mention that this is the read counterpart to update_metrics_history_retention_setting, nor does it clarify if it is specific to a host or global. An agent must infer from the name alone that this fetches a retention setting, but without context on when to call it or what it returns, usage guidance is effectively absent.

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

termix_metrics_get_tailscale_status_ipsGet Tailscale status and IPsD
Read-onlyIdempotent

Get Tailscale status and IPs

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

TDQS

D1.9/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. However, the description adds no behavioral context beyond the name: it does not explain what 'status' includes, whether it returns IPv4/IPv6/IPv4 addresses, or whether the host must be reachable. It contributes no transparency beyond structured annotations.

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

Conciseness2/5

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

The description is a single short sentence, which is structurally simple, but this brevity is under-specification, not effective conciseness. It adds no information beyond the tool name and fails to use its words to clarify the ambiguous 'id' parameter or the tool's role among siblings.

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?

For a tool with one undocumented parameter, no output schema, and multiple related siblings, this description is incomplete. An agent cannot know which id to supply, what the response shape will be, or how this tool relates to termix_tailscale_list_tailscale_devices. The annotations cover safety but not functional context.

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

Parameters1/5

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

Schema description coverage is 0% for the required 'id' parameter. The description does not explain what 'id' represents (e.g., host ID, Tailscale device ID, or something else) or its domain. With no schema doc and no description compensation, an agent cannot reliably determine what value to pass.

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?

Tautological: description restates name/title.

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?

The description provides no guidance on when to use this tool versus alternatives such as termix_tailscale_list_tailscale_devices or termix_metrics_connect_disconnect_tailscale. There is no mention of preconditions, context, or exclusions. The agent is left to infer usage purely from the tool name.

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

termix_metrics_get_wireguard_interfaces_peersGet WireGuard interfaces and peersC
Read-onlyIdempotent

Get WireGuard interfaces and peers

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

TDQS

C2/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=true, and destructiveHint=false, covering the safety profile. The description adds no behavioral context beyond the verb 'Get' — it does not explain what the returned data represents, whether it reflects live state, or how it relates to host 'id'.

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?

The description is a single concise sentence with no filler, and the action verb is front-loaded. However, it adds no information beyond the already-visible title, so while it is not verbose, it is underwhelmingly minimal.

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?

With one required parameter, no output schema, and no parameter description, the tool definition is incomplete for an agent to invoke correctly. The description lacks any context about the 'id' value, expected result structure, or relationship to WireGuard management operations.

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

Parameters1/5

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

Schema description coverage is 0%, and the description does not explain the sole required parameter 'id'. An agent cannot tell whether 'id' refers to a host, an interface, or something else, making it impossible to correctly supply a value based on this definition.

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?

Tautological: description restates name/title.

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?

The description offers no guidance on when to use this tool versus alternatives, no mention of the required 'id' parameter, and no exclusions or context. An agent must infer from the name alone that it is the read-only counterpart to bring_wireguard_interface_up_down.

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

termix_metrics_list_processes_rich_sortable_filterable_clientList processes (rich, sortable, filterable client-side)C
Read-onlyIdempotent

List processes (rich, sortable, filterable client-side)

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

TDQS

C2.1/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and non-destructive behavior, so the safety profile is clear. The description adds context that the list is 'rich, sortable, filterable client-side', but it does not explain the meaning of the required id, return shape, or any client-side behavior details beyond those adjectives.

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

Conciseness2/5

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

The description is extremely short and front-loaded, but it is essentially a restatement of the title. It is under-specified rather than genuinely concise, providing no structural benefit or additional information beyond the title.

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?

With a required but unexplained id, no output schema, and no return-value details, the description is not complete enough for an agent to confidently invoke the tool. The annotations cover safety but not operational semantics like what id to pass or what the response contains.

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

Parameters1/5

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

The schema has 0% description coverage and the only required parameter, 'id', is completely unexplained in the description. The description does not state whether id represents a host id, session id, or something else, leaving the agent unable to correctly populate the argument.

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?

Tautological: description restates name/title.

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?

No guidance is provided on when to use this tool versus alternatives, such as list_systemd_services or process control tools. There is no mention of prerequisites, context, or exclusions, leaving the agent to infer appropriate usage solely from the name.

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

termix_metrics_list_systemd_servicesList systemd servicesD
Read-onlyIdempotent

List systemd services

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

TDQS

D1.9/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds no behavioral context beyond the title – it doesn't mention that services are listed for a specific host, whether the result includes status, or any limitations. With annotations present, the bar is lower, but the description contributes nothing extra.

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?

The description is a single short sentence with no fluff, earning marks for brevity. However, it is merely a restatement of the title and lacks substance, making it under-specified rather than effectively concise. It could have been expanded with essential context while staying tight.

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

Completeness1/5

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

The tool requires a mandatory 'id' parameter that is completely undocumented, and there is no output schema to clarify the return value. The description does not explain the host scope, how to obtain the id, or what the response contains. Sibling tools and annotations hint at read-only behavior, but the description alone is inadequate for correct use.

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

Parameters1/5

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

The schema has one required integer parameter 'id' with zero description coverage. The description fails to explain what 'id' refers to (e.g., a host id, a service id), leaving the agent to guess. Since the schema is unhelpful)Skip and the description carries the burden, this is a critical gap.

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?

Tautological: description restates name/title.

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?

The description provides no guidance on when to use this tool versus alternatives, no prerequisites, and no mention that the required 'id' parameter likely refers to a host. It leaves the agent to infer usage from the tool name and sibling context, which is not explicit enough for correct invocation.

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

termix_metrics_refresh_pollingRefresh pollingC

Refresh polling. Refreshes host polling for the authenticated user.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

C2.7/5.0
Behavior2/5

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

The annotations signal that this is a non-read-only, non-idempotent, open-world operation, so the description should explain the side effects of a refresh, but it does not. It adds only the scope 'for the authenticated user' and the fact that host polling is the target; there is no mention of background work, cache invalidation, or external effects.

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?

The text is short and front-loaded, but it wastes its first sentence by repeating the title verbatim. The remaining sentence carries some scope information but still leaves the core behavior vague, so the brevity is not paired with useful density.

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?

For a no-parameter action, the description should clarify what condition warrants calling it and what observable effect the user should expect. With no output schema, the description also does not indicate whether the tool returns refreshed metrics, a status, or nothing, leaving a meaningful gap.

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

Parameters4/5

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

The input schema has zero properties, so there are no parameter semantics to document. The baseline of 4 applies because an agent cannot misconfigure any arguments.

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

Purpose3/5

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

The second sentence gives a recognizable action and target ('Refreshes host polling for the authenticated user'), so the tool is not a complete tautology. However, 'refresh polling' is underspecified and does not differentiate this from nearby metrics polling tools; the first sentence merely repeats the title.

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 explicit or implicit guidance about which situations call for this tool versus the many related metrics tools such as termix_metrics_start_polling_updated_host or termix_metrics_stop_polling_deleted_host. The only contextual clue is 'for the authenticated user,' which is not enough to route an agent correctly.

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

termix_metrics_register_metrics_viewerRegister metrics viewerB

Register metrics viewer. Registers a new viewer session for a host to track who is viewing metrics.

ParametersJSON Schema
NameRequiredDescriptionDefault
hostIdNo

TDQS

B3.1/5.0
Behavior3/5

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

Annotations already indicate this is not read-only, not idempotent, and not destructive. The description adds that it registers a session for a host with tracking purposes, which is useful context, but does not disclose details about side effects, required host state, or error behavior. Given the annotations, the extra context is modest.

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?

The description is concise (two short sentences), but the first sentence mostly repeats the title. The second sentence adds purpose. No extraneous information, yet it could be more informative in the same length.

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?

For a simple tool with one optional parameter and no output schema, the description still leaves gaps: it does not explain what a viewer session is, when registration is appropriate, or how hostId relates to the session. The minimal parameter hints and lack of usage guidance make it incomplete for an agent to invoke reliably.

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%, so the description must explain the hostId parameter. It only mentions 'for a host', which hints at host identity but does not clarify that hostId is optional, its format, or its meaning beyond the schema's integer type. This is insufficient for correct invocation.

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?

The description states a specific action ('Registers a new viewer session') and its purpose ('to track who is viewing metrics'), clearly distinguishing it from sibling tools like unregister_metrics_viewer or update_viewer_heartbeat. The verb-resource combination is unambiguous.

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?

No guidance is given on when to use this tool versus alternatives such as updating a viewer heartbeat or unregistering a viewer. The description implies usage for starting a viewing session but does not explicitly state conditions or prerequisites.

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

termix_metrics_save_host_metrics_layout_hostSave the Host Metrics layout for a hostA

Save the Host Metrics layout for a host. Persists the current user's card layout for the host and keeps statsConfig.enabledWidgets in sync (for hosts the user owns) so the mobile app keeps working.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
slotsNo
columnsNo

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already indicate readOnlyHint=false (write operation) and idempotentHint=false. The description adds that it keeps statsConfig.enabledWidgets in sync for owned hosts, which is a non-obvious side effect. It doesn't mention potential errors or authorization requirements, but for a save operation this is adequate.

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?

The description is concise, two sentences, and front-loads the main action. It adds a useful detail about the side-effect without being verbose. No wasted words.

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?

Given the complexity (3 params, no output schema), the description does not provide enough detail on what the layout structure should be or what happens after saving. It mentions the side-effect but not the expected return value or failure modes. However, for a simple save operation, it might be borderline acceptable.

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 0%, so the description needs to explain parameters. It doesn't mention parameters at all. The schema has 3 parameters (id, slots, columns) but no descriptions beyond types. The description could have explained that 'slots' and 'columns' relate to the layout structure. Since there are only 3 parameters and they are somewhat self-explanatory, but the description does not help, a 3 is warranted.

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?

The description clearly states the verb ('Save'), the resource ('Host Metrics layout for a host'), and the specific purpose (persists the user's card layout). It distinguishes it from the sibling 'get_host_metrics_layout_host'. The mention of 'for a host' is concrete and unambiguous.

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?

The description implies this is used when saving a layout, but no explicit guidance is given about when to use this versus alternatives, such as when a user wants to update widgets in a different way. It also doesn't specify prerequisites like having a valid host ID. However, the context is reasonably clear from the title and description.

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

termix_metrics_send_signal_process_term_kill_hupSend a signal to a process (TERM/KILL/HUP/INT)D

Send a signal to a process (TERM/KILL/HUP/INT)

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
pidNo
signalNo

TDQS

D1.1/5.0
Behavior1/5

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

The description adds no behavioral context beyond the annotations. It does not disclose side effects, reversibility, permission requirements, or what happens to the target process. With destructiveHint false, the description does not clarify whether sending a signal is considered destructive or safe, leaving the agent without essential context.

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

Conciseness2/5

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

The description is extremely short, but this is under-specification rather than concise efficiency. It repeats the title without adding structure or front-loaded key details. A single tautological sentence does not earn credit for conciseness.

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

Completeness1/5

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

For a tool that sends signals to processes—a potentially dangerous operation with three parameters and no output schema—this description is grossly inadequate. It lacks any information about parameter meanings, signal selection, side effects, or usage context. An agent cannot safely or correctly invoke this tool based on the provided definition.

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

Parameters1/5

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

Schema description coverage is 0%, and the description fails to explain any of the three parameters (id, pid, signal). It does not clarify what id vs pid refers to, what signal values are accepted beyond the listed four, or how they interact. The description provides no semantic value beyond the bare parameter names.

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

Purpose1/5

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

Tautological: description restates name/title.

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

Usage Guidelines1/5

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

No guidance is given on when to use this tool, how to choose between TERM/KILL/HUP/INT, or what distinguishes it from other process-related tools like termix_metrics_list_processes. There is no mention of prerequisites or alternatives.

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

termix_metrics_start_metrics_collectionStart metrics collectionC

Start metrics collection. Establishes an SSH connection and starts collecting metrics for a specific host.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

TDQS

C2.9/5.0
Behavior3/5

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

Annotations already establish that this is not read-only and not idempotent, and the description adds meaningful context by revealing that an SSH connection is established and host-specific metric collection begins. However, it does not disclose what happens on repeated calls, whether collection persists, or how it is later stopped.

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?

The description is short and front-loaded, with the second sentence adding useful SSH and host-scope details. The first sentence echoes the title, but the overall structure is efficient and free of unnecessary filler.

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?

With no output schema and only one parameter, the description provides the basic action but is incomplete for correct invocation. It does not clarify the semantic of the id parameter, mention host prerequisites or reachability, or describe the expected result of starting collection.

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?

The schema has one id parameter with 0% description coverage, and the description only refers to 'a specific host' without explicitly connecting id to a host identifier or explaining how to obtain it. This gives minimal semantic value beyond the raw integer schema and leaves room for ambiguity among host-related IDs.

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?

The description states a clear verb and resource: start metrics collection for a specific host, and adds the useful detail that an SSH connection is established. It is not a bare tautology, but it does not explicitly distinguish itself from sibling collection/polling tools such as start_polling_updated_host or stop_metrics_collection.

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?

No guidance is given about when to use this tool versus the many metrics siblings, such as stop_metrics_collection, start_polling_updated_host, or refresh_polling. There are also no prerequisites, exclusions, or alternative routing details, so the agent must infer usage from the name and basic description.

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

termix_metrics_start_polling_updated_hostStart polling for updated hostB

Start polling for updated host. Starts polling for a specific host after it has been updated.

ParametersJSON Schema
NameRequiredDescriptionDefault
hostIdNo

TDQS

B3.3/5.0
Behavior3/5

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

Annotations already convey that the call is not read-only, not idempotent, and not destructive. The description adds that this starts polling for a specific host, but it does not disclose what happens if polling is already active, whether repeated calls are safe, or what the response indicates. This is minimal but consistent with the annotations.

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?

The description is short, but the first sentence merely repeats the title and the second adds only a small increment: 'specific' and 'after it has been updated.' The redundancy means it could be collapsed to a single sentence without losing information.

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 a simple one-parameter state-change operation, the description covers the basic action and target, but it omits preconditions, effects of repeated calls, and the relationship to polling-lifecycle siblings. With no output schema to fill those gaps, it sits at the minimum viable level.

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?

The only parameter, hostId, has 0% schema description coverage, but the description's 'specific host' directly ties it to the target host. It does not clarify whether hostId is required, how to obtain it, or any expectations about the host's state, so most meaning still relies on the parameter's self-evident name.

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?

The description uses a specific verb ('Starts polling') and resource ('a specific host'), and adds the trigger condition 'after it has been updated.' It is not a bare tautology, but it does not explicitly differentiate itself from related siblings like termix_metrics_refresh_polling or termix_metrics_start_metrics_collection, so it misses the top score.

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?

The phrase 'after it has been updated' implies the tool should be used when a host has been updated and polling should begin or resume. However, it provides no explicit comparison to alternatives, no exclusions, and no prerequisites, leaving the usage guidance largely implied.

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

termix_metrics_start_stop_restart_enable_disable_systemdStart/stop/restart/enable/disable a systemd serviceC

Start/stop/restart/enable/disable a systemd service

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
unitNo
actionNo

TDQS

C2/5.0
Behavior2/5

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

Annotations indicate this is a non-read-only, non-idempotent operation, but the description adds no behavioral context such as side effects, permission requirements, or service state changes. It neither contradicts the annotations nor supplements them.

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?

The description is a single concise sentence with no wasted words, but it largely restates the title and does not earn its place by adding useful detail. It is brief rather than effectively structured.

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

Completeness1/5

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

With three undocumented parameters, no output schema, and no behavioral notes, the description is far too thin for an agent to invoke the tool reliably. It omits action enum values, id/unit semantics, and expected effects.

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 description does not explain the `id`, `unit`, or valid values for `action`. The listed verbs are a weak hint about `action`, but the role of the required integer `id` and the string `unit` remains ambiguous.

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?

Tautological: description restates name/title.

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?

No guidance is provided about when to use this tool instead of alternatives, nor are prerequisites or exclusions mentioned. The only usage signal is the self-evident verb list, which does not help an agent decide between related systemd or metrics operations.

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

termix_metrics_stop_metrics_collectionStop metrics collectionB

Stop metrics collection. Stops metrics collection for a specific host and cleans up the SSH session.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
viewerSessionIdNo

TDQS

B3.3/5.0
Behavior4/5

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

Annotations already indicate this is a mutating, non-idempotent, non-destructive action. The description adds useful behavioral context beyond that by explicitly mentioning SSH session cleanup as a side effect. It does not disclose all potential failure modes or prerequisites, but it gives a meaningful behavioral profile.

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?

The description is short and generally front-loaded, but the first sentence simply restates the title, while the second sentence carries the real content. This redundancy keeps it from being maximally efficient, even though there is no extraneous filler.

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?

For a state-changing tool with two parameters and no output schema, the description should explain the meaning of the parameters, the preconditions for stopping collection, and likely results. It only states the high-level action and SSH cleanup, leaving important operational details unspecified.

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

Parameters1/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 compensate, but it does not explain what 'id' refers to, what viewerSessionId is for, or how the parameters relate to the host. The vague phrase 'for a specific host' hints at id's role but is insufficient for an agent to confidently populate the required parameter.

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?

The description uses a clear verb ('stops') with a specific resource ('metrics collection for a specific host') and adds the distinct side effect of cleaning up the SSH session. It is distinguishable from the inverse sibling start_metrics_collection, though it does not explicitly name any alternative.

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?

The description clearly conveys this tool is for stopping an ongoing collection and cleaning up the SSH session, which gives the agent immediate context on when to call it. It does not mention exclusions or name alternatives, but the intended use case is evident from the stated behavior.

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

termix_metrics_stop_polling_deleted_hostStop polling for deleted hostB

Stop polling for deleted host. Stops polling for a specific host after it has been deleted.

ParametersJSON Schema
NameRequiredDescriptionDefault
hostIdNo

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already indicate readOnlyHint=false, idempotentHint=false, destructiveHint=false, and openWorldHint=true. The description adds the contextual condition 'after it has been deleted' but does not disclose side effects, failure modes, or prerequisites beyond that. It neither contradicts the annotations nor significantly extends the behavioral picture.

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?

The description is short, but the first sentence is nearly identical to the title, creating redundancy. The second sentence adds a bit of context ('specific host', 'after it has been deleted'), yet the overall text contains unnecessary repetition. It is not verbose, but it is not efficiently front-loaded either.

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?

For a one-parameter tool with no output schema, the description should at least confirm that hostId is required and explain what happens if it is missing or if the host is not actually deleted. It does not address requiredness, error cases, or how to obtain the hostId. The description leaves the agent with gaps about the tool's invocation contract.

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?

The schema has 0% description coverage and only one parameter, hostId. The description vaguely refers to 'a specific host' but never explicitly ties this to hostId, does not mention that hostId identifies the deleted host, and does not clarify why it is not marked required. The description fails to compensate for the complete lack of schema-level parameter documentation.

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?

The description clearly states the operation: stopping polling for a specific deleted host. It distinguishes this from global counterparts like termix_metrics_stop_metrics_collection and the opposite termix_metrics_start_polling_updated_host by specifying 'specific host' and 'after it has been deleted'. It stops short of naming siblings explicitly, but the purpose is unambiguous.

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?

The description explicitly says 'after it has been deleted', providing a clear condition for when this tool should be used. It does not, however, mention alternatives or when not to use it, so it lacks the explicit exclusions and sibling-routing that would earn a 5.

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

termix_metrics_unregister_metrics_viewerUnregister metrics viewerB

Unregister metrics viewer. Unregisters a viewer session when they stop viewing metrics for a host.

ParametersJSON Schema
NameRequiredDescriptionDefault
hostIdNo
viewerSessionIdNo

TDQS

B3.3/5.0
Behavior3/5

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

Annotations already convey that this is a non-read-only, non-idempotent mutation, so the description does not need to restate that. It adds the lifecycle context that this removes a viewer session. It does not disclose side effects, failure behavior, or whether the viewer session must have been previously registered, but the annotation coverage keeps this acceptable.

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?

The description is short and front-loaded, but the first sentence simply repeats the title. The second sentence carries the actual meaning. This is acceptable but not exemplary; the redundancy could be removed without losing information.

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 a simple unregister tool, the description gives the essential purpose and timing. However, because there is no output schema and no parameter descriptions, an agent still lacks explicit guidance on required fields and the expected effect. It is minimally viable but has gaps.

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%, so the description should compensate for the two parameters. It only loosely implies hostId via 'for a host' and viewerSessionId via 'viewer session', but it does not clarify how these relate, whether they are both required, or where viewerSessionId comes from. The parameter names are self-explanatory, but the description adds little beyond the schema itself.

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?

The description clearly identifies a specific action ('Unregister'), a resource ('metrics viewer'), and a lifecycle moment ('when they stop viewing metrics for a host'). It distinguishes the tool from its sibling register_metrics_viewer by focusing on teardown rather than setup, though it does not explicitly name that sibling.

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?

The description states a clear invocation context: call this when a viewer session stops viewing metrics for a host. It does not discuss exclusions or compare directly with register_metrics_viewer/update_viewer_heartbeat, but the condition is specific enough for an agent to pick the right moment.

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

termix_metrics_update_global_monitoring_defaultsUpdate global monitoring defaultsD

Update global monitoring defaults

ParametersJSON Schema
NameRequiredDescriptionDefault
metricsIntervalNo
statusCheckIntervalNo

TDQS

D1.8/5.0
Behavior2/5

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

Annotations already convey readOnlyHint=false and destructiveHint=false, but the description adds no behavioral context beyond the verb 'Update'. It does not disclose side effects, persistence, global scope, or relationship to other settings, so it contributes nothing beyond the structured data.

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

Conciseness2/5

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

The description is one short sentence, but it is under-specced rather than concise. It repeats the title and provides no additional structured information, so it does not earn its place by adding value.

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

Completeness1/5

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

For a mutation tool with two undocumented parameters and no output schema, the description is severely incomplete. It does not explain what 'global monitoring defaults' are, the effect of the update, or how this differs from related metric settings. An agent cannot use this tool correctly with the provided information.

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

Parameters1/5

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

Schema description coverage is 0% and the description does not mention either parameter (metricsInterval, statusCheckInterval). An agent has no way to know what values to provide or what these intervals control. The description fails to compensate for the schema's lack of documentation.

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?

Tautological: description restates name/title.

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 about when to use this tool versus alternatives, no prerequisites, and no exclusions. The agent must infer the use case from the name alone, which is insufficient in a large sibling set.

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

termix_metrics_update_metrics_history_retention_settingUpdate metrics history retention settingD

Update metrics history retention setting

ParametersJSON Schema
NameRequiredDescriptionDefault
metricsHistoryRetentionDaysNo

TDQS

D1.9/5.0
Behavior2/5

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

Annotations already indicate readOnlyHint=false, destructiveHint=false, and idempotentHint=false, which convey that this is a non-read-only, non-destructive, non-idempotent mutation. The description adds no additional behavioral context beyond the verb 'update'—it does not state whether the change is immediate, whether it affects only future data, whether it requires specific permissions, or what the side effects are. Given the annotations carry the safety profile, the description's lack of extra behavior disclosure earns a low score.

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

Conciseness2/5

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

The description is a short, front-loaded phrase, but it is under-specified rather than concise. It simply restates the tool title with no structure or elaboration. It does not add any information beyond the name, so it cannot be considered an efficient, informative description—it is a bare label. No attempt is made to organize or layer the content.

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?

For a mutation tool with one optional parameter, no output schema, and no parameter documentation, the description is incomplete. It does not explain what the retention setting controls, how the value is interpreted, whether the setting is global or per-host, or what happens if the parameter is omitted. The sibling getter exists but is not referenced. An agent calling this tool would lack critical context for choosing a correct value.

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

Parameters1/5

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

The schema has one parameter, 'metricsHistoryRetentionDays', with zero description coverage (0%). The tool description does not mention this parameter at all. With no schema description and no complementary note in the description, the agent has no information about units, acceptable ranges beyond the schema's merely numeric bounds, meaning of omitted values, or whether larger or smaller numbers increase retention. The description entirely fails to compensate for the schema gap.

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?

Tautological: description restates name/title.

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?

The description provides no guidance on when to use this tool versus alternatives. It does not mention the corresponding getter tool, nor does it explain under what conditions one should update the retention setting, prerequisites, or effects compared to other update tools. Usage is only implied by the verb 'update', which is insufficient for an agent to make a confident selection among many sibling tools.

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

termix_metrics_update_viewer_heartbeatUpdate viewer heartbeatB

Update viewer heartbeat. Updates the heartbeat timestamp for a metrics viewer session to keep it alive.

ParametersJSON Schema
NameRequiredDescriptionDefault
viewerSessionIdNo

TDQS

B3.4/5.0
Behavior3/5

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

The annotations show readOnlyHint=false, indicating a write operation; the description's 'Updates' aligns with that. It adds the behavioral purpose of keeping the session alive, but does not disclose side effects, failure modes, or the optionality of viewerSessionId. Given the annotations, this is adequate but not rich.

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?

Two sentences. The first sentence is a tautological restatement of the title ('Update viewer heartbeat'), while the second adds the substantive detail. It is concise, but the redundancy could be trimmed without losing meaning.

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?

The tool is a simple one-parameter mutation with no output schema, so the bar for completeness is moderate. However, the description does not mention that viewerSessionId is optional, how the session ID is obtained (likely from termix_metrics_register_metrics_viewer), or any error behavior. The description is minimally sufficient to grasp the tool's purpose but lacks enough context for correct invocation.

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?

The input schema contains one string parameter, viewerSessionId, with no description (0% coverage). The description does not explain the parameter's meaning or how to obtain it, only referring to a 'metrics viewer session,' which is a weak hint. Since schema coverage is low, the description fails to compensate, leaving the agent without enough semantic detail.

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?

The description states the action explicitly: 'Updates the heartbeat timestamp for a metrics viewer session to keep it alive.' It identifies the verb (updates), the resource (heartbeat timestamp for a metrics viewer session), and the purpose. This clearly distinguishes it from sibling tools like termix_metrics_register_metrics_viewer or termix_metrics_unregister_metrics_viewer, which create or destroy sessions.

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?

The description implies the tool is used to keep a viewer session alive, but it does not explicitly state when to use it versus alternatives (e.g., termix_metrics_register_metrics_viewer). It offers no exclusions or conditions, leaving the agent to infer usage from the 'keep it alive' phrase.

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

termix_proxmox_discover_proxmox_guests_nodeDiscover Proxmox guests on a nodeA

Discover Proxmox guests on a node. Connects to an existing SSH host (a Proxmox node) using its stored credentials, runs pvesh to enumerate all guests (VMs and LXC containers) in the cluster, and returns them ready to be imported as Termix hosts. No separate Proxmox API token is required.

ParametersJSON Schema
NameRequiredDescriptionDefault
hostIdYesID of the SSH host that is a Proxmox node.

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already carry readOnlyHint=false, idempotentHint=false, and destructiveHint=false, so the safety profile is provided by structured data. The description adds value by disclosing the authentication mechanism (reuses SSH host's stored credentials) and the underlying command (pvesh), which explains how the discovery works. It is silent on potential side effects (e.g., caching results), which readOnlyHint=false hints at, but it does not contradict the annotations.

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?

Three compact sentences with the useful information (mechanism, no API token requirement, output purpose) arriving immediately. The opening sentence is a near-verbatim restatement of the title and adds little, but the overall description is tight and front-loaded with actionable content, so the redundancy is a minor blemish rather than a real cost.

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?

There is no output schema, so the description must convey what the caller gets back. It does say guests are 'returned ready to be imported as Termix hosts,' giving a sense of the output purpose, but it does not describe the return shape, volume, or any failure/permission limitations. For a discovery tool with a single, well-scoped parameter this is adequate but not rich.

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 100% — hostId is already described as 'ID of the SSH host that is a Proxmox node.' The description reinforces this semantic by clarifying the host must be a Proxmox node and that its stored credentials will be used. It adds no new syntax or format details beyond the schema, so the baseline 3 for full schema coverage is appropriate.

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 ('Discover') and resource ('Proxmox guests on a node') and goes beyond the title by specifying the mechanism (runs pvesh, enumerates VMs and LXC containers across the cluster). It clearly distinguishes itself from the proxmox sibling tools, which are all stats-collection/retrieval oriented (get_cached_proxmox_node_stats, start/stop_proxmox_stats_collection), by framing the output as guests 'ready to be imported as Termix hosts.'

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?

The description conveys clear context on prerequisites (must reference an existing SSH host with stored credentials, and 'No separate Proxmox API token is required' clarifies when this tool is appropriate). However, it never explicitly names alternatives or states when-not-to-use it versus the stats siblings. Usage is implied rather than directly routed.

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

termix_proxmox_get_cached_proxmox_node_stats_hostGet cached Proxmox node stats for a hostA
Read-onlyIdempotent

Get cached Proxmox node stats for a host. Returns the most recently polled Proxmox Stats snapshot for a host, or an empty skeleton if none has been collected yet.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false. The description adds genuinely useful behavior: it returns an empty skeleton when no data has been collected yet, and it emphasizes that the returned value is the cached snapshot rather than a live fetch. This is meaningful beyond the structured annotations.

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 short sentences with no filler. The main action and scope are front-loaded, and the fallback behavior is stated efficiently.

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?

For a read-only, single-parameter getter, the description covers the essential invocation context and the degenerate no-data case. The main gap is that no output schema exists and the description does not indicate what fields or shape the Proxmox stats snapshot contains, so an agent lacks full visibility into the return value.

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 0%, so the description carries the burden of explaining the required 'id' parameter. 'For a host' offers minimal meaning, implying id is a host identifier, but it does not explicitly state that id refers to a Termix host ID or explain where the value comes from. It is sufficient for a simple single-parameter tool, but not richly explanatory.

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?

The description states a specific verb ('Get') and resource ('cached Proxmox node stats for a host') and clarifies that it returns the most recently polled snapshot, distinguishing it from the historical variant. The empty-skeleton fallback further pins down expected behavior.

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?

The phrase 'most recently polled' and 'cached' imply this is for current cached data rather than triggering new collection or fetching history. However, it never names sibling tools like get_historical_proxmox_node_stats_host or start_proxmox_stats_collection, nor states explicit when-not-to-use conditions.

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

termix_proxmox_get_historical_proxmox_node_stats_hostGet historical Proxmox node stats for a hostC
Read-onlyIdempotent

Get historical Proxmox node stats for a host

ParametersJSON Schema
NameRequiredDescriptionDefault
toNo
fromNo
rangeNo
hostIdYes

TDQS

C2.2/5.0
Behavior2/5

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

The description adds no behavioral detail beyond what the annotations already state. readOnlyHint, openWorldHint, and idempotentHint cover safety, but the description does not disclose staleness, collection dependencies, pagination, or any other runtime behavior.

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?

The description is a single sentence with no wasted words and the key action is front-loaded. However, it is a verbatim repetition of the title, so it is compact but contributes almost no new information.

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?

With no output schema and minimal parameter explanation, the description does not give the agent enough to confidently invoke the tool or distinguish it from the cached sibling. The annotations cover safety, but selection and invocation details are incomplete.

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%, so the description needed to compensate, but it only says 'for a host,' which loosely maps to hostId. The from, to, and range parameters are left entirely unexplained, relying on the enum values to hint at time-window semantics.

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?

Tautological: description restates name/title.

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 about when to use this tool versus the cached variant or the stats-collection control tools. The agent must infer from the name that this is for historical data, but no explicit context, exclusions, or alternatives are provided.

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

termix_proxmox_start_proxmox_stats_collectionStart Proxmox stats collectionA

Start Proxmox stats collection. Registers a viewer and starts (or reuses) polling for a host's Proxmox node stats.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

TDQS

A3.6/5.0
Behavior4/5

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

The description discloses meaningful side effects beyond the annotations: it registers a viewer and starts or reuses polling. This complements the annotations (readOnlyHint=false, idempotentHint=false) by explaining what the non-read-only, non-idempotent behavior actually does. There is no contradiction with the annotations.

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?

The description is short and front-loaded, and the second sentence adds genuinely useful behavioral detail. The only minor inefficiency is that the opening clause largely repeats the tool title, but overall it is concise and well-structured.

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?

For a tool with one required parameter, no output schema, and minimal annotations, the description is not complete enough. It omits the meaning of 'id', gives no indication of what result the caller should expect, and does not explain how this relates to sibling get/stop tools.

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%, so the description must explain the required 'id' parameter, but it never explicitly does so. The phrase 'for a host's' weakly implies that id identifies a host, but an agent cannot be confident about what value to supply or where the id comes from.

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?

The description uses a specific verb ('Start') and resource ('Proxmox stats collection') and clarifies the operational behavior: it registers a viewer and starts or reuses polling for a host's Proxmox node stats. This clearly distinguishes it from sibling tools like stop_proxmox_stats_collection, get_cached_proxmox_node_stats_host, and get_historical_proxmox_node_stats_host.

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?

The description implies the tool should be used when you want to start Proxmox stats collection for a host, and it tells the agent that existing polling may be reused rather than duplicated. However, it does not explicitly mention alternatives or state when not to use it, so the usage guidance is present but mostly implicit.

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

termix_proxmox_stop_proxmox_stats_collectionStop Proxmox stats collectionA

Stop Proxmox stats collection. Unregisters a viewer session for a host's Proxmox node stats polling.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
viewerSessionIdNo

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnly=false, openWorld=true, idempotent=false, destructive=false; the description adds useful mechanism detail ('unregisters a viewer session') and scoping ('for a host's Proxmox node stats polling'). It does not, however, disclose consequences or error behavior, such as whether stopping a non-existent session fails, which would be consistent with idempotentHint=false, so it only partially carries the behavioral burden.

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 short sentences, no filler, and the primary action is front-loaded before the mechanism. Every word contributes to purpose or mechanism.

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?

Despite the low parameter count, the description lacks the meaning of the required 'id', does not explain the role of the optional 'viewerSessionId', and gives no sense of the return value or success/failure behavior. With no output schema and 0% parameter coverage, an agent cannot confidently invoke the tool from the description alone.

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?

With 0% schema description coverage, the description must map the two properties to their roles. It refers to 'a host' and 'a viewer session' but never explicitly says 'id' is the host id or 'viewerSessionId' is the session to unregister, leaving the required 'id' ambiguous. Parameter names are suggestive, but the description does not compensate for the missing schema documentation.

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?

The first sentence names the exact action and resource ('Stop Proxmox stats collection'), and the second adds the mechanism ('Unregisters a viewer session for a host's Proxmox node stats polling'), making it clearly distinct from the sibling start/get_cached/get_historical Proxmox stats tools. The title and name reinforce the same verb-resource pairing.

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?

The description implies usage by stating what the tool does, but it gives no explicit guidance on when to choose it over its sibling 'start_proxmox_stats_collection' or the get_cached/get_historical stats tools, nor any exclusions or preconditions. It is minimally serviceable but relies on the agent to infer context from the name and sibling list.

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

termix_session_logs_get_session_log_contentGet session log contentC
Read-onlyIdempotent

Get session log content. Returns the raw text content of a session log file.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

TDQS

C2.7/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and non-destructive behavior. The description adds that the output is 'raw text content,' which is useful, but it does not disclose potential size limits, encoding, or access implications. This is acceptable given the annotation coverage.

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?

The description is short and front-loaded with the tool's core purpose. No filler words are present, but the brevity comes at the cost of omitting useful parameter context.

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?

For a tool with one undocumented parameter and no output schema, the description is incomplete. It states the return type 'raw text content' but does not explain where the id comes from or how this tool relates to its session-log siblings, making correct invocation uncertain.

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

Parameters1/5

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

The only parameter, 'id', has 0% schema description coverage and the description does not explain what the id refers to or how to obtain it. The agent is left guessing whether this is a session log id, record id, or something else.

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?

The description states a specific action and resource: 'Get session log content' and clarifies it returns 'raw text content of a session log file.' This clearly distinguishes it from sibling tools like list_session_logs and get_session_log_metadata, though it does not explicitly 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 Guidelines2/5

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

No guidance is given about when to use this tool versus alternatives such as termix_session_logs_get_session_log_metadata or termix_session_logs_list_session_logs. There is also no mention of prerequisites, such as how to obtain the 'id' parameter, so the agent must infer usage from the tool name alone.

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

termix_session_logs_get_session_log_metadataGet session log metadataB
Read-onlyIdempotent

Get session log metadata. Returns metadata for a single session recording.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

TDQS

B3.3/5.0
Behavior3/5

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

Annotations already declare readOnly, idempotent, open-world, and non-destructive behavior, so the safety profile is well covered. The description adds little beyond restating the return scope and discloses no additional behavioral context such as authentication, rate limits, or edge cases.

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?

The description is very short and front-loaded, which is appropriate for such a simple tool. However, the first sentence exactly repeats the title, so one of the two sentences does not earn its place; only the second sentence adds substantive information.

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 a simple read-only metadata tool with strong annotations, this is minimally adequate: the required parameter and general scope are clear. It is incomplete, though, because there is no output schema to describe metadata fields, no error behavior, and no contrast with the list/content sibling tools.

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 0%, so the description must compensate for the lone integer 'id' parameter. 'Single session recording' suggests the id selects a recording, but it never explicitly maps id to the session log or explains how to obtain a valid id. The single, self-descriptive parameter keeps this adequate.

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 operation ('Get') and target ('session log metadata' / 'single session recording'), clearly indicating a single-item metadata fetch. It distinguishes reasonably from list and content siblings but does not explicitly name those alternatives, stopping short of a 5.

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?

The phrase 'single session recording' implies the tool is for one session log's metadata rather than listing all logs or fetching content. However, it gives no explicit when-to-use guidance, exclusions, or mention of related siblings such as list_session_logs or get_session_log_content.

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

termix_session_logs_list_session_logsList session logsA
Read-onlyIdempotent

List session logs. Returns all terminal session recordings for the authenticated user.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.7/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds the 'authenticated user' scoping, which is useful, but it doesn't disclose return format, ordering, or any limits. With annotations covering the core behavioral traits, a 3 is appropriate.

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 short sentences with no redundancy. The core action is stated first, and the scoping detail is added in the second sentence. Every word earns its place.

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?

For a zero-parameter, read-only listing tool with annotations covering safety and idempotence, the description is nearly complete. It could mention what fields are returned or whether pagination exists, but the absence of parameters and the presence of strong annotations make this a minor gap.

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

Parameters4/5

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

The tool has zero parameters, so there is no schema burden to compensate for. The description's mention of 'for the authenticated user' adds meaningful context about implicit scoping, which is the only parameter-like semantic an agent needs to understand.

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?

The description states a specific verb ('List') and resource ('session logs'), and clarifies the scope ('for the authenticated user'). It is clear enough to distinguish from the sibling tools that get a single session log's metadata or content, though it doesn't explicitly name those alternatives.

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?

The description implies this is the listing operation for session logs, and the sibling names (get_session_log_metadata, get_session_log_content) suggest when to use those instead. However, there is no explicit guidance on when to choose this tool over alternatives or any context about filtering or pagination.

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

termix_snippets_bulk_import_snippets_folders_jsonBulk import snippets and folders from JSONB

Bulk import snippets and folders from JSON. Imports snippets and folders. Existing folders are skipped; existing snippets (matched by name+folder) can be skipped or overwritten.

ParametersJSON Schema
NameRequiredDescriptionDefault
foldersNo
snippetsNo
overwriteNo

TDQS

B3.3/5.0
Behavior4/5

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

Annotations declare readOnlyHint=false, destructiveHint=false, idempotentHint=false, openWorldHint=true. The description adds meaningful behavioral context: existing folders are skipped, and existing snippets (matched by name+folder) can be skipped or overwritten based on the 'overwrite' parameter. This goes beyond the annotations and clarifies the mutation semantics. It doesn't mention side effects like partial import failures, but the core behavior is disclosed.

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?

The description is two sentences and front-loads the core action. The second sentence adds the key behavioral nuance about existing items. It is concise and every sentence earns its place, though it could be slightly more structured with explicit parameter references.

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?

For a bulk import tool with no output schema and 0% schema coverage, the description is incomplete. It does not specify the expected JSON format for folders and snippets, whether the import is atomic, what happens on validation errors, or what the response contains. The sibling export tool likely produces the compatible format, but that connection is not made. An agent would struggle to construct valid input without additional documentation.

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%, so the description must compensate. It mentions 'overwrite' behavior but does not explain the structure of the 'folders' and 'snippets' arrays, which are untyped (items: {}). The description adds some meaning for 'overwrite' but leaves the most complex parameters (the JSON structures) completely undocumented. This is a significant gap for a bulk import tool.

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?

The description states a specific verb ('Bulk import') and resource ('snippets and folders from JSON'), and it distinguishes itself from the sibling export tool (termix_snippets_export_all_snippets_folders_as_json) by being the import counterpart. It doesn't explicitly name the sibling, but the resource and action are clear enough to differentiate.

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?

The description implies when to use it: when you have JSON containing snippets and folders to import. It does not explicitly state when not to use it or mention alternatives like the export tool or create_new_snippet. The behavior for existing folders/snippets is described, which gives some usage context, but no explicit routing guidance.

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

termix_snippets_create_new_snippetCreate a new snippetC

Create a new snippet. Creates a new snippet for the authenticated user.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNo
orderNo
folderNo
isNoteNoWhen true, the snippet is a note (copy/paste only, not directly executable on a host).
contentNo
descriptionNo

TDQS

C2.6/5.0
Behavior3/5

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

Annotations already indicate a mutating, non-idempotent operation, and the description adds the useful user-scoping detail. It does not address the openWorldHint or explain side effects, but it does not contradict the annotations.

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

Conciseness2/5

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

The first sentence is a near-exact repetition of the title, and the second adds only minimal value. The redundancy wastes a sentence without offering meaningful detail.

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?

For a create tool with 6 optional parameters and no output schema, the description omits parameter semantics, return behavior, and usage conditions. The presence of annotations does not fill these gaps.

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

Parameters1/5

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

Only 1 of 6 parameters (isNote) has a schema description, and the tool description provides no parameter information at all. With schema coverage at 17%, the description fails to compensate, leaving name, order, folder, content, and description semantics unexplained.

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?

The description clearly states the action 'Create a new snippet' and adds 'for the authenticated user', specifying the resource and scope. However, it does not differentiate from sibling tools like update_snippet or create_new_snippet_folder beyond the obvious verb.

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?

No guidance is provided about when to use this tool versus alternatives such as creating a snippet folder or updating an existing snippet. The only hint is the name/verb, with no explicit context or exclusions.

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

termix_snippets_create_new_snippet_folderCreate a new snippet folderC

Create a new snippet folder. Creates a new snippet folder for the authenticated user.

ParametersJSON Schema
NameRequiredDescriptionDefault
iconNo
nameNo
colorNo

TDQS

C2.6/5.0
Behavior2/5

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

Annotations indicate readOnlyHint=false, destructiveHint=false, idempotentHint=false, and openWorldHint=true. The description adds no behavioral context beyond the annotations: it doesn't state whether creating a folder with an existing name fails or overwrites, whether the icon/color fields are optional, or what the response contains. The phrase 'for the authenticated user' adds a small amount of context about scoping, but the description largely repeats the title.

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?

The description is very short, which is concise, but it repeats the title almost verbatim ('Create a new snippet folder' appears twice). The second sentence adds only the authenticated-user scoping. It earns a middle score because it is not bloated, but the repetition wastes the opportunity to add useful information.

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?

For a create operation with three undocumented parameters and no output schema, the description is incomplete. An agent cannot tell what values to pass for icon/color, whether name is required, or what a successful creation returns. The sibling list shows many related snippet tools, but the description does not connect to them or clarify how this tool fits into the workflow.

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%, so the description must compensate for the three undocumented parameters (icon, name, color). It does not. The description only mentions 'snippet folder' without explaining what values are valid for icon or color, whether name is required, or how these fields affect the created folder. This is a significant gap given zero schema coverage.

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?

The description states a specific verb and resource: 'Create a new snippet folder.' It clearly identifies the action and the target object, and the title reinforces it. It doesn't explicitly differentiate from sibling tools like termix_snippets_create_new_snippet, but the resource (folder vs snippet) is distinct enough in the name and description.

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?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites, such as whether a parent folder is needed, or how this relates to other snippet folder operations like rename or update metadata. The only context is 'for the authenticated user,' which is a minor usage note but not sufficient.

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

termix_snippets_execute_snippet_hostExecute a snippet on a hostC

Execute a snippet on a host. Executes a snippet on a specified host.

ParametersJSON Schema
NameRequiredDescriptionDefault
hostIdNo
snippetIdNo
inputValuesNoOptional resolved values for $INPUT_n placeholders in the snippet content, keyed by "INPUT_n". Host variables ($HOST, $USER, $PORT, $NAME) are resolved server-side per target host and do not need to be passed here.

TDQS

C2.5/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=false, idempotentHint=false, and destructiveHint=false, so the description need not restate the mutation profile. But it adds no behavioral context beyond the title: no mention of side effects, arbitrary code execution, return behavior, or required host connectivity.

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

Conciseness2/5

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

The description is short but redundant: both sentences say essentially the same thing already captured by the title. No additional information is front-loaded because no information is added at all.

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?

For a tool that executes code on a host, the description is notably incomplete: it does not explain what happens when executed, what the output is, whether this runs arbitrary snippet content, or what hostId and snippetId refer to. The absence of an output schema makes the missing return-value description especially costly.

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 only 33%, so the description should compensate for undocumented hostId and snippetId, but it does not mention any parameters. The only parameter with semantic help is inputValues, and that help comes from the schema, not the description.

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?

The description clearly states a specific verb and resource: executing a snippet on a host. However, it merely repeats the title and does not differentiate itself from sibling snippet tools or other execution tools.

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?

No guidance is given about when to use this tool versus alternatives such as termix_snippets_get_specific_snippet, termix_snippets_create_new_snippet, or fleets run-command tools. The usage context is only implied by the verb 'execute'.

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

termix_snippets_export_all_snippets_folders_as_jsonExport all snippets and folders as JSONA
Read-onlyIdempotent

Export all snippets and folders as JSON. Returns all snippets and snippet folders for the authenticated user as a JSON export.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safe read-only behavior is covered. The description adds the authenticated-user scope and JSON output format, but does not disclose response structure, size limits, pagination, or any other behavioral detail. This is adequate but somewhat minimal.

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?

The description is short and front-loaded, with the core action stated in the first sentence. The second sentence largely restates the first and adds only the authenticated-user scope, so there is minor redundancy, but it remains compact and easy to parse.

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?

For a zero-parameter, read-only export tool, the description covers what is exported, for whom, and in what format. There is no output schema, so some detail about the JSON structure could be helpful, but the description is sufficient for an agent to confidently select and call this tool for a bulk export.

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

Parameters4/5

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

The tool has zero parameters, and the schema coverage is effectively 100%, so there are no parameter semantics for the description to clarify. The description usefully reinforces that the export covers all snippets and folders with no filtering options. Baseline 4 is appropriate for a no-parameter tool.

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?

The description states a specific verb (export), a specific resource (all snippets and snippet folders), and an output format (JSON). It also clarifies the scope is the authenticated user's data. However, it does not explicitly distinguish itself from sibling tools like get_all_snippets or get_all_snippet_folders beyond the bundled 'snippets and folders' scope.

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?

The description implies this tool is for retrieving a full JSON export of snippets and folders for the authenticated user. It does not explicitly say when to use it instead of the sibling get_all_snippets/get_all_snippet_folders tools, nor does it describe exclusions or alternatives. The usage context is clear but not elaborated.

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

termix_snippets_get_all_snippet_foldersGet all snippet foldersB
Read-onlyIdempotent

Get all snippet folders. Retrieves all snippet folders for the authenticated user.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description adds the meaningful context that results are scoped to the authenticated user, but it does not disclose ordering, pagination, or whether the response includes nested snippets.

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?

The description is short and front-loaded, but the first sentence duplicates the tool title almost verbatim. The second sentence adds only the 'authenticated user' scope, so one sentence is largely redundant.

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 a simple read-only list operation with no parameters, this is near-adequate. However, there is no output schema, and the description does not clarify what shape 'all snippet folders' takes or how it differs from the export/get-all-snippets sibling tools, leaving some ambiguity for an agent.

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

Parameters4/5

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

The tool takes no parameters, so the empty schema fully documents the input surface. The description's mention of the authenticated user is an auth-context note rather than a parameter, so the baseline 4 for zero-parameter tools applies.

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?

The description states a clear action and resource: 'Get all snippet folders' and clarifies scope to 'the authenticated user'. It is unambiguous, though it does not explicitly distinguish itself from sibling tools like termix_snippets_export_all_snippets_folders_as_json or termix_snippets_get_all_snippets.

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?

No guidance is provided on when to use this tool versus its alternatives. The description merely restates the operation without mentioning exclusions or sibling tools such as exporting folders as JSON or getting all snippets.

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

termix_snippets_get_all_snippetsGet all snippetsA
Read-onlyIdempotent

Get all snippets. Retrieves all snippets for the authenticated user.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.9/5.0
Behavior4/5

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

Annotations declare readOnlyHint=true, openWorldHint=true, idempotentHint=true, and destructiveHint=false, fully covering safety. The description adds 'for the authenticated user' which clarifies scope, and it implies a list of snippets, which is useful. No contradictions.

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 short sentences, no redundancy, front-loads the primary action and adds the user scope. Every word earns its place.

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?

For a simple read-only tool with no parameters and no output schema, the description is complete. It tells what it returns (all snippets) and for whom (authenticated user). No additional context like pagination is mentioned, but given the simplicity, this is acceptable.

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

Parameters4/5

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

There are no parameters, so the schema is trivially satisfied. The description confirms the operation takes no parameters, and since schema coverage is 100% (empty set), it's complete. Baseline 4 for 0 params is appropriate.

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?

The name and description both clearly state the tool retrieves all snippets for the authenticated user. It distinguishes from sibling termix_snippets_get_specific_snippet by specifying 'all' versus 'specific', though it doesn't explicitly name that sibling.

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?

The description implies use when you need all snippets for the authenticated user, but does not explicitly state when not to use it or mention alternatives like getting a specific snippet or getting folders. It's clear enough for basic selection.

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

termix_snippets_get_specific_snippetGet a specific snippetB
Read-onlyIdempotent

Get a specific snippet. Retrieves a specific snippet by its ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering safety and idempotency. The description adds no additional behavioral context beyond the basic retrieval action—it doesn't mention response format, error handling (e.g., 404 if not found), or any side effects. With annotations carrying the safety profile, the description is neutral but not enriching.

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?

The description is short and front-loaded, but it is redundant: 'Get a specific snippet' and 'Retrieves a specific snippet by its ID' essentially repeat the same information. A single sentence would have been more concise. The structure is acceptable but not optimal.

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 a simple retrieval tool with one parameter and rich annotations, the description provides the core information: what it does and the key parameter. It does not describe the return value or possible errors, but given the lack of an output schema and the simplicity of the operation, this is a minor gap. The description is adequate but could be improved by noting that it returns the snippet object or that it may fail for nonexistent IDs.

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

Parameters4/5

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

Schema description coverage is 0%, so the description is the only source of parameter meaning. It explicitly states that the tool retrieves a snippet 'by its ID', giving the 'id' parameter clear semantic context. While it doesn't elaborate on the ID's format or uniqueness, for a single-parameter tool this is sufficient and adds value beyond the raw schema.

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?

The description clearly states the tool's purpose: retrieving a specific snippet by its ID. The verb 'get' and 'retrieve' with the resource 'specific snippet' make the action unambiguous. It distinguishes from sibling tools like get_all_snippets by specifying 'specific' and 'by its ID', though it doesn't explicitly name alternatives. The redundancy in the two sentences slightly reduces clarity but the intent is clear.

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?

The description provides no explicit guidance on when to use this tool versus alternatives. It doesn't mention that this should be used when a snippet ID is known, or that get_all_snippets should be used for listing. While the name and schema imply ID-based retrieval, the description lacks any comparative or situational advice. Given the many sibling tools, this is a missed opportunity to guide selection.

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

termix_snippets_rename_snippet_folderRename a snippet folderC
Idempotent

Rename a snippet folder. Renames a snippet folder for the authenticated user.

ParametersJSON Schema
NameRequiredDescriptionDefault
newNameNo
oldNameNo

TDQS

C2.4/5.0
Behavior2/5

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

Annotations already establish readOnlyHint=false, idempotentHint=true, and destructiveHint=false. The description adds only the authenticated-user scope and otherwise repeats the rename action; it does not disclose what happens to the old folder name, whether contents are affected, or how conflicts are handled. No contradiction with annotations.

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?

The text is short and front-loaded, but the second sentence largely restates the first, adding only 'for the authenticated user.' It is not bloated, but the redundancy prevents a higher score.

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?

For a mutating tool with no output schema and zero parameter documentation, this is thin: no behavior, error cases, preconditions, or differentiation from the metadata-update sibling are provided. The operation is simple enough that a confident agent might guess correctly, but the description leaves too much unstated.

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

Parameters1/5

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

The description never mentions oldName or newName, and schema description coverage is 0%, so neither parameter is explained beyond its name. The schema also marks 0 required parameters, leaving the agent without clarity that both names are likely needed for a rename operation.

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?

The description states a concrete action ('Rename a snippet folder') and identifies the resource as a snippet folder for the authenticated user. However, it does not differentiate from similar siblings like termix_snippets_update_snippet_folder_metadata or termix_hosts_rename_folder, so it lacks explicit sibling distinction.

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 tool over alternatives or when not to use it. The only added context is the authenticated-user scope, which is not a usage rule.

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

termix_snippets_reorder_snippetsReorder snippetsB
Idempotent

Reorder snippets. Bulk updates the order and folder of snippets. Accepts snippets and the legacy updates payload key.

ParametersJSON Schema
NameRequiredDescriptionDefault
snippetsNo

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already cover mutation (readOnlyHint=false) and safety (destructiveHint=false, idempotentHint=true). The description adds that this is a bulk operation affecting both order and folder, and mentions acceptance of a legacy `updates` key, which is useful but does not explain deeper behavior like whether unlisted snippets are preserved or how ordering is applied.

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?

The description is brief and front-loaded with the primary purpose. Each sentence earns its place, though the legacy key mention could be integrated more smoothly. There is no redundancy or filler.

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?

For a mutation tool with no output schema and a schema with zero descriptions, the description is too sparse. It does not specify required fields, the full payload structure, how to order snippets, or the behavior of the legacy `updates` payload, so an agent cannot reliably construct a correct call without additional inference.

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%, so the description must explain parameter meanings, but it only names the `snippets` key and mentions a legacy `updates` key. It does not explain that each item requires an `id`, what `order` signifies (absolute vs relative), or how `folder` is applied, leaving the agent to guess from property names.

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?

The description clearly states a specific verb and resource: 'Reorder snippets' and 'Bulk updates the order and folder of snippets.' It distinguishes this bulk operation from single-snippet tools like update_snippet and other reorder tools (hosts, credentials) by explicitly naming the resource and scope.

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?

The description implies usage for bulk reordering and folder assignment via 'Bulk updates the order and folder of snippets.' However, it does not explicitly contrast with alternatives like termix_snippets_update_snippet or state when not to use this tool (e.g., single-snippet edits), leaving the selection decision partially to inference.

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

termix_snippets_update_snippetUpdate a snippetC
Idempotent

Update a snippet. Updates a specific snippet by its ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
nameNo
orderNo
folderNo
isNoteNoWhen true, the snippet is a note (copy/paste only, not directly executable on a host).
contentNo
descriptionNo

TDQS

C2.8/5.0
Behavior3/5

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

Annotations already mark this as a mutating (readOnlyHint=false), idempotent, non-destructive operation, and the description does not contradict them. It adds no detail about whether updates are partial or full, but the annotation profile carries most of the behavioral burden.

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?

The description is short and front-loads the core action, but the first sentence ('Update a snippet') redundantly repeats the title. The second sentence earns its place by adding the ID-scoping detail.

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?

For a tool with seven parameters, no output schema, and low schema coverage, the description is too thin to support correct invocation. It omits which fields may be updated, whether omitted fields are preserved or cleared, and what the response/effect looks like.

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?

With only 14% schema description coverage, the description needed to clarify the optional fields, but it only clarifies that the target is identified by ID. The meanings of name, order, folder, content, and description are left to type names, and the update semantics (partial vs full replacement) are unspecified.

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?

The description names the resource ('snippet') and the action ('update'), and narrows the target to 'a specific snippet by its ID,' which separates it from create/get/execute snippet tools. It is clear though terse; the first sentence mostly repeats the title.

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 about when to choose update_snippet over create_new_snippet, execute_snippet_host, or update_snippet_folder_metadata, and no 'when not to use' conditions. An agent must infer usage from the tool name and schema.

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

termix_snippets_update_snippet_folder_metadataUpdate snippet folder metadataC
Idempotent

Update snippet folder metadata. Updates the metadata (color, icon) of a snippet folder.

ParametersJSON Schema
NameRequiredDescriptionDefault
iconNo
nameYes
colorNo

TDQS

C2.9/5.0
Behavior3/5

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

Annotations already show this is a write operation (readOnlyHint=false), non-destructive, and idempotent. The description adds that color/icon are the affected fields, but says nothing about how omitted properties behave or whether name is an identifier vs new value; no contradiction with annotations.

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?

The description is compact, but the first sentence repeats the tool title verbatim and the second repeats 'of a snippet folder,' introducing redundancy. It is not excessively long, but not every sentence earns its place.

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 a simple three-string-parameter update tool, annotations cover safety and idempotency. However, the absence of an output schema and no explanation of the required `name`/update semantics leaves an agent guessing about how to construct a correct call.

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%, so the description must compensate. It only labels color and icon as metadata; it does not explain the required `name` parameter's role or acceptable formats/values for color/icon, leaving a critical ambiguity.

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?

The description names a specific verb ('Update'), resource ('snippet folder'), and concrete fields ('color, icon'), so an agent can tell this is a mutation of folder metadata rather than folder creation. However, it does not explicitly differentiate from sibling rename_snippet_folder, and it omits the required name field from its scope.

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?

No when-to-use or alternatives are mentioned. The sibling list contains rename_snippet_folder, create_new_snippet_folder, and hosts_update_folder_metadata, but the description gives no condition for selecting this tool over them.

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

termix_system_check_if_setup_is_requiredCheck if setup is requiredA
Read-onlyIdempotent

Check if setup is required. Checks if the system requires initial setup (i.e., no users exist).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, covering the safety profile. The description adds the specific condition (no users exist) but does not mention the return format (e.g., boolean). With annotations covering safety, this is adequate but not rich.

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?

The description is two sentences with no redundancy. The main statement is front-loaded, and the clarification is concise. Every word earns its place.

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?

For a simple check tool with no parameters and no output schema, the description is nearly complete. It states the purpose and condition. It could mention the expected return type (e.g., boolean) but this is a minor gap for such a straightforward tool.

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

Parameters4/5

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

The tool has zero parameters, so the description adds no parameter-specific meaning. According to the calibration, a zero-parameter tool gets a baseline of 4. The schema is empty and fully covered.

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?

The description clearly states the tool's function: checking if setup is required, and clarifies the condition ('no users exist'). This is a specific verb+resource, and it is distinct from sibling tools like system health or version checks.

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?

The usage is implied: if you need to determine whether initial setup is needed, use this tool. There are no close alternatives among the siblings, so no explicit exclusions are necessary, but the description does not explicitly state when not to use it.

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

termix_system_healthTermix health checkA
Read-only

Checks whether the Termix backend is up and responding.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.8/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 the safety profile is covered. The description adds the behavioral fact that this is a liveness/availability probe, but provides no further context about what 'responding' means or what the response conveys. This is adequate for a trivial no-parameter read-only tool but does not go beyond the minimum.

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?

A single sentence that directly states the tool's purpose with no filler or repetition. It is appropriately sized for a zero-parameter health-check tool and front-loads the key action and target.

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?

For a zero-parameter read-only liveness check, the description is nearly complete: it states what is checked and the expected condition. It does not describe the exact return value or failure semantics, but the absence of an output schema and the tool's simplicity make this a minor gap rather than a blocking one.

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

Parameters4/5

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

The tool has zero parameters, so there is no parameter meaning for the description to add. Baseline 4 applies: the schema is trivially complete and no parameter clarification is needed.

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?

The description names a specific verb ('Checks') and a specific resource ('the Termix backend'), stating the exact condition ('up and responding'). It is clearly distinguished from sibling system tools like termix_system_version or termix_system_check_if_setup_is_required, which target different questions.

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?

The description gives no guidance on when to call this tool versus alternatives such as termix_system_version or termix_system_releases. There is no mention of prerequisites, recommended ordering before other operations, or circumstances where this health check is appropriate.

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

termix_system_releasesList Termix releasesA
Read-only

Lists recent Termix releases from GitHub, as seen by the Termix backend.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number, 1-based.
perPageNoResults per page.

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint and openWorldHint, so the safety profile is covered. The description adds that releases are 'as seen by the Termix backend', hinting at a proxied or possibly cached view rather than a direct GitHub API call, but it does not disclose ordering, pagination defaults, or potential staleness.

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?

The description is a single, front-loaded sentence with no filler, no repetition of the title, and every phrase ('recent', 'from GitHub', 'as seen by the Termix backend') adds information. It is appropriately sized for a simple list tool.

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?

For a simple read-only paginated list tool, the description plus the schema and annotations cover the essentials: what it lists, where the data comes from, and how pagination works. It does not describe the exact return shape or default page size, but those are not required to invoke it correctly.

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 100%, and both 'page' and 'perPage' already have meaningful descriptions and constraints. The description adds no parameter-level detail, so it neither improves nor harms the schema's guidance. Baseline 3 is appropriate.

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?

The description uses a concrete verb ('Lists') and identifies the resource ('recent Termix releases'), adding the source ('from GitHub') and the backend perspective. This is clear and mostly distinguishes the tool from the sibling 'termix_system_version', though it does not explicitly name that distinction or define what counts as 'recent'.

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?

Usage is only implied: an agent can infer that this tool is for retrieving release history, but the description gives no explicit when-to-use or when-not-to-use guidance and names no alternative. There is no close sibling for releases, so the omission is not severe, but the guidance is still minimal.

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

termix_system_versionGet Termix versionA
Read-only

Returns the Termix instance's local version. Does not contact GitHub for update checks.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, covering the safety and variability aspects. The description adds a meaningful behavioral detail: that the tool does not perform network calls to GitHub. This goes beyond what the annotations provide and helps the agent understand the tool's non-networked nature, which is valuable for setting expectations about latency and freshness.

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?

The description is a single, focused sentence that front-loads the core purpose and adds the key differentiator (no GitHub contact). There is no unnecessary jargon, repetition, or extra text. Every word earns its place.

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?

For a zero-parameter, read-only tool with no output schema, the description is complete. It states what the tool returns (local version) and what it does not do (contact GitHub). An agent has all the information needed to decide when to use it and what to expect. The absence of an output schema is fine because the description conveys the nature of the result.

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

Parameters4/5

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

The tool has zero parameters, so there is no parameter semantics to clarify. Per the rubric, a baseline of 4 is appropriate when there are no parameters. The description does not need to add parameter information, and none is present.

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?

The description clearly states the tool's purpose: 'Returns the Termix instance's local version.' It uses a specific verb and resource, and explicitly distinguishes itself from sibling tools like termix_system_releases by noting it does not contact GitHub for update checks. This makes the tool's role unambiguous even among many siblings.

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?

The description provides clear context by stating the tool returns the local version and explicitly notes it does not check for updates. While it doesn't name alternative tools directly, the statement 'Does not contact GitHub for update checks' implicitly tells an agent when not to use this tool (when update information is needed). This is nearly explicit guidance, though it could have named termix_system_releases as the alternative.

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

termix_tailscale_list_tailscale_devicesList Tailscale devicesA
Read-onlyIdempotent

List Tailscale devices. Returns the list of devices in the configured tailnet using the stored API key.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already carry the read-only/idempotent/non-destructive profile. The description adds meaningful context by disclosing that authentication comes from a stored API key and that the operation targets the configured tailnet, making the call's dependencies visible.

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?

Two short sentences front-load the action and then add the key context about tailnet and API key. The first sentence slightly restates the title, but the whole description is efficient.

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?

For a parameterless, annotation-rich read operation, the description is largely complete. It could name the closest sibling or the shape of the returned device list, but those are minor gaps given the simple interface.

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

Parameters4/5

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

With zero parameters and 100% schema coverage, there is nothing for the description to document. The mention of the stored API key usefully explains why no credential parameters are needed.

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 exactly what it does with a specific verb ('List') and resource ('Tailscale devices'), plus the scope qualifier 'configured tailnet'. This is distinct from the sibling Tailscale status/IP tools because it targets the device inventory rather than status or connection state.

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?

Implied usage: call this when you need the tailnet device inventory. It notes the auth context (stored API key) but does not explicitly say when to prefer it over similar siblings such as termix_metrics_get_tailscale_status_ips.

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

termix_terminal_history_delete_specific_command_historyDelete a specific command from historyC

Delete a specific command from history. Deletes a specific command from the history of a host.

ParametersJSON Schema
NameRequiredDescriptionDefault
hostIdNo
commandNo

TDQS

C2.1/5.0
Behavior1/5

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

The description claims a destructive action ('Delete'), but the annotation destructiveHint is false, creating a direct contradiction. Additionally, it does not disclose any side effects, permanence, or permissions needed.

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

Conciseness2/5

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

The description is short but repeats itself: 'Delete a specific command from history' and 'Deletes a specific command from the history of a host' say nearly the same thing. It could be one concise sentence.

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

Completeness1/5

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

With two undocumented parameters, no output schema, and no behavioral notes, the description is inadequate for a deletion operation that could have irreversible effects.

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

Parameters1/5

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

The schema has zero description coverage and the description does not explain the hostId or command parameters, leaving the agent without guidance on required fields, format, or matching semantics.

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?

The description clearly states the action (delete) and the resource (a specific command from history), and adds the scope 'of a host'. It is distinct from sibling get/list tools, though the second sentence is redundant.

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 tool versus alternatives, no conditions, and no mention of required parameters. It only states the action without context or exclusions.

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

termix_terminal_history_get_command_historyGet command historyB
Read-onlyIdempotent

Get command history. Retrieves the command history for a specific host.

ParametersJSON Schema
NameRequiredDescriptionDefault
hostIdYes

TDQS

B3.1/5.0
Behavior3/5

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

Annotations declare readOnlyHint and idempotentHint, so the safety profile is covered. The description adds no behavioral detail beyond the 'specific host' scope, which is minimal but not contradictory.

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?

The first sentence 'Get command history.' is redundant with the title. The second sentence provides the only useful information, making the overall description concise but slightly wasteful.

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 a simple one-parameter, read-only tool, the description is minimally adequate, but it does not mention return format, pagination, or how to choose between this and the similarly named hosts tool. No output schema exists to fill gaps.

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 0%, and the description says 'for a specific host' but does not explicitly clarify that hostId is the host identifier beyond what the name implies. Adds some context but insufficiently compensates for missing schema descriptions.

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 (Get) and resource (command history), and notes it is per-host. However, it does not distinguish from the similarly named sibling termix_hosts_get_command_history, so differentiation is absent.

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?

No guidance on when to use this tool versus alternatives like termix_hosts_get_command_history or the save/delete history operations. No exclusions or context provided.

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

termix_terminal_history_get_session_persistence_settingsGet session persistence settingsA
Read-onlyIdempotent

Get session persistence settings. Returns the session timeout and persistence enabled flag.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already cover read-only, idempotent, and non-destructive behavior, so the description mainly needs to add outcome context. It adds the return fields, which is helpful because no output schema is provided. No contradiction with annotations.

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 short sentences with no filler. The action, resource, and return value are all conveyed immediately and every sentence earns its place.

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?

For a parameterless read-only getter, the description plus annotations fully cover what an agent needs: the operation, the safety profile, and the returned fields. Nothing critical is missing.

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

Parameters4/5

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

The tool has zero parameters and schema coverage is 100%, so there are no parameter semantics for the description to add. Baseline 4 is appropriate for a zero-parameter tool.

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?

The description uses a specific verb ('Get') with a specific resource ('session persistence settings') and states exactly what is returned: the session timeout and persistence enabled flag. This clearly distinguishes it from the sibling update tool.

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?

The read-only, parameterless nature makes the intended use obvious, especially alongside the sibling update_session_persistence_settings tool. However, it does not explicitly name the alternative or state when not to use it.

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

termix_terminal_history_save_command_historySave command to historyC

Save command to history. Saves a command to the command history for a specific host.

ParametersJSON Schema
NameRequiredDescriptionDefault
hostIdNo
commandNo

TDQS

C2.6/5.0
Behavior2/5

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

Annotations already indicate readOnlyHint=false, so the write nature is known. However, the description adds no behavioral context: it does not say whether the command is appended, overwritten, or deduplicated, nor what happens on duplicate or invalid hostId. For a write tool, this is a significant gap beyond the annotations.

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?

The description is short (two sentences) but somewhat redundant, repeating 'Save command to history' before elaborating. It is concise but not tightly structured; the first sentence adds little beyond the title.

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?

For a simple write tool with 2 parameters and no output schema, the description is too thin. It does not mention behavior on duplicates, error conditions, or how it relates to other history tools (e.g., termix_hosts_get_command_history). The agent would need to guess at expected behavior and parameter usage.

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%, so the description must compensate. It only implies hostId via 'specific host' and command via 'command', but gives no format, constraints, or whether parameters are required. Both parameters are optional in the schema, and the description does not clarify this oddity. Meaning added is minimal.

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?

The description states the verb 'save' and the resource 'command to history' for a specific host, which is clear and distinct from sibling tools like get_command_history and delete_specific_command_history. It is not a tautology and conveys the core action, though it does not explicitly name alternatives.

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?

The description provides no guidance on when to use this tool versus alternatives. It does not mention prerequisites, when to choose it over other history tools, or any conditions that would make it appropriate. The agent is left to infer usage from the name alone.

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

termix_terminal_history_update_session_persistence_settingsUpdate session persistence settingsC

Update session persistence settings. Saves session timeout and persistence enabled flag.

ParametersJSON Schema
NameRequiredDescriptionDefault
enabledNo
timeoutMinutesNo

TDQS

C2.8/5.0
Behavior2/5

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

Annotations already indicate this is a write operation (readOnlyHint=false) and not idempotent. The description adds only that it 'saves' the settings, which essentially restates the mutation behavior already implied by the annotations. It does not disclose persistence scope, whether partial updates are allowed, or any side effects of changing these settings.

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?

The description is short and readable, but the first sentence largely repeats the title, and the second sentence is the only substantive content. It is not bloated, but it could be more information-dense without adding length.

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?

For a mutation tool with no output schema, no parameter descriptions, and no required parameters, this description is too thin. It does not explain what happens when only timeoutMinutes or only enabled is supplied, whether these settings apply immediately, or what a successful update returns. The sibling read tool makes the domain clear, but the update semantics are underspecified.

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 0%, so the description carries the burden for parameter meaning. It mentions 'session timeout' and 'persistence enabled flag', which loosely map to timeoutMinutes and enabled, but it does not explicitly bind the names, explain units beyond the parameter name, or clarify optionality and interaction between the two parameters.

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?

The description identifies a specific verb ('Update') and a specific resource ('session persistence settings'), and clarifies what is saved: 'session timeout and persistence enabled flag'. It is clearly distinguishable from its sibling get_session_persistence_settings, though it does not explicitly name that counterpart.

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?

No guidance is provided on when to use this tool versus alternatives. The closely related get_session_persistence_settings sibling suggests a read/update pair, but the description never states when to choose this over other terminal_history tools. No prerequisites or conditions are mentioned.

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

termix_tunnels_cancel_tunnel_retryCancel tunnel retryB

Cancel tunnel retry. Cancels the retry mechanism for a failed SSH tunnel connection.

ParametersJSON Schema
NameRequiredDescriptionDefault
tunnelNameNo

TDQS

B3.3/5.0
Behavior3/5

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

Annotations already declare the tool is not read-only and not destructive. The description adds that it cancels the retry mechanism for failed connections, which provides some behavioral context. However, it does not disclose any side effects, such as whether the tunnel remains active or if the retry state is reset, beyond what annotations imply.

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?

The description is two short sentences with no redundant phrases. It front-loads the action and immediately clarifies the context (failed SSH tunnel connection). Every word adds value.

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?

Given the simplicity (one parameter, no output schema), the description is minimal. It does not explain what happens after canceling (e.g., return value, effect on the tunnel), nor does it clarify that tunnelName is the target identifier. No prerequisites or side effects are mentioned, leaving gaps for the agent.

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%, so the description must compensate for parameter meaning. It does not mention tunnelName or explain how to identify the tunnel. The parameter name is self-explanatory, but with zero coverage, the agent receives no additional semantic guidance from the description.

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?

The description clearly states the verb 'Cancel' and the resource 'tunnel retry', and adds context by specifying it cancels the retry mechanism for a failed SSH tunnel connection. This distinguishes it from sibling tunnel tools like connect, disconnect, or update, even without naming them.

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?

The description gives no explicit guidance on when to use this tool versus alternatives. It implies usage (when you want to stop retries), but does not state exclusions or refer to other tunnel tools. For example, it doesn't clarify when to use cancel retry vs. disconnect_ssh_tunnel.

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

termix_tunnels_connect_ssh_tunnelConnect SSH tunnelC

Connect SSH tunnel. Establishes an SSH tunnel connection with the specified configuration.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNo
tunnelIndexNo
sourceHostIdNo

TDQS

C2.4/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=false and idempotentHint=false, and the description adds no new behavioral context about side effects, required setup, authentication, or outcomes. It merely restates the connect action without going beyond the structured metadata.

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?

The text is short and the key verb is front-loaded, but the second sentence largely restates the first. It is not bloated, yet the redundancy means the description is not as efficient as it could be.

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?

For a tool with three undocumented parameters and no output schema, the description lacks enough information for an agent to reliably invoke it. It does not explain how to identify the target tunnel, what a successful connection entails, or what errors or side effects to expect. Sibling tool names alone cannot fill these gaps.

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

Parameters1/5

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

All three parameters (name, tunnelIndex, sourceHostId) are undocumented in the schema, and the description does not clarify how to specify the tunnel. The phrase 'specified configuration' does not explain which parameter selects the tunnel, whether they are alternatives, or what values are expected. With 0% schema coverage, the description fails to compensate.

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?

The description uses a specific verb ('Connect') and resource ('SSH tunnel') and clearly states that it establishes an SSH tunnel connection. It is distinguishable from siblings like termix_tunnels_disconnect_ssh_tunnel and the preset-management tools, though it remains generic about what configuration is used.

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?

No guidance is provided on when to use this tool versus alternatives such as termix_tunnels_create_client_tunnel_preset or termix_tunnels_disconnect_ssh_tunnel. There are no prerequisites, exclusions, or conditions stated. Usage context is only implied by the tool's name and title.

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

termix_tunnels_create_client_tunnel_presetCreate a client tunnel presetB

Create a client tunnel preset. Saves a named client-to-server tunnel configuration for the authenticated user.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNo
configNo

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already establish this is a non-read-only, non-idempotent write operation. The description adds that the effect is to persist a named client-to-server configuration scoped to the authenticated user, which is useful context beyond the annotations. It does not discuss duplicate-name handling, validation, or other side effects, but it does not contradict the annotations.

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?

The description is two short sentences with no filler. The action is front-loaded, and the second sentence earns its place by adding the config type and user scope.

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?

For a create operation with a loose, completely undocumented `config` schema and no output schema, the description does not provide enough to invoke the tool confidently. It lacks guidance on the config array shape, whether parameters are effectively required, and what happens when a preset with the same name already exists.

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%, so the description must compensate for the two undocumented parameters. It weakly implies that `name` is the preset name and `config` is the tunnel configuration, but it does not explain the expected array-of-objects shape for `config`, field requirements, or valid values, leaving an agent without enough detail to construct a correct call.

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?

The description clearly identifies the action ('Create') and resource ('client tunnel preset'), and adds that it saves a named client-to-server configuration for the authenticated user. It does not explicitly contrast with the sibling update tool, though 'create' semantically separates it from update, list, and connect operations.

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?

The usage context is implied: this tool is for creating and saving a new named tunnel preset. However, the description does not explicitly say when to use it instead of update_client_tunnel_preset, nor does it state any exclusions or prerequisites.

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

termix_tunnels_disconnect_ssh_tunnelDisconnect SSH tunnelC

Disconnect SSH tunnel. Disconnects an active SSH tunnel.

ParametersJSON Schema
NameRequiredDescriptionDefault
tunnelNameNo

TDQS

C2.4/5.0
Behavior2/5

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

Annotations declare readOnlyHint=false, destructiveHint=false, idempotentHint=false, and openWorldHint=true. The description adds no behavioral context beyond the annotations: it does not state whether disconnecting is reversible, whether it affects other tunnels, whether it requires the tunnel to be active, or what happens if the tunnelName is invalid. The description does not contradict the annotations, but it also does not enrich them.

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?

The description is extremely short: 'Disconnect SSH tunnel. Disconnects an active SSH tunnel.' The first sentence repeats the title, and the second sentence is a near-verbatim restatement. It is concise but wastes its only two sentences on redundancy rather than adding useful information.

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?

For a tool with one parameter, no output schema, and no parameter documentation, the description is incomplete. It does not explain how to find the tunnelName, what a successful disconnect looks like, or what errors might occur. The sibling termix_tunnels_get_all_tunnel_statuses and termix_tunnels_get_tunnel_status_name could help an agent find tunnel names, but the description does not point to them.

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%, so the description must compensate for the undocumented tunnelName parameter. It does not. The description never mentions tunnelName, how to obtain it, or what format it should take. With one required-looking parameter and zero schema documentation, the agent is left without guidance on what value to pass.

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

Purpose3/5

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

The description states a clear verb and resource: 'Disconnect SSH tunnel' and 'Disconnects an active SSH tunnel.' It is not a tautology, but it does not distinguish itself from sibling tools like termix_tunnels_connect_ssh_tunnel or termix_tunnels_cancel_tunnel_retry beyond the obvious opposite action. The name and title already convey the action, so the description adds little differentiation.

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?

The description provides no guidance on when to use this tool versus alternatives. It does not mention that the tunnel must be active, how to identify the tunnelName, or that termix_tunnels_connect_ssh_tunnel is the counterpart for establishing tunnels. The context is implied by the name but not explicitly stated.

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

termix_tunnels_get_all_tunnel_statusesGet all tunnel statusesA
Read-onlyIdempotent

Get all tunnel statuses. Retrieves the status of all SSH tunnels.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint=false, so the safety profile is fully covered. The description adds only the resource scope ('status of all SSH tunnels') and does not disclose additional behavioral details such as return format, live vs cached data, or error behavior.

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?

The description is short and front-loaded, but the first sentence repeats the tool title exactly and the second sentence is nearly synonymous. It is concise but wastes one sentence on redundancy rather than adding differentiating or behavioral value.

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?

For a zero-parameter, read-only, idempotent listing operation with no output schema, the description is sufficiently complete for an agent to invoke the tool. It clearly identifies the resource and scope, though it could add a sentence about what a tunnel status contains.

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

Parameters4/5

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

The tool has zero parameters and the schema has no fields, so there is nothing for the description to document. The baseline for zero-parameter tools is 4, and the description does not need to compensate for any parameter gaps.

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?

The description states a specific action and resource: retrieving the status of all SSH tunnels. It clearly distinguishes itself from the sibling termix_tunnels_get_tunnel_status_name by emphasizing 'all' tunnels, and from connection-management tools like connect/disconnect.

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 about when to use this tool versus alternatives such as termix_tunnels_get_tunnel_status_name for a single tunnel. No context, prerequisites, or exclusions are provided; the agent must infer usage from the name alone.

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

termix_tunnels_get_tunnel_status_nameGet tunnel status by nameB
Read-onlyIdempotent

Get tunnel status by name. Retrieves the status of a specific SSH tunnel by its name.

ParametersJSON Schema
NameRequiredDescriptionDefault
tunnelNameYes

TDQS

B3.1/5.0
Behavior2/5

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

Annotations already declare readOnlyHint, idempotentHint, openWorldHint, and destructiveHint=false, and the description adds no behavioral context beyond that. It does not mention what the status contains, whether it can be cached/stale, or what happens for a nonexistent tunnel name.

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?

The description is short, but the second sentence largely repeats the first sentence and the title. It adds only 'specific SSH tunnel' and doesn't fully earn its place.

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?

Given only one parameter and strong read-only annotations, the description is minimally sufficient for an agent to make the call. However, there is no output schema and no explanation of what 'status' looks like or error behavior, leaving some uncertainty about the return value.

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 0%, so the description needs to compensate. It does clarify that the single parameter is a tunnel's name, but it doesn't say where the name comes from, acceptable formats, or behavior when the name is unknown. This is minimal but sufficient for one obvious string parameter.

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?

The description clearly states the operation (retrieving status) and scope (a specific SSH tunnel by name), which distinguishes it from the broader sibling termix_tunnels_get_all_tunnel_statuses. However, it doesn't explicitly name the sibling or call out the differentiation, so it falls short of the top score.

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?

The phrase 'by its name' implies this tool is for a single named tunnel rather than all tunnel statuses, but the description never explicitly tells an agent when to choose this tool over alternatives such as termix_tunnels_get_all_tunnel_statuses. No exclusions or conditions are provided.

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

termix_tunnels_list_client_tunnel_presetsList client tunnel presetsA
Read-onlyIdempotent

List client tunnel presets. Returns the authenticated user's saved client-to-server tunnel presets.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.1/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, openWorldHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds that the result is scoped to the authenticated user's saved presets, which is useful, but it does not disclose output shape, ordering, or pagination behavior.

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?

The description is two short sentences with no filler. The main purpose is front-loaded, and the scoping detail in the second sentence adds value without bloat.

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?

For a zero-parameter read-only list tool, the description is complete: it names the resource, the ownership scope, and the fact that it returns saved presets. No output schema exists, but the essential return meaning is stated clearly enough for an agent to invoke the tool correctly.

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

Parameters4/5

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

The input schema has zero parameters, so there are no parameter semantics for the description to supplement. The baseline of 4 is appropriate because no parameter-level documentation is required.

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?

The description states a specific verb ('List') and a specific resource ('client tunnel presets'), then clarifies that it returns the authenticated user's saved client-to-server tunnel presets. This clearly distinguishes it from sibling operations such as creating, updating, connecting, or disconnecting tunnels.

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?

The description implies this is the read-only retrieval tool for saved presets, but it does not explicitly say when to choose it over sibling tools like termix_tunnels_get_all_tunnel_statuses or termix_tunnels_create_client_tunnel_preset. Usage context is present but no exclusions or alternatives are named.

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

termix_tunnels_update_client_tunnel_presetUpdate a client tunnel presetB
Idempotent

Update a client tunnel preset. Updates the name or config of one of the authenticated user's tunnel presets.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
nameNo
configNoClient-to-server tunnel definitions for this preset.
platformNo
computerNameNo

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already cover safety (readOnly=false, destructiveHint=false, idempotentHint=true), so the description is not required to repeat those. It adds the scope of 'authenticated user's presets' and mentions updating name or config. However, it does not disclose whether the config array is replaced entirely or merged, nor any auth requirements beyond the implied user scoping.

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 sentences with zero waste, purpose stated upfront. The description is appropriately concise and front-loaded with the core action.

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?

The tool has a complex config array with nested objects, 5 parameters, and no output schema. The description is minimal and does not explain how to construct the config, what platform/computerName mean, or what the return value is. For an update operation, this is insufficiently complete.

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 coverage is only 20% (only the config array has a description). The tool description mentions 'name or config' but does not explain platform, computerName, or the structure of config beyond what the schema provides. With low coverage, the description should compensate but does not.

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 (update client tunnel preset) and clarifies the scope (name or config of authenticated user's presets). It is clear what the tool does, but does not explicitly differentiate from sibling tools like create or list beyond the verb.

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?

The description implies usage for modifying an existing preset, but does not provide explicit when-to-use guidance or exclusions. It does not mention alternatives like create_client_tunnel_preset or list_client_tunnel_presets, so the agent must infer context.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 184 tool updatesv0.1.0
    • First observedtermix_alerts_acknowledge_alert_firing
    • First observedtermix_alerts_acknowledge_all_alert_firings_current_user
    • First observedtermix_alerts_create_alert_rule
    • First observedtermix_alerts_create_notification_channel
    • First observedtermix_alerts_dismiss_alert
    • First observedtermix_alerts_get_active_alerts
    • First observedtermix_alerts_get_dismissed_alerts
    • First observedtermix_alerts_list_alert_firings_current_user
    • First observedtermix_alerts_list_alert_rules_current_user
    • First observedtermix_alerts_list_notification_channels_current_user
    • First observedtermix_alerts_send_test_notification
    • First observedtermix_alerts_update_alert_rule
    • First observedtermix_alerts_update_notification_channel
    • First observedtermix_audit_export_audit_logs
    • First observedtermix_audit_list_audit_logs
    • First observedtermix_audit_list_distinct_audit_log_action_types
    • First observedtermix_automations_create_automation
    • First observedtermix_automations_fetch_single_automation
    • First observedtermix_automations_list_automation_runs
    • First observedtermix_automations_list_current_users_automations
    • First observedtermix_automations_run_automation_now
    • First observedtermix_automations_step_step_results_run
    • First observedtermix_automations_trigger_automation_external_system
    • First observedtermix_automations_update_automation
    • First observedtermix_credentials_apply_credential_host
    • First observedtermix_credentials_create_new_credential
    • First observedtermix_credentials_deploy_ssh_key_host
    • First observedtermix_credentials_detect_ssh_key_type
    • First observedtermix_credentials_detect_ssh_public_key_type
    • First observedtermix_credentials_duplicate_credential
    • First observedtermix_credentials_generate_public_key_private_key
    • First observedtermix_credentials_get_all_credentials
    • First observedtermix_credentials_get_credential_folders
    • First observedtermix_credentials_get_hosts_using_credential
    • First observedtermix_credentials_get_specific_credential
    • First observedtermix_credentials_rename_credential_folder
    • First observedtermix_credentials_reorder_credentials
    • First observedtermix_credentials_update_credential
    • First observedtermix_credentials_validate_ssh_key_pair
    • First observedtermix_docker_check_ssh_session_status
    • First observedtermix_docker_complete_warpgate_authentication
    • First observedtermix_docker_disconnect_ssh_session
    • First observedtermix_docker_establish_ssh_session_docker
    • First observedtermix_docker_get_container_details
    • First observedtermix_docker_get_container_logs
    • First observedtermix_docker_get_container_stats
    • First observedtermix_docker_keep_ssh_session_alive
    • First observedtermix_docker_list_all_containers
    • First observedtermix_docker_pause_container
    • First observedtermix_docker_restart_container
    • First observedtermix_docker_start_container
    • First observedtermix_docker_stop_container
    • First observedtermix_docker_unpause_container
    • First observedtermix_docker_validate_docker_availability
    • First observedtermix_docker_verify_totp_complete_connection
    • First observedtermix_files_change_file_permissions
    • First observedtermix_files_complete_warpgate_authentication
    • First observedtermix_files_compress_files
    • First observedtermix_files_connect_ssh_file_management
    • First observedtermix_files_copy_file_directory
    • First observedtermix_files_create_file
    • First observedtermix_files_create_folder
    • First observedtermix_files_disconnect_ssh
    • First observedtermix_files_download_file
    • First observedtermix_files_execute_file
    • First observedtermix_files_extract_archive_file
    • First observedtermix_files_get_ssh_connection_status
    • First observedtermix_files_identify_symbolic_link
    • First observedtermix_files_keep_ssh_session_alive
    • First observedtermix_files_list_files_directory
    • First observedtermix_files_move_file_directory
    • First observedtermix_files_read_file
    • First observedtermix_files_rename_file_directory
    • First observedtermix_files_resolve_path_environment_variables
    • First observedtermix_files_set_sudo_password_session
    • First observedtermix_files_stream_download_file
    • First observedtermix_files_stream_upload_file_via_multipart_form
    • First observedtermix_files_upload_file
    • First observedtermix_files_upload_one_raw_file_chunk
    • First observedtermix_files_verify_totp_complete_connection
    • First observedtermix_files_write_file
    • First observedtermix_fleets_add_host_fleets_static_membership
    • First observedtermix_fleets_create_fleet
    • First observedtermix_fleets_list_current_users_fleets
    • First observedtermix_fleets_list_resolved_effective_members_fleet
    • First observedtermix_fleets_pull_same_remote_path_every_host
    • First observedtermix_fleets_push_uploaded_file_same_remote_path
    • First observedtermix_fleets_read_last_known_inventory_snapshot_fleets
    • First observedtermix_fleets_refresh_inventory_snapshot_every_host_fleet
    • First observedtermix_fleets_run_command_across_every_host_fleet
    • First observedtermix_fleets_run_package_action_across_every_host
    • First observedtermix_fleets_share_fleets_current_member_hosts_users
    • First observedtermix_fleets_update_fleet
    • First observedtermix_hosts_add_pinned_file
    • First observedtermix_hosts_add_recent_file
    • First observedtermix_hosts_add_shortcut
    • First observedtermix_hosts_bulk_import_ssh_hosts
    • First observedtermix_hosts_bulk_update_partial_fields_multiple_ssh
    • First observedtermix_hosts_create_ssh_host
    • First observedtermix_hosts_create_temporary_ssh_connection_without_saving
    • First observedtermix_hosts_enable_autostart_ssh_configuration
    • First observedtermix_hosts_enroll_host_api_key
    • First observedtermix_hosts_get_all_folders
    • First observedtermix_hosts_get_all_ssh_hosts
    • First observedtermix_hosts_get_autostart_status
    • First observedtermix_hosts_get_command_history
    • First observedtermix_hosts_get_opkssh_token_status_host
    • First observedtermix_hosts_get_pinned_files
    • First observedtermix_hosts_get_recent_files
    • First observedtermix_hosts_get_shortcuts
    • First observedtermix_hosts_get_ssh_host_id
    • First observedtermix_hosts_import_hosts_openssh_config_file
    • First observedtermix_hosts_rename_folder
    • First observedtermix_hosts_reorder_folders
    • First observedtermix_hosts_reorder_hosts
    • First observedtermix_hosts_test_proxy_connectivity
    • First observedtermix_hosts_update_folder_metadata
    • First observedtermix_hosts_update_ssh_host
    • First observedtermix_metrics_bring_wireguard_interface_up_down
    • First observedtermix_metrics_complete_totp_verification_metrics
    • First observedtermix_metrics_connect_disconnect_tailscale
    • First observedtermix_metrics_detect_available_management_tooling_host
    • First observedtermix_metrics_get_all_host_statuses
    • First observedtermix_metrics_get_global_monitoring_defaults
    • First observedtermix_metrics_get_historical_metrics_host
    • First observedtermix_metrics_get_host_metrics
    • First observedtermix_metrics_get_host_metrics_layout_host
    • First observedtermix_metrics_get_host_status_id
    • First observedtermix_metrics_get_metrics_history_retention_setting
    • First observedtermix_metrics_get_tailscale_status_ips
    • First observedtermix_metrics_get_wireguard_interfaces_peers
    • First observedtermix_metrics_list_processes_rich_sortable_filterable_client
    • First observedtermix_metrics_list_systemd_services
    • First observedtermix_metrics_refresh_polling
    • First observedtermix_metrics_register_metrics_viewer
    • First observedtermix_metrics_save_host_metrics_layout_host
    • First observedtermix_metrics_send_signal_process_term_kill_hup
    • First observedtermix_metrics_start_metrics_collection
    • First observedtermix_metrics_start_polling_updated_host
    • First observedtermix_metrics_start_stop_restart_enable_disable_systemd
    • First observedtermix_metrics_stop_metrics_collection
    • First observedtermix_metrics_stop_polling_deleted_host
    • First observedtermix_metrics_unregister_metrics_viewer
    • First observedtermix_metrics_update_global_monitoring_defaults
    • First observedtermix_metrics_update_metrics_history_retention_setting
    • First observedtermix_metrics_update_viewer_heartbeat
    • First observedtermix_proxmox_discover_proxmox_guests_node
    • First observedtermix_proxmox_get_cached_proxmox_node_stats_host
    • First observedtermix_proxmox_get_historical_proxmox_node_stats_host
    • First observedtermix_proxmox_start_proxmox_stats_collection
    • First observedtermix_proxmox_stop_proxmox_stats_collection
    • First observedtermix_session_logs_get_session_log_content
    • First observedtermix_session_logs_get_session_log_metadata
    • First observedtermix_session_logs_list_session_logs
    • First observedtermix_snippets_bulk_import_snippets_folders_json
    • First observedtermix_snippets_create_new_snippet
    • First observedtermix_snippets_create_new_snippet_folder
    • First observedtermix_snippets_execute_snippet_host
    • First observedtermix_snippets_export_all_snippets_folders_as_json
    • First observedtermix_snippets_get_all_snippet_folders
    • First observedtermix_snippets_get_all_snippets
    • First observedtermix_snippets_get_specific_snippet
    • First observedtermix_snippets_rename_snippet_folder
    • First observedtermix_snippets_reorder_snippets
    • First observedtermix_snippets_update_snippet
    • First observedtermix_snippets_update_snippet_folder_metadata
    • First observedtermix_system_check_if_setup_is_required
    • First observedtermix_system_health
    • First observedtermix_system_releases
    • First observedtermix_system_version
    • First observedtermix_tailscale_list_tailscale_devices
    • First observedtermix_terminal_history_delete_specific_command_history
    • First observedtermix_terminal_history_get_command_history
    • First observedtermix_terminal_history_get_session_persistence_settings
    • First observedtermix_terminal_history_save_command_history
    • First observedtermix_terminal_history_update_session_persistence_settings
    • First observedtermix_tunnels_cancel_tunnel_retry
    • First observedtermix_tunnels_connect_ssh_tunnel
    • First observedtermix_tunnels_create_client_tunnel_preset
    • First observedtermix_tunnels_disconnect_ssh_tunnel
    • First observedtermix_tunnels_get_all_tunnel_statuses
    • First observedtermix_tunnels_get_tunnel_status_name
    • First observedtermix_tunnels_list_client_tunnel_presets
    • First observedtermix_tunnels_update_client_tunnel_preset

TDQS

C2.1/5.0

Scored across 184 tools

Disambiguation2/5

Many tools have overlapping or duplicate responsibilities, such as termix_hosts_get_command_history vs termix_terminal_history_get_command_history, and multiple SSH session establishment/authentication flows across docker, files, and metrics. The repeated TOTP/Warpgate completion tools and similar 'get stats' tools across Proxmox and metrics further blur boundaries, making it easy for an agent to select the wrong tool.

Naming Consistency2/5

The general termix_<domain>_<action>_<object> pattern is present but inconsistently applied: actions mix get/list/read/fetch/check, some names repeat the domain twice like termix_proxmox_get_cached_proxmox_node_stats_host and termix_fleets_add_host_fleets_static_membership, and phrasing varies widely from 'get_all_ssh_hosts' to 'create_temporary_ssh_connection_without_saving'. The naming is readable in isolation but does not form a predictable, uniform convention.

Tool Count1/5

184 tools is an extreme count for an MCP server, far beyond the 3-15 well-scoped range and even beyond the 16-25 'heavy' range. While Termix is a broad platform covering many domains, exposing this many tools as one flat MCP surface creates severe selection overhead and coherence problems.

Completeness2/5

The server covers many feature areas—hosts, credentials, snippets, fleets, metrics, docker, files, tunnels, automations, alerts, audit logs, and more—but there are notable CRUD gaps: no delete operations for hosts, credentials, snippets, fleets, or automations are present. The surface is broad but incomplete for standard lifecycle management, which will force agents into dead ends.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers