Skip to main content
Glama
jaseonline

unifi-console-mcp

by jaseonline

unifi_console_list_operations

Read-onlyIdempotent

Search the UniFi OpenAPI spec to find operation IDs by tag, access level, or keyword, with paging, so you can describe or call the right API. Does not call the console.

Instructions

Search the UniFi OpenAPI spec for operations (undocumented controller / UniFi OS APIs plus the Integration API).

Use this first to find an operationId, then unifi_console_describe_operation, then unifi_console_call_operation. Does not call the console.

Returns JSON: {"ok": true, "total": int, "operations": [{"operation_id", "method", "path", "tag", "summary", "access"}], "next_offset": int|null}. By default only operations callable right now are shown.

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.4/5.0
Behavior4/5

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

Annotations already cover readOnlyHint/idempotentHint/destructiveHint, so the safety profile is known. The description adds meaningful non-obvious behavior: it searches a static spec rather than the live console, and it filters to currently-callable operations by default. It does not describe rate limits or how the corpus is refreshed, so not a full 5.

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, then workflow, then the negative constraint — efficient and well ordered. The inline JSON return block is somewhat redundant given an output schema exists, which is the only minor waste.

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 spec-search tool with rich annotations and an output schema, the description supplies everything an agent needs: what it searches, the workflow position, the fact it doesn't hit the live console, and default filtering. Nothing material is missing.

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?

Top-level coverage is only the single 'params' wrapper, but the nested ListOperationsInput schema fully documents tag, limit, access, offset and search. The description adds no param-level syntax beyond the statement that only callable operations are shown by default (aligning with access='read'), so it does not compensate for the reported coverage gap. Baseline 3.

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 specific verb+resource (search the UniFi OpenAPI spec for operations) and scopes it precisely to undocumented controller/UniFi OS APIs plus the Integration API. It is clearly distinguishable from siblings like unifi_console_describe_operation and unifi_console_call_operation, which it names.

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?

Gives an explicit three-step workflow ('Use this first to find an operationId, then unifi_console_describe_operation, then unifi_console_call_operation') and an explicit exclusion ('Does not call the console'). An agent knows exactly when to reach for this tool versus the other two.

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