Skip to main content
Glama

terminal_open

Open or reuse a secure terminal session for a network device in the active topology, automatically handling login and host-key prompts while keeping credentials hidden.

Instructions

Open (or reuse) a terminal session for a device in the active topology, launching ssh or telnet inside a dedicated tmux environment. The active topology is reloaded from disk before opening the session. An interactive login prompt from the device itself is answered automatically using the active access-info definition's own private credentials, once it can be safely confirmed to belong to the target device (never a jump host) -- credentials are never returned by this tool or any other. This works for SSH (the client's own password prompt) and for Telnet (a classic-IOS-style Username:/Password: sequence); which one applies depends on the device's own configured transport. A host-key confirmation prompt, or any other situation this cannot safely resolve on its own, is still left for terminal_read()/terminal_send() to handle interactively.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
deviceYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.1/5.0
Behavior5/5

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

With no annotations, the description carries the full burden of disclosing behavior. It reveals that credentials are never returned, that topology is reloaded, that login prompts are auto-answered with private credentials, that it avoids jump hosts, and that it handles both SSH and Telnet. This is exceptionally transparent, leaving no critical ambiguity about what the tool 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 lengthy but each sentence adds essential detail about security, transport handling, and fallback behavior. The core purpose is front-loaded, and the complexity justifies the length. It avoids redundancy, though it could be slightly tightened without losing substance.

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 covers the opening behavior, authentication, and fallback handling, but does not mention what the tool returns (e.g., a session identifier or status) and does not explain error conditions or what happens if the device is not found. With no output schema, this information is missing, leaving the agent uncertain about the tool's 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 single parameter 'device' has no schema description (0% coverage), and the description only says 'for a device in the active topology' without specifying how the device is identified (e.g., by name, ID, or IP). It does not add format or value guidance beyond what the schema already provides. Given the low schema coverage, the description should compensate but does not sufficiently clarify the parameter's semantics.

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: open or reuse a terminal session for a device in the active topology, launching ssh or telnet in tmux. It distinguishes itself from sibling tools like terminal_send and terminal_read by focusing on session opening rather than interactive I/O. 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 Guidelines4/5

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

The description gives clear context on when to use this tool (to establish a session) and explicitly routes interactive prompts that the tool cannot safely resolve (host-key confirmations) to terminal_read()/terminal_send(). However, it does not explicitly state when not to use this tool, such as for simply sending a command without opening a session, though this is implied by sibling tool names.

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