Skip to main content
Glama
cygnussystems

cygnus-ssh-mcp

Official

ssh_host_use_config

Switch the active host configuration file for the session, changing which hosts are used by SSH connection and host management tools. Omit path to revert to default.

Instructions

Switch which host configuration file ssh_host_list, ssh_conn_connect, ssh_conn_add_host, ssh_host_update, and ssh_host_remove all operate against, for the rest of this session (or until you call this again) - not just for one call. This is the same "one active thing at a time" model ssh_conn_connect uses for SSH connections, applied to host configuration files instead; the two are completely independent (switching config files doesn't affect any current SSH connection, and vice versa).

Use this when you want to browse or use hosts from a different TOML file than the server's default - e.g. a separate list of hosts for a different environment/project. The alternate file must already exist and be a valid host configuration TOML file (see ssh_conn_add_host's docstring for the format) - this deliberately does NOT auto-create a missing file the way the server's own default config file is created on first run, since an LLM-supplied path with a typo should fail loudly rather than silently create a stray file somewhere.

Omit config_path (or pass "") to switch back to the server's original default configuration file.

ssh_host_list's response always includes config_path showing whichever file is currently active, so you can check before mutating anything with ssh_conn_add_host/ssh_host_update/ssh_host_remove.

Returns: On success: {'status': 'success', 'message', 'config_path', 'is_default' (bool), 'host_count'}. On failure (path doesn't exist, path is a directory, or the file fails to parse as valid host config TOML): {'status': 'error', 'error': <message>} - not a raised exception.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
config_pathNoPath to an alternate host configuration TOML file to switch to. Omit or pass an empty string to revert to the server's default configuration file

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv1.6.1

TDQS

A4.8/5.0
Behavior5/5

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

No annotations are provided, so the description carries the full behavioral burden and does so: session-persistent scope, independence from SSH connections, no auto-creation with rationale, boolean is_default and host_count on success, and error responses returned as dicts rather than raised exceptions. Nothing material for correct invocation is left 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?

Front-loaded with purpose and scope, then organized into usage guidance and return shape. A few sentences could be tightened, such as the typo rationale, but there is no significant repetition or filler for a session-state tool with no annotations.

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 one-parameter session-state tool with no annotations and an output schema, the definition covers session persistence, revert behavior, prerequisites, failure modes, sibling interactions, and return format. An agent has everything needed to call it correctly and to check active state via ssh_host_list.

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 coverage is 100% and the schema already documents omit/empty string to revert. The description adds beyond schema by stating the alternate file must exist and be valid TOML, and that a missing file is deliberately not auto-created, which directly constrains how config_path may be used.

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 precise verb and resource: switching which host configuration file a named set of host tools operate against, plus session scope. The sibling tools affected are named directly, so an agent can distinguish this from connection-level siblings like ssh_conn_connect without opening a schema.

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

Usage Guidelines5/5

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

Explicitly says when to use it ('browse or use hosts from a different TOML file ... separate environment/project') and how to revert (omit or pass empty config_path). It also states prerequisites: the alternate file must already exist and be valid host config TOML, and the tool deliberately does not auto-create a missing file.

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