Skip to main content
Glama
UniFi Network MCP Server

UniFi Network MCP Server

by owine

Get device SSH settings

unifi_get_device_ssh_settings
Read-only

Read a site's device SSH authentication settings to check SSH status, password acceptance, wildcard binding, and installed key count without returning credentials or keys.

Instructions

Read the site's device SSH settings (Device SSH Authentication for adopted UniFi devices) from the classic controller API (get/setting) mgmt section: whether SSH is on, whether it accepts passwords, whether it listens on every interface (x_ssh_bind_wildcard), and how many SSH keys are installed. Credentials and keys are never returned. Console (UniFi OS) SSH is a separate UniFi OS setting this API does not expose. Which networks reach the console's web UI and SSH is set by firewall rules and policies, and from the internet by Remote Access and port forwards (unifi_list_port_forwards). status: unavailable means the controller's settings had no such fields.

Input Schema

NameRequiredDescriptionDefault
siteReferenceYesSite internalReference from unifi_list_sites (often default), not the Integration API UUID

Output Schema

NameRequiredDescriptionDefault
detailYes
statusYes
sshKeyCountYes
siteReferenceYes
x_ssh_enabledYes
x_ssh_bind_wildcardYes
x_ssh_auth_password_enabledYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv3.1.0

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare readOnly/non-destructive/closed-world, and the description still adds real behavioral context: credentials and keys are never returned, and status 'unavailable' means the controller's settings had no such fields. That edge-case semantics is exactly the kind of thing annotations cannot convey; only the return shape detail is left to the output 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?

Front-loaded with the core action and the returned fields, then layered with disambiguation and edge-case notes. The closing sentence on firewall rules, Remote Access, and port forwards is somewhat tangential to a read tool, but it does prevent false inferences about SSH reachability.

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?

With an output schema present, the description needn't enumerate return values, and it correctly focuses on scope boundaries and failure semantics for a single-parameter read. The only minor gap is no mention of what happens when the site reference is invalid, which is presumably handled elsewhere.

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 a single parameter with 100% schema description coverage, including the warning that siteReference is the internalReference from unifi_list_sites rather than an Integration API UUID. The description adds nothing beyond that, so the schema does all the lifting and the baseline 3 applies.

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

Purpose5/5

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

Names a specific verb and resource ('Read the site's device SSH settings'), enumerates the exact fields returned (SSH on/off, password auth, x_ssh_bind_wildcard, key count), and explicitly scopes itself to adopted-device SSH as opposed to console/UniFi OS SSH, so an agent can distinguish it from other device 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?

Clearly scopes the read to the classic controller 'get/setting' mgmt section and warns that console SSH, firewall-rule reachability, and internet exposure are NOT covered by this API, pointing at unifi_list_port_forwards for the port-forward piece. It lacks an explicit 'use this when you need X' statement, but the exclusions do most of the routing work.

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