Skip to main content
Glama
safe-ssh-mcp

safe-ssh-mcp

by Areso

get_ip_addr

Collect network interface details—state, MAC, IPv4, and IPv6 addresses—from a remote Linux host over SSH by running ip addr show for diagnostics.

Instructions

Collects ip addr show output (network interfaces, their state, MAC, IPv4 and IPv6 addresses) from a remote Linux host via SSH

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "host": "<host>",
      "user": "<user>"
    },
    "name": "get_ip_addr"
  }
}

Input Schema

NameRequiredDescriptionDefault
hostYes
portNo
userYes
timeoutNo
key_pathNo
passwordNo
accept_new_hostkeyNo

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.2.0

TDQS

C2.7/5.0
Behavior2/5

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

With no annotations supplied, the description carries the full behavioral burden, and it only discloses the SSH transport and read-only nature implied by 'collects'. It says nothing about credential requirements (key_path vs password), host-key acceptance behavior, timeout/failure modes, or what happens on an unreachable 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?

A single sentence with the action and payload front-loaded and a useful parenthetical enumerating returned fields; there is no wasted wording. It is slightly packed but serves the reader.

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?

An output schema exists so return values needn't be explained, but for a seven-parameter remote-execution tool with zero annotation coverage the definition omits authentication behavior, connection failure handling, and per-parameter meaning. It is not adequate for the tool's operational complexity.

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?

All seven parameters have 0% schema description coverage, and the description does not explain any of them beyond implying a host and SSH access. Critical semantics such as accept_new_hostkey, key_path versus password precedence, port, and timeout are left entirely undocumented.

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 and resource ('Collects ip addr show output') and enumerates the returned content (interfaces, state, MAC, IPv4/IPv6), so the agent knows exactly what this tool produces. It does not explicitly distinguish itself from the sibling get_ip_route, which is the only thing keeping 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 statement of when to use this tool versus alternatives such as get_ip_route, nor any prerequisites or exclusions. The only implied usage is that it targets a remote Linux host over SSH, leaving routing between siblings to inference.

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