Skip to main content
Glama
jaseonline

unifi-console-mcp

by jaseonline

unifi_console_call_operation

Call one UniFi console API operation by ID to run reads, log or traffic queries, and file downloads. Configuration writes are refused; backups and support files need confirm=true.

Instructions

Call one spec operation on the console. Reads run immediately; configuration writes are refused.

Read-only POST queries (system log, traffic flows) are treated as reads. File downloads (backups, support files) are saved to disk, never returned, and need confirm=true. Safe writes (generate a support file or backup) also need UNIFI_CONSOLE_ENABLE_WRITES=true on the server. Secrets (x_* fields, passwords, keys) are always redacted. Large results are cut to fit; use fields/search/limit/offset to narrow them.

Returns JSON: {"ok": true, "operation", "http_status", "meta"?, "data"} or {"ok": false, "error"}.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
paramsYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.3/5.0
Behavior5/5

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

Adds substantial behavior beyond the annotations: secret redaction of x_* fields/passwords/keys, silent truncation of large results with guidance to narrow via fields/search/limit/offset, file downloads written to disk rather than returned, and the server-side write gate. This is consistent with readOnlyHint=false/destructiveHint=false and clarifies the actual safety envelope.

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?

Four short, front-loaded paragraphs ordered by importance: read/write policy, special cases, redaction/truncation, return shape. Every sentence carries operational information; no filler.

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 high-complexity generic dispatcher this is nearly complete: policy, gating flags, redaction, truncation, and response shape are all covered, and an output schema exists so return values need no further expansion. The missing piece is routing guidance against the overlapping specialized siblings.

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 reported schema coverage at 0% for the wrapper param, the description carries real weight: it explains confirm's exact trigger conditions, why fields/search/limit/offset exist (truncation mitigation), and that POST bodies only apply to query-style operations. It does not clarify path_params or query semantics beyond what the nested schema already states.

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: 'Call one spec operation on the console', and the description makes the generic-dispatch role explicit by tying behavior to read vs write classes. It does not name the sibling workflow tools (unifi_console_list_operations / unifi_console_describe_operation) in the description itself, so differentiation is only partial.

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?

Strong when/when-not content: reads run immediately, configuration writes are refused, downloads and safe writes need confirm=true and sometimes UNIFI_CONSOLE_ENABLE_WRITES. However it never says when to prefer this generic call over the many specialized siblings (unifi_console_system_log, unifi_console_backup, unifi_console_support_file), which is a real decision the agent must make.

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