Skip to main content
Glama
UniFi MCP Server

UniFi MCP Server

update_carrier_subscriber

Updates a UniFi Carrier Fabric subscriber's name, email, plan, host, notes, or service address. Send only the fields to change; omitted fields remain unchanged.

Instructions

Update a UniFi Carrier Fabric subscriber.

Only provided fields are sent to the API. Spec semantics: an absent field leaves it unchanged, while an explicit null clears the field. This tool only sends provided fields, so use plan_id="" style clearing via direct API if ever needed.

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": {
      "subscriber_id": "<subscriber_id>"
    },
    "name": "update_carrier_subscriber"
  }
}

Input Schema

NameRequiredDescriptionDefault
nameNoDisplay name
emailNoContact email
notesNoOperator notes
confirmNoMust be true to apply the change (required unless dry_run)
dry_runNoPreview the change without applying it
host_idNoGateway host to attach
plan_idNoService plan to assign
metadataNoFree-form metadata dictionary
controllerNoController to run against (see list_controllers). Defaults to the controller chosen with select_controller, then the server default.
subscriber_idYesSubscriber identifier
service_addressNoFree-text service address

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed10 schema fields changedv0.6.4
    • addedInput schema / properties / confirm / description
      Added value: +"Must be true to apply the change (required unless dry_run)"
    • addedInput schema / properties / dry_run / description
      Added value: +"Preview the change without applying it"
    • addedInput schema / properties / email / description
      Added value: +"Contact email"
    • addedInput schema / properties / host_id / description
      Added value: +"Gateway host to attach"
    • addedInput schema / properties / metadata / description
      Added value: +"Free-form metadata dictionary"
    • addedInput schema / properties / name / description
      Added value: +"Display name"
    • addedInput schema / properties / notes / description
      Added value: +"Operator notes"
    • addedInput schema / properties / plan_id / description
      Added value: +"Service plan to assign"
    • addedInput schema / properties / service_address / description
      Added value: +"Free-text service address"
    • addedInput schema / properties / subscriber_id / description
      Added value: +"Subscriber identifier"
  2. Addedv0.6.1

TDQS

A3.8/5.0
Behavior4/5

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

With no annotations, the description carries the burden and does real work: it states the write-scope rule (only supplied fields are sent), the spec semantics for absent vs. explicit null, and an explicit limitation that this tool cannot clear fields. It omits permissions/error behavior and the fact that confirm=true is required to apply (only the schema says that).

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 action, then the key patch-semantics rule, then the caveat. Slightly redundant – "Only provided fields are sent to the API" is restated in the third sentence – but nothing is padded.

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 an 11-parameter mutation with a rich schema and an output schema, the description supplies the one thing structured fields can't: the partial-update contract and its clearing limitation. The confirm/dry_run gating and controller resolution are adequately covered by the schema descriptions, so no critical gap remains.

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%, so baseline is 3, but the description adds value beyond the schema by resolving a real ambiguity: every optional property declares default null, and the description explains that unset fields aren't transmitted while explicit null clears. It doesn't map the semantics onto specific parameters like plan_id or host_id, which keeps it short of a 5.

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?

Clear verb+resource ("Update a UniFi Carrier Fabric subscriber") that an agent can distinguish from create_carrier_subscriber and get_carrier_subscriber by name. However it never addresses its overlap with assign_carrier_subscriber_plan and attach_carrier_subscriber_host, which also appear as plan_id/host_id parameters here, so sibling differentiation is incomplete.

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

Usage Guidelines3/5

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

Implied usage as a partial/patch update, plus one genuine exclusion (field clearing must go through the direct API). It offers no guidance on when to prefer this tool over assign_carrier_subscriber_plan or attach_carrier_subscriber_host, and no mention of the confirm/dry_run workflow an agent must follow before mutating.

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

Deploy Server

Other Tools