Skip to main content
Glama
UniFi MCP Server

UniFi MCP Server

create_carrier_subscriber

Creates a UniFi Carrier Fabric subscriber from a required subscriber number, supporting optional contact, plan, host, address, metadata, and dry-run preview before applying changes.

Instructions

Create a UniFi Carrier Fabric subscriber.

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_number": "<subscriber_number>"
    },
    "name": "create_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.
service_addressNoFree-text service address
subscriber_numberYesOperator-supplied external reference (1-32 characters, required)

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_number / description
      Added value: +"Operator-supplied external reference (1-32 characters, required)"
  2. Addedv0.6.1

TDQS

C2.8/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. 'Create' implies a mutation, but it never mentions that confirm must be true (or dry_run used), that the operation requires a selected controller, whether it is idempotent, or what happens on duplicate subscriber numbers.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The single sentence is front-loaded and free of waste, but its brevity comes at the cost of under-specification rather than economy. It earns its place only as a minimal identifier of the operation.

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?

For an 11-parameter mutation tool with no annotations, the one-line description is insufficient. An output schema exists so return values need not be explained, but the confirm/dry-run safety workflow and controller targeting context should have been surfaced.

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?

Schema description coverage is 100% and every parameter, including confirm/dry_run semantics and controller resolution, is documented in the schema. The description adds nothing beyond it, so the baseline of 3 applies.

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 and resource ('Create a ... subscriber'), so the agent knows exactly what operation is performed. However, it does nothing to distinguish the tool from nearby siblings such as update_carrier_subscriber, get_carrier_subscriber, list_carrier_subscribers, or assign_carrier_subscriber_plan.

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 guidance on when to create versus update, or that plan assignment and host attachment are handled by separate tools (assign_carrier_subscriber_plan, attach_carrier_subscriber_host). No prerequisites or exclusions are mentioned.

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