# Carrier CLI

Every fleet command in `carrier`. 137 commands.
Generated from the CLI command registry. Do not edit this file by hand.

Install: `npm i -g @carrierllc/mcp` or `brew install carrier`.
Write commands preview first. Add `--commit` to apply a change.
Add `--json` for a raw response on stdout.

# subscribers

Look up, inspect and change subscribers.

## carrier subscribers list --account-id <id> --iccid <iccid> --msisdn <msisdn> --imsi <imsi> --activation-code <code> --status <status> --limit <n> --offset <n>

List subscribers. With no filter, uses your default account (lowest-id account under your reseller).

Calls MCP tool `list_subscribers`.

- `--account-id <id>` (optional): Filter by account ID
- `--iccid <iccid>` (optional): Filter by ICCID
- `--msisdn <msisdn>` (optional): Filter by MSISDN
- `--imsi <imsi>` (optional): Filter by IMSI
- `--activation-code <code>` (optional): Filter by eSIM activation code
- `--status <status>` (optional): Filter by status, e.g. ACTIVE
- `--limit <n>` (optional): Max rows to return
- `--offset <n>` (optional): Pagination offset

## carrier subscribers get --iccid <iccid> --msisdn <msisdn> --gz-counter

Full record for one subscriber by ICCID or MSISDN.

Calls MCP tool `get_subscriber`.

- `--iccid <iccid>` (optional): Subscriber ICCID
- `--msisdn <msisdn>` (optional): Subscriber MSISDN
- `--gz-counter` (optional): Include the green-zone byte counter

## carrier subscribers location --iccid <iccid>

Last-known location from the most recent cell tower usage.

Calls MCP tool `get_subscriber_location`.

- `--iccid <iccid>` (required): Subscriber ICCID

## carrier subscribers usage --iccid <iccid> --start <date> --end <date>

Daily data, voice and SMS usage over a window of up to 7 days.

Calls MCP tool `subscriber_usage`.

- `--iccid <iccid>` (required): Subscriber ICCID
- `--start <date>` (optional): Start date YYYY-MM-DD (default: 7 days ago)
- `--end <date>` (optional): End date YYYY-MM-DD, max 7 days from start (default: today)

## carrier subscribers events --iccid <iccid> --start <date> --end <date>

Network attach/detach events over a window of up to 7 days.

Calls MCP tool `subscriber_network_events`.

- `--iccid <iccid>` (required): Subscriber ICCID
- `--start <date>` (optional): Start date YYYY-MM-DD (default: 7 days ago)
- `--end <date>` (optional): End date YYYY-MM-DD, max 7 days from start (default: today)

## carrier subscribers active-period --iccid <iccid>

First and last usage dates for one subscriber.

Calls MCP tool `subscriber_active_period`.

- `--iccid <iccid>` (required): Subscriber ICCID

## carrier subscribers esim-status --account-id <id> --reseller-id <id>

eSIM state counts per account: active, suspended, inventory.

Calls MCP tool `esim_status_per_account`.

- `--account-id <id>` (optional): Report on a single account
- `--reseller-id <id>` (optional): Reseller ID (omit for the token owner's reseller)

## carrier subscribers set-status --iccid <iccid> --status <status>

Change a subscriber's status.

Calls MCP tool `modify_subscriber_status`.

Write. Dry-run unless you pass `--commit`.

- `--iccid <iccid>` (required): Subscriber ICCID
- `--status <status>` (required): New status, e.g. ACTIVE or SUSPENDED

## carrier subscribers set-balance --iccid <iccid> --amount <amount> --mode <mode>

Add to or replace a subscriber's balance.

Calls MCP tool `modify_subscriber_balance`.

Write. Dry-run unless you pass `--commit`.

- `--iccid <iccid>` (required): Subscriber ICCID
- `--amount <amount>` (required): Amount to add (adapt) or set to (set)
- `--mode <mode>` (required): 'adapt' adds or subtracts, 'set' replaces

## carrier subscribers sim-status show --iccid <iccid>

SIM/eSIM status at the SIM provider level, distinct from OCS status.

Calls MCP tool `get_sim_provider_status`.

- `--iccid <iccid>` (required): Subscriber ICCID

## carrier subscribers sim-status set --iccid <iccid> --status <status>

Change the SIM/eSIM status at the SIM provider level. ENABLED and DISABLED map to OCS Affected and Free.

Calls MCP tool `change_sim_status`.

Write. Dry-run unless you pass `--commit`.

- `--iccid <iccid>` (required): Subscriber ICCID
- `--status <status>` (required): New SIM status: ENABLED or DISABLED

## carrier subscribers phone-number set --iccid <iccid> --phone-number <e164> --phone-type <type>

Assign a phone number (MSISDN) to a subscriber.

Calls MCP tool `affect_subscriber_phone_number`.

Write. Dry-run unless you pass `--commit`.

- `--iccid <iccid>` (required): Subscriber ICCID
- `--phone-number <e164>` (required): E.164 phone number to assign, e.g. +31612345678
- `--phone-type <type>` (required): 'fake' for test/dev MSISDNs, 'real' for production

## carrier subscribers contact set --iccid <iccid> --first-name <name> --last-name <name> --company <name> --email <email> --phone-number <number>

Update contact details on a subscriber. Omitted fields stay unchanged.

Calls MCP tool `modify_subscriber_contact_info`.

Write. Dry-run unless you pass `--commit`.

- `--iccid <iccid>` (required): Subscriber ICCID
- `--first-name <name>` (optional): First name
- `--last-name <name>` (optional): Last name
- `--company <name>` (optional): Company name
- `--email <email>` (optional): Email address
- `--phone-number <number>` (optional): Phone number

## carrier subscribers mobile-plan set --iccid <iccid> --plan-id <id>

Change the mobile pricing plan a subscriber is billed under.

Calls MCP tool `modify_subscriber_mobile_plan`.

Write. Dry-run unless you pass `--commit`.

- `--iccid <iccid>` (required): Subscriber ICCID
- `--plan-id <id>` (required): Mobile pricing plan ID

## carrier subscribers voip-plan set --iccid <iccid> --plan-id <id>

Change the VoIP pricing plan assigned to a subscriber.

Calls MCP tool `modify_subscriber_voip_plan`.

Write. Dry-run unless you pass `--commit`.

- `--iccid <iccid>` (required): Subscriber ICCID
- `--plan-id <id>` (required): VoIP pricing plan ID

## carrier subscribers traffic set --iccid <iccid> --data <bool> --moc <bool> --mtc <bool> --sms <bool>

Enable or disable data, calls and SMS per traffic type. Omit a flag to leave it unchanged.

Calls MCP tool `set_subscriber_traffic_restrictions`.

Write. Dry-run unless you pass `--commit`.

- `--iccid <iccid>` (required): Subscriber ICCID
- `--data <bool>` (optional): Allow data traffic (true or false)
- `--moc <bool>` (optional): Allow outbound calls (true or false)
- `--mtc <bool>` (optional): Allow inbound calls (true or false)
- `--sms <bool>` (optional): Allow outbound SMS (true or false)

## carrier subscribers bitrate show --iccid <iccid>

Current HLR-level bandwidth cap for a subscriber.

Calls MCP tool `hlr_get_bitrate`.

- `--iccid <iccid>` (required): Subscriber ICCID

## carrier subscribers bitrate set --iccid <iccid> --bitrate <bps> --bitrate-string <level>

Set an HLR-level bandwidth cap. Bits per second are mapped onto the OCS KB_ enum.

Calls MCP tool `hlr_set_bitrate`.

Write. Dry-run unless you pass `--commit`.

- `--iccid <iccid>` (required): Subscriber ICCID
- `--bitrate <bps>` (optional): Max bitrate in bits per second. 256000 is KB_256. 0 is UNLIMITED.
- `--bitrate-string <level>` (optional): OCS bitrate level, e.g. KB_256, KB_1024, UNLIMITED (instead of --bitrate)

## carrier subscribers greenzone reset --iccid <iccid>

Reset the Green Zone byte counter to zero. Irreversible.

Calls MCP tool `reset_subscriber_gz_counter`.

Write. Dry-run unless you pass `--commit`.

- `--iccid <iccid>` (required): Subscriber ICCID

## carrier subscribers cell-location --radio-type <type> --mcc <mcc> --mnc <mnc> --lac <lac> --cell-id <id> --signal-strength <dbm>

Resolve a raw cell tower tuple to coordinates (Bridge4IP GeoSense).

Calls MCP tool `get_subscriber_location_by_cell_id`.

- `--radio-type <type>` (required): Radio type: 2G, 3G, 4G, 5G or NB-IoT
- `--mcc <mcc>` (required): Mobile Country Code
- `--mnc <mnc>` (required): Mobile Network Code
- `--lac <lac>` (required): Location Area Code
- `--cell-id <id>` (optional): Cell tower ID (strongly recommended)
- `--signal-strength <dbm>` (optional): Signal strength in dBm, e.g. -89 (improves accuracy)

# packages

Packages assigned to a subscriber.

## carrier packages list --iccid <iccid>

Packages on one subscriber, with allowance and expiry.

Calls MCP tool `list_subscriber_packages`.

- `--iccid <iccid>` (required): Subscriber ICCID

## carrier packages assign --iccid <iccid> --template-id <id> --account-id <id> --request-key <key> --start-date <date> --end-date <date> --validity-period <days> --business-kind <kind> --business-id <id> --business-line <line> --business-verb <verb>

Assign a one-time package from a template.

Calls MCP tool `assign_package`.

Write. Dry-run unless you pass `--commit`.

- `--iccid <iccid>` (optional): Subscriber ICCID
- `--template-id <id>` (required): Package template ID from `carrier templates list`
- `--account-id <id>` (optional): Issue from inventory through the authenticated Carrier API; requires --request-key; preserve it after unknown outcomes
- `--request-key <key>` (optional): Required stable inventory key (1–200 safe characters); preserved after unknown outcomes
- `--start-date <date>` (optional): Inventory package start date
- `--end-date <date>` (optional): Inventory package end date
- `--validity-period <days>` (optional): Inventory package validity period
- `--business-kind <kind>` (optional): Authorized reference kind: storefront_order
- `--business-id <id>` (optional): Existing API-authorized order ID
- `--business-line <line>` (optional): Authorized reference line: esim
- `--business-verb <verb>` (optional): Authorized reference verb: issue

## carrier packages set-status --iccid <iccid> --package-id <id> --status <status>

Activate or deactivate one package without deleting it.

Calls MCP tool `modify_package_status`.

Write. Dry-run unless you pass `--commit`.

- `--iccid <iccid>` (required): Subscriber ICCID
- `--package-id <id>` (required): Package ID from `carrier packages list`
- `--status <status>` (required): New package status, e.g. ACTIVE or INACTIVE

## carrier packages set-expiry --iccid <iccid> --package-id <id> --expires <date> --validity-days <n>

Move a package's expiry date. Pass an absolute date or a day count.

Calls MCP tool `modify_package_expiry`.

Write. Dry-run unless you pass `--commit`.

- `--iccid <iccid>` (required): Subscriber ICCID
- `--package-id <id>` (required): Package ID from `carrier packages list`
- `--expires <date>` (optional): Absolute expiry, ISO 8601 (e.g. 2026-06-01)
- `--validity-days <n>` (optional): Days from now until expiry (instead of --expires)

## carrier packages set-limits --iccid <iccid> --package-id <id> --limits <json>

Change data, voice or SMS ceilings on an assigned package.

Calls MCP tool `modify_package_limits`.

Write. Dry-run unless you pass `--commit`.

- `--iccid <iccid>` (required): Subscriber ICCID
- `--package-id <id>` (required): Package ID from `carrier packages list`
- `--limits <json>` (required): New limits as JSON, e.g. '{"dataLimit":5368709120}'

## carrier packages assign-recurring --iccid <iccid> --template-id <id> --activate-at-first-use --start-time <iso>

Assign an auto-renewing package from a recurring-enabled template.

Calls MCP tool `assign_recurring_package`.

Write. Dry-run unless you pass `--commit`.

- `--iccid <iccid>` (required): Subscriber ICCID
- `--template-id <id>` (required): Recurring package template ID from `carrier templates list`
- `--activate-at-first-use` (optional): Activate on first network usage (instead of --start-time)
- `--start-time <iso>` (optional): Scheduled activation, ISO 8601 UTC (instead of --activate-at-first-use)

## carrier packages recurring set --iccid <iccid> --package-id <id> --action <action>

Pause or restart the auto-renewal of a recurring package.

Calls MCP tool `stop_resume_recurring_package`.

Write. Dry-run unless you pass `--commit`.

- `--iccid <iccid>` (required): Subscriber ICCID
- `--package-id <id>` (required): Package ID from `carrier packages list`
- `--action <action>` (required): 'stop' halts future renewals, 'resume' re-enables them

## carrier packages active-period set --iccid <iccid> --package-id <id> --start <date> --end <date> --comment <text>

Move the start and/or end of a package's active period.

Calls MCP tool `modify_subscriber_package_active_period`.

Write. Dry-run unless you pass `--commit`.

- `--iccid <iccid>` (required): Subscriber ICCID
- `--package-id <id>` (required): Package ID from `carrier packages list`
- `--start <date>` (optional): New start date, ISO 8601 (e.g. 2026-09-01)
- `--end <date>` (optional): New end date, ISO 8601 (e.g. 2026-09-30)
- `--comment <text>` (optional): Audit note stored on the package (OCS requires one; a default is sent)

## carrier packages clean --iccid <iccid>

Remove ALL packages from a subscriber. Irreversible.

Calls MCP tool `clean_all_packages`.

Write. Dry-run unless you pass `--commit`.

- `--iccid <iccid>` (required): Subscriber ICCID

## carrier packages delete --iccid <iccid> --package-id <id>

Permanently remove one package from a subscriber.

Calls MCP tool `delete_subscriber_package`.

Write. Dry-run unless you pass `--commit`.

- `--iccid <iccid>` (required): Subscriber ICCID
- `--package-id <id>` (required): Package ID from `carrier packages list`

# templates

The package template catalog.

## carrier templates list

Browse package templates available for assignment.

Calls MCP tool `list_package_templates`.


## carrier templates create --template <json>

Create a package template from a JSON configuration.

Calls MCP tool `create_package_template`.

Write. Dry-run unless you pass `--commit`.

- `--template <json>` (required): Template config as JSON, e.g. '{"name":"Europe 5GB","dataLimit":5368709120}'

## carrier templates set-core --template-id <id> --changes <json>

Change name, limits, cost, validity or zone on a template.

Calls MCP tool `modify_template_core`.

Write. Dry-run unless you pass `--commit`.

- `--template-id <id>` (required): Template ID from `carrier templates list`
- `--changes <json>` (required): Core fields as JSON, e.g. '{"name":"Europe 5GB"}'

## carrier templates set-recurring --template-id <id> --changes <json>

Change auto-renewal settings on a template.

Calls MCP tool `modify_template_recurring`.

Write. Dry-run unless you pass `--commit`.

- `--template-id <id>` (required): Template ID from `carrier templates list`
- `--changes <json>` (required): Recurring fields as JSON, e.g. '{"recurringPeriodicityType":2,"nbOccurrence":12}'

## carrier templates set-throttling --template-id <id> --changes <json>

Change throttling thresholds. Applies to existing packages too.

Calls MCP tool `modify_template_throttling`.

Write. Dry-run unless you pass `--commit`.

- `--template-id <id>` (required): Template ID from `carrier templates list`
- `--changes <json>` (required): Throttling fields as JSON, e.g. '{"throttlingActive":true}'

# zones

Location zones and destination lists.

## carrier zones list --reseller-id <id> --verbose <bool>

Location zones with countries and operators. Prefer this over `elements`.

Calls MCP tool `list_detailed_location_zones`.

- `--reseller-id <id>` (optional): Reseller ID (omit for the token owner's reseller)
- `--verbose <bool>` (optional): Return the full OCS zone shape instead of the compact projection

## carrier zones elements --zone-id <id>

Raw zone elements. Upstream OCS returns malformed rows for some zones.

Calls MCP tool `list_location_zones`.

- `--zone-id <id>` (required): Filter to one location zone

## carrier zones create --zone <json>

Create a location zone from a JSON configuration.

Calls MCP tool `create_location_zone`.

Write. Dry-run unless you pass `--commit`.

- `--zone <json>` (required): Zone config as JSON, e.g. '{"locationZoneName":"Europe","tadigList":["AZER1","QWER1"],"networkProfileId":79}'

## carrier zones network-profile set --zone-id <id> --network-profile-id <id>

Attach or change the network profile on an existing location zone.

Calls MCP tool `change_network_profile_of_location_zone`.

Write. Dry-run unless you pass `--commit`.

- `--zone-id <id>` (required): Location zone ID from `carrier zones list`
- `--network-profile-id <id>` (required): Network profile ID from `carrier network-profiles list`

## carrier zones destinations --reseller-id <id>

Destination list catalog for voice and SMS packages.

Calls MCP tool `list_destination_lists`.

- `--reseller-id <id>` (optional): Reseller ID (omit for the token owner's reseller)

## carrier zones prefixes --destination-list-id <id>

Dialling prefixes inside one destination list.

Calls MCP tool `list_destination_prefixes`.

- `--destination-list-id <id>` (required): Destination list ID from `carrier zones destinations`

# steering

Network steering lists and operator preference.

## carrier steering list --reseller-id <id>

Steering lists configured for this reseller.

Calls MCP tool `list_steering_lists`.

- `--reseller-id <id>` (optional): Reseller ID (omit for the token owner's reseller)

## carrier steering assign --iccid <iccid> --list-id <id>

Assign a steering list to a subscriber. Follow with `push`.

Calls MCP tool `modify_subscriber_steering_list`.

Write. Dry-run unless you pass `--commit`.

- `--iccid <iccid>` (required): Subscriber ICCID
- `--list-id <id>` (required): Steering list ID from `carrier steering list`

## carrier steering push --iccid <iccid>

Push the assigned operator preference list to the device now.

Calls MCP tool `push_steering_to_subscriber`.

Write. Dry-run unless you pass `--commit`.

- `--iccid <iccid>` (required): Subscriber ICCID

# network-default

Which networks a SIM gets per country. Default: the cheapest available.

## carrier network-default show

Show the org network default (cheapest_available, all or custom) and what applies today. New assignments only.

Calls MCP tool `get_network_default`.


## carrier network-default set --mode <mode> --list-id <id>

Store the org network default. Changes no SIM and writes nothing to OCS; applies to new assignments.

Calls MCP tool `set_network_default`.

Write. Dry-run unless you pass `--commit`.

- `--mode <mode>` (required): cheapest_available | all | custom
- `--list-id <id>` (optional): Steering list ID from `carrier steering list`. Required when --mode is custom.

## carrier network-default plan --countries <codes> --sim-mode <mode> --sim-list-id <id> --package-mode <mode> --package-list-id <id> --reseller-id <id>

Show which networks a SIM would get in the given countries. Read only. Falls back to all networks with a loud warning when the tariff is missing.

Calls MCP tool `plan_network_default`.

- `--countries <codes>` (required): Comma-separated ISO-3166 alpha-2 codes, e.g. CA,US
- `--sim-mode <mode>` (optional): Override for this SIM: cheapest_available | all | custom
- `--sim-list-id <id>` (optional): Steering list ID when --sim-mode is custom
- `--package-mode <mode>` (optional): Override for this package: cheapest_available | all | custom
- `--package-list-id <id>` (optional): Steering list ID when --package-mode is custom
- `--reseller-id <id>` (optional): Reseller ID (omit for the token owner's reseller)

# accounts

Reseller accounts: balances and subscriber moves.

## carrier accounts list --reseller-id <id>

Accounts under a reseller with name, balance and type.

Calls MCP tool `list_reseller_accounts`.

- `--reseller-id <id>` (optional): Reseller ID (omit for the token owner's reseller)

## carrier accounts balance set --account-id <id> --amount <amount> --mode <mode>

Add to or replace an account's monetary balance.

Calls MCP tool `modify_account_balance`.

Write. Dry-run unless you pass `--commit`.

- `--account-id <id>` (required): Account ID from `carrier accounts list`
- `--amount <amount>` (required): Amount to add (adapt) or set to (set)
- `--mode <mode>` (required): 'adapt' adds or subtracts, 'set' replaces

## carrier accounts move-subscribers --src-account-id <id> --dest-account <id> --range-type <type> --range-start <value> --range-end <value>

Move a contiguous IMSI or ICCID range of subscribers to another account.

Calls MCP tool `move_subscriber_range_to_account`.

Write. Dry-run unless you pass `--commit`.

- `--src-account-id <id>` (required): Source account ID from `carrier accounts list`
- `--dest-account <id>` (required): Destination account ID from `carrier accounts list`
- `--range-type <type>` (required): Whether --range-start/--range-end are IMSI or ICCID ('IMSI' | 'ICCID')
- `--range-start <value>` (required): Inclusive start of the identifier range
- `--range-end <value>` (required): Inclusive end of the identifier range

# reseller

The reseller the token belongs to.

## carrier reseller show --reseller-id <id>

Full reseller record: balance, pricing plans, contact and traffic config.

Calls MCP tool `get_reseller_info`.

- `--reseller-id <id>` (optional): Reseller ID (omit for the token owner's reseller)

# tariff

Wholesale tariffs: mobile and VoIP rates.

## carrier tariff show --reseller-id <id> --country <name|iso2> --traffic-type <type> --verbose <bool>

Per-country wholesale rates for data, voice and SMS.

Calls MCP tool `get_tariff`.

- `--reseller-id <id>` (optional): Reseller ID (omit for the token owner's reseller)
- `--country <name|iso2>` (optional): Filter to one country: ISO2 ("nl") or name ("Netherlands")
- `--traffic-type <type>` (optional): Filter to data, voice or sms
- `--verbose <bool>` (optional): Return the full OCS rule shape instead of the compact projection

## carrier tariff voip --reseller-id <id>

VoIP tariff catalog for a reseller.

Calls MCP tool `list_subscriber_voip_tariff`.

- `--reseller-id <id>` (optional): Reseller ID (omit for the token owner's reseller)

## carrier tariff voip-rules --voip-plan-id <id>

Rate rules inside one VoIP plan.

Calls MCP tool `list_voip_tariff_rule`.

- `--voip-plan-id <id>` (required): VoIP plan ID from `carrier tariff voip`

# sms

Mobile-terminated SMS to subscribers.

## carrier sms send --iccid <iccid> --msisdn <msisdn> --message <text> --sender <sender>

Send an MT SMS to one subscriber.

Calls MCP tool `send_sms`.

Write. Dry-run unless you pass `--commit`.

- `--iccid <iccid>` (required): Subscriber ICCID
- `--msisdn <msisdn>` (required): Target MSISDN in E.164 format
- `--message <text>` (required): SMS text (160 chars GSM-7; 70 with emoji or non-Latin scripts)
- `--sender <sender>` (optional): Sender ID or number shown on the device

# sponsors

Sponsor networks backing the eSIM profiles.

## carrier sponsors list --reseller-id <id>

Sponsor carriers available to this reseller.

Calls MCP tool `list_sponsors`.

- `--reseller-id <id>` (optional): Reseller ID (omit for the token owner's reseller)

# network-profiles

Roaming configuration profiles for zones and provisioning.

## carrier network-profiles list

Network profiles available to this reseller.

Calls MCP tool `list_network_profiles`.


# webhooks

Bridge4IP webhook and relay flag status.

## carrier webhooks show --reseller-id <id>

Current relay flags (LU, Gy, VoIP, calls+SMS) and notification webhooks.

Calls MCP tool `carrier_webhook_config`.

- `--reseller-id <id>` (optional): Reseller ID (omit for the token owner's reseller)

# intelligence

Composite reports over the fleet.

## carrier intelligence fleet-health --account-id <id>

eSIM counts, low-balance accounts and what needs attention.

Calls MCP tool `fleet_health`.

- `--account-id <id>` (optional): Report on a single account

## carrier intelligence diagnose --iccid <iccid>

Why one subscriber is offline, throttled or failing to attach.

Calls MCP tool `diagnose_subscriber`.

- `--iccid <iccid>` (required): Subscriber ICCID

## carrier intelligence anomalies --iccid <iccid>

Usage spikes and burn rates that exhaust the package early.

Calls MCP tool `detect_usage_anomalies`.

- `--iccid <iccid>` (required): Subscriber ICCID

## carrier intelligence churn --iccid <iccid>

Churn risk score with contributing factors.

Calls MCP tool `churn_risk`.

- `--iccid <iccid>` (required): Subscriber ICCID

## carrier intelligence optimize --iccid <iccid>

Better-fitting package for one subscriber, with the saving.

Calls MCP tool `optimize_package`.

- `--iccid <iccid>` (required): Subscriber ICCID

## carrier intelligence coverage --account-id <id> --limit <n>

Networks subscribers actually attach to, against your steering lists.

Calls MCP tool `audit_network_coverage`.

- `--account-id <id>` (optional): Report on a single account
- `--limit <n>` (optional): Subscribers to sample (default 50)

## carrier intelligence high-cost --account-id <id> --limit <n> --threshold-pct <n>

Subscribers whose consumption erodes the margin.

Calls MCP tool `high_cost_subscribers`.

- `--account-id <id>` (optional): Report on a single account
- `--limit <n>` (optional): Subscribers to analyse (default 100)
- `--threshold-pct <n>` (optional): Usage percentage that flags a subscriber (default 80)

## carrier intelligence marketing --account-id <id>

Where subscribers and revenue concentrate, and which markets grow.

Calls MCP tool `marketing_intelligence`.

- `--account-id <id>` (optional): Report on a single account

## carrier intelligence country-entry --iccid <iccid> --expected-country <iso2>

Country a subscriber is in now, optionally diffed against the last known one.

Calls MCP tool `detect_country_entry`.

- `--iccid <iccid>` (required): Subscriber ICCID
- `--expected-country <iso2>` (optional): Last known ISO 3166-1 alpha-2 country, e.g. NL

# api-keys

Mint Carrier API keys (ak_…) for headless and CI use

## carrier api-keys create --name <name> --description <text> --seconds-until-expiration <n>

Create an org API key. The secret is shown once and never stored by the CLI.

Calls `POST /v1/api-keys`.

- `--name <name>` (required): Label for the key, max 64 characters
- `--description <text>` (optional): Optional note, max 256 characters
- `--seconds-until-expiration <n>` (optional): Expiry in seconds, 60 to 31536000. Omit for a key that does not expire.

# onboard

Connect a new account to OCS without opening a browser

## carrier onboard status

Show how far onboarding has got. Same state the console renders.

Calls `GET /v1/onboarding`.


## carrier onboard org --name <name> --website <url> --country <iso2> --operator-type <type>

Record who the operator is (step 1).

Calls `POST /v1/onboarding/org`.

- `--name <name>` (required): Operator name, max 128 characters
- `--website <url>` (optional): Public site, if there is one
- `--country <iso2>` (optional): ISO 3166-1 alpha-2 country, e.g. NL
- `--operator-type <type>` (optional): How the operator describes itself, e.g. mvno

## carrier onboard connect --token <token>

Connect your own eSIMVault token (step 2, BYO). Verified against OCS, then stored encrypted; the token is never echoed back.

Calls `POST /v1/onboarding/ocs-connect`.

- `--token <token>` (required): eSIMVault API token. A flag lands in shell history — prefer a leading space, or run this once from a fresh shell.

## carrier onboard managed

Let Carrier provision the OCS sub-account instead (step 2, the primary path). Idempotent, and clears any BYO token.

Calls `POST /v1/onboarding/managed-account`.


## carrier onboard plan --template-id <id> --display-name <name>

Record the starting plan template (step 3).

Calls `POST /v1/onboarding/plan`.

- `--template-id <id>` (required): Package template to start from
- `--display-name <name>` (required): What customers will see the plan called

## carrier onboard plan-skip

Skip the plan step and come back to it later (step 3).

Calls `POST /v1/onboarding/plan/skip`.


## carrier onboard test-esim

Read back one eSIM from the connected fleet (step 4). Nothing is provisioned; a demo ICCID with a reason comes back if OCS has nothing to show.

Calls `POST /v1/onboarding/test-esim`.


## carrier onboard complete

Mark onboarding done (step 5).

Calls `POST /v1/onboarding/complete`.


# affiliate

Carrier affiliate program: profile, referral link and commissions

## carrier affiliate status

Read-only: returns the affiliate profile, referral code, link, counts, money owed and paid, and Connect payouts status for the authenticated operator.

Calls MCP tool `affiliate_status`.


## carrier affiliate commissions --limit <n>

Read-only: returns the list of commission records for the authenticated operator.

Calls MCP tool `affiliate_commissions`.

- `--limit <n>` (optional): Maximum number of commission records to return (1-200, default: 50). Default 50.

## carrier affiliate join

Join the Carrier affiliate program and generate a personal referral code and link.

Calls MCP tool `affiliate_join`.


# billing

Carrier plan credits, spend thresholds and rate-limit state

## carrier billing events --limit <n>

View recent billing threshold events: notifications, invoice triggers, hard cap alerts, and overage pauses.

Calls MCP tool `billing_events`.

- `--limit <n>` (optional): Maximum number of events to return (default: 20, max: 50).

## carrier billing configure --overages-enabled <bool> --billing-threshold-cents <n> --hard-cap-cents <n> --auto-pause-on-cap <bool> --notify-at-pct <list> --notification-email <email> --notification-phone <phone> --webhook-url <url>

Configure your billing preferences: enable/disable overages, set billing thresholds (bill shock prevention), configure notification percentages, and set hard spending caps.

Calls MCP tool `configure_billing`.

- `--overages-enabled <bool>` (optional): Enable or disable auto-billed overages when monthly credits are exhausted.
- `--billing-threshold-cents <n>` (optional): Amount in cents at which an invoice is automatically generated (e.g., 10000 = $100).
- `--hard-cap-cents <n>` (optional): Maximum overage spend in cents before overages are paused (0 = no cap).
- `--auto-pause-on-cap <bool>` (optional): Whether to automatically pause overages when hard cap is reached.
- `--notify-at-pct <list>` (optional): Percentage thresholds at which to send notifications (e.g., [50, 80, 95, 100]). Comma-separated.
- `--notification-email <email>` (optional): Email address for billing threshold notifications.
- `--notification-phone <phone>` (optional): E.164 phone number for SMS billing threshold notifications via Twilio (e.g. +14155552671).
- `--webhook-url <url>` (optional): Webhook URL for billing threshold events.

## carrier billing credits

Read how much of this Carrier MCP plan is left: credits remaining, daily free credits, overage state, volume discount tier, and billing threshold state.

Calls MCP tool `credit_balance`.


## carrier billing plans

View all available Carrier MCP pricing plans with credit allotments, features, overage rates, and volume discount tiers.

Calls MCP tool `pricing_plans`.


## carrier billing projection --days-to-project <n>

Project your credit usage and costs for the remainder of the billing period based on current consumption rate.

Calls MCP tool `usage_projection`.

- `--days-to-project <n>` (optional): Number of days to project forward (default: remaining days in month).

## carrier billing rate-limit --endpoint <endpoint>

Inspect Bridge4IP OCS rate-limit governor state — bucket fill levels, per-endpoint limits, and 80% alert thresholds.

Calls MCP tool `rate_limit_status`.

- `--endpoint <endpoint>` (optional): OCS method name in camelCase (e.g. 'subscriberUsageOverPeriod').

# wallet

The Carrier prepaid wallet: balance and top-ups

## carrier wallet balance

Read the caller organisation's Carrier prepaid wallet: current balance and auto-top-up settings.

Calls MCP tool `wallet_balance`.


## carrier wallet topup --pack <pack>

Create a Stripe Checkout link so a human can top up the Carrier prepaid wallet by card.

Calls MCP tool `wallet_topup_checkout`.

- `--pack <pack>` (optional): Pack id (pack_25/pack_50/pack_100/pack_500/pack_1000/pack_2500/pack_5000) or exact EUR-cents amount.

## carrier wallet auto-topup --pack-cents <n>

Charge the organisation's saved card off-session, right now, and credit the Carrier prepaid wallet with the pack.

Calls MCP tool `wallet_auto_topup`.

- `--pack-cents <n>` (optional): Override pack amount in EUR cents (must match a catalog pack).

# stripe

Money in the operator's connected Stripe account

## carrier stripe balance

Read the money sitting in the operator's connected Stripe account: available and pending, split per currency.

Calls MCP tool `stripe_connect_balance`.


## carrier stripe payouts --limit <n> --status <status>

List money Stripe has already sent from the operator's connected account to their bank, newest first.

Calls MCP tool `stripe_connect_payouts`.

- `--limit <n>` (optional): Number of payouts to return. Default 10.
- `--status <status>` (optional): Filter by payout status. One of: pending, paid, failed, canceled, in_transit.

## carrier stripe charges --limit <n> --starting-after <after>

List recent payments (charges) on the operator's connected Stripe account, e.g. storefront purchases.

Calls MCP tool `stripe_connect_charges_list`.

- `--limit <n>` (optional): Number of charges to return. Default 20.
- `--starting-after <after>` (optional): Charge id to page after.

## carrier stripe disputes --limit <n> --status <status>

List chargebacks customers have raised with their bank against the operator's connected Stripe account.

Calls MCP tool `stripe_connect_dispute_list`.

- `--limit <n>` (optional): limit (number). Default 10.
- `--status <status>` (optional): Filter by dispute status (e.g. needs_response, under_review).

## carrier stripe refund --charge-id <id> --amount-cents <n> --reason <reason> --confirm-token <token>

Refund money to a customer on one charge in the operator's connected Stripe account.

Calls MCP tool `stripe_connect_refund`.

- `--charge-id <id>` (required): Stripe charge ID (ch_...).
- `--amount-cents <n>` (optional): Partial refund amount in cents.
- `--reason <reason>` (optional): reason (string). One of: duplicate, fraudulent, requested_by_customer.
- `--confirm-token <token>` (optional): Confirmation token from previous call.

# radar

Stripe Radar fraud reviews and value lists

## carrier radar reviews --open-only <bool> --limit <n>

List the Stripe Radar fraud reviews waiting on a manual approve/decline decision, newest first.

Calls MCP tool `radar_review_list`.

- `--open-only <bool>` (optional): Stripe lists only open (undecided) reviews; kept for compatibility. Default true.
- `--limit <n>` (optional): limit (number). Default 10.

## carrier radar approve --review-id <id> --confirm-token <token>

Clear a Stripe Radar fraud review so the held charge is captured and the money is taken.

Calls MCP tool `radar_review_approve`.

- `--review-id <id>` (required): Stripe Radar review ID (prv_...).
- `--confirm-token <token>` (optional): confirm token (string).

## carrier radar decline --review-id <id> --confirm-token <token>

Always refuses and calls nothing: Stripe has no endpoint to decline a Radar review (its Reviews API only lists, retrieves and approves).

Calls MCP tool `radar_review_decline`.

- `--review-id <id>` (required): review id (string).
- `--confirm-token <token>` (optional): confirm token (string).

## carrier radar rule-toggle --rule-id <id> --enabled <bool>

Report a Stripe Radar rule's state. Stripe exposes no API to change it, so this changes nothing.

Calls MCP tool `radar_rule_toggle`.

- `--rule-id <id>` (required): Stripe Radar rule ID.
- `--enabled <bool>` (required): true = enable, false = disable.

## carrier radar value-list add --value-list-id <id> --value <value> --confirm-token <token>

Add one value to an existing Stripe Radar value list, changing how every future charge is scored.

Calls MCP tool `radar_value_list_add`.

- `--value-list-id <id>` (required): Stripe Radar value list ID (rsl_...).
- `--value <value>` (required): The value to add (email, IP address, country code, etc.).
- `--confirm-token <token>` (optional): confirm token (string).

# greenzone

The Bridge4IP Greenzone whitelist

## carrier greenzone list --from-portal <bool>

List current Greenzone whitelist entries from the KV cache.

Calls MCP tool `greenzone_whitelist_list`.

- `--from-portal <bool>` (optional): When true, return Kapture steps to read live portal state instead of KV cache.

## carrier greenzone add --host <host> --ip <ip>

Add a host or IP to the Greenzone whitelist. Needs Kapture running in the operator's own Chrome — without it the dry run still returns the portal steps to follow by hand.

Calls MCP tool `greenzone_whitelist_add`.

Write. Dry-run unless you pass `--commit`.

- `--host <host>` (optional): Hostname to whitelist (e.g. 'example.com').
- `--ip <ip>` (optional): IP address or CIDR to whitelist (e.g. '203.0.113.0/24').

## carrier greenzone remove --host <host> --ip <ip>

Remove a host or IP from the Greenzone whitelist. Needs Kapture running in the operator's own Chrome — without it the dry run still returns the portal steps to follow by hand.

Calls MCP tool `greenzone_whitelist_remove`.

Write. Dry-run unless you pass `--commit`.

- `--host <host>` (optional): Hostname to remove from whitelist.
- `--ip <ip>` (optional): IP address or CIDR to remove from whitelist.

# agent

Steel browsing agents: one-off tasks and cron schedules

## carrier agent ask --prompt <prompt> --max-steps <n>

Send a plain-language task to a hosted browsing agent, which drives a real browser on the open web — navigating pages, searching, extracting content, filling forms outside the OCS portal.

Calls MCP tool `ui_agent_ask`.

Write. Dry-run unless you pass `--commit`.

- `--prompt <prompt>` (required): Natural-language task description for the browsing agent.
- `--max-steps <n>` (optional): Advisory step budget (1–30, default 15).

## carrier agent status --task-id <id>

Poll the status of a browser agent task dispatched by ui_agent_ask or any ui_* tool.

Calls MCP tool `ui_agent_status`.

- `--task-id <id>` (required): Task ID returned by ui_agent_ask or any ui_* tool dispatch.

## carrier agent pending

Returns all browser automation tasks that are currently paused waiting for human input.

Calls MCP tool `ui_agent_list_pending`.


## carrier agent reply --task-id <id> --reply <reply>

Resumes a browser automation task that paused waiting for input.

Calls MCP tool `ui_agent_reply`.

- `--task-id <id>` (required): Task ID to resume (from ui_agent_list_pending).
- `--reply <reply>` (required): Your answer to the agent's question (e.g. a 2FA code or confirmation).

## carrier agent usage

Returns an estimated Anthropic API cost for Steel agent tasks dispatched this calendar month.

Calls MCP tool `ui_agent_usage`.


## carrier agent schedule list

Lists all Steel recurring schedules stored in KV.

Calls MCP tool `ui_agent_schedule_list`.


## carrier agent schedule create --name <name> --cron <cron> --prompt-template <template>

Creates a recurring Steel agent run on a cron schedule.

Calls MCP tool `ui_agent_schedule_create`.

- `--name <name>` (required): Human-readable name for this schedule.
- `--cron <cron>` (required): Standard 5-field cron expression (minute hour day month weekday).
- `--prompt-template <template>` (required): Agent prompt/task template the Steel agent will execute on each run.

## carrier agent schedule pause --schedule-id <id>

Pauses an active Steel recurring schedule.

Calls MCP tool `ui_agent_schedule_pause`.

- `--schedule-id <id>` (required): ID of the schedule to pause.

## carrier agent schedule resume --schedule-id <id>

Resumes a paused Steel recurring schedule.

Calls MCP tool `ui_agent_schedule_resume`.

- `--schedule-id <id>` (required): ID of the schedule to resume.

## carrier agent schedule delete --schedule-id <id>

Permanently deletes a Steel recurring schedule.

Calls MCP tool `ui_agent_schedule_delete`.

- `--schedule-id <id>` (required): ID of the schedule to delete.

# portal

OCS portal changes that only exist in the web UI, driven by Kapture

## carrier portal account create --name <name> --description <description> --initial-balance <n>

Creates a new sub-account under the reseller via the OCS web dashboard.

Calls MCP tool `ui_create_account`.

Write. Dry-run unless you pass `--commit`.

- `--name <name>` (required): Name for the new account.
- `--description <description>` (optional): Optional description.
- `--initial-balance <n>` (optional): Initial balance in account currency (default 0).

## carrier portal steering build --steering-list-id <n> --add-operators <list> --remove-operators <list> --operator-type <type>

Change which mobile operators sit on a steering list that already exists, by driving the OCS web dashboard — the OCS REST API cannot edit list membership.

Calls MCP tool `ui_build_steering_list`.

Write. Dry-run unless you pass `--commit`.

- `--steering-list-id <n>` (required): ID of the steering list to modify.
- `--add-operators <list>` (optional): MCC-MNC codes to add (e.g. ['20801', '26201']). Comma-separated.
- `--remove-operators <list>` (optional): MCC-MNC codes to remove. Comma-separated.
- `--operator-type <type>` (optional): Whether operators are priority or excluded. One of: priority, excluded. Default "priority".

## carrier portal steering create --name <name> --description <description>

Create a new, empty network steering list (OPLMN preference set) by driving the OCS web dashboard, because the OCS REST API cannot create one.

Calls MCP tool `ui_create_steering_list`.

Write. Dry-run unless you pass `--commit`.

- `--name <name>` (required): Name for the new steering list.
- `--description <description>` (optional): Optional description for the steering list.

## carrier portal steering set-account --account-id <n> --steering-list-id <n>

Assigns or removes a steering list at the account level via the OCS web dashboard.

Calls MCP tool `ui_set_account_steering_list`.

Write. Dry-run unless you pass `--commit`.

- `--account-id <n>` (required): Account ID to assign the steering list to.
- `--steering-list-id <n>` (required): Steering list ID to assign (0 to remove/unset).

## carrier portal relay request --reseller-id <n> --relay-gy <bool> --relay-calls-sms <bool> --relay-voip <bool> --reason <reason>

Drafts the parent-reseller/support request for reseller relay flags that are visible but read-only in the OCS portal at the current account tier.

Calls MCP tool `ui_request_reseller_relay_change`.

- `--reseller-id <n>` (optional): Reseller id; defaults to the authenticated reseller.
- `--relay-gy <bool>` (optional): Desired Relay Gy state.
- `--relay-calls-sms <bool>` (optional): Desired calls/SMS relay state.
- `--relay-voip <bool>` (optional): Desired VoIP relay state.
- `--reason <reason>` (optional): Operational reason for the requested change.

## carrier portal destinations create --name <name> --prefixes <list> --description <description>

Creates a new destination list (named set of phone number prefixes for MOC call permissions) via the OCS web dashboard.

Calls MCP tool `ui_create_destination_list`.

Write. Dry-run unless you pass `--commit`.

- `--name <name>` (required): Name for the new destination list.
- `--prefixes <list>` (optional): Phone number prefixes to include (e.g. ['+31', '+49']). Comma-separated.
- `--description <description>` (optional): Optional description.

## carrier portal destinations edit --destination-list-id <n> --add-prefixes <list> --remove-prefixes <list> --new-name <name>

Edits an existing destination list via the OCS web dashboard.

Calls MCP tool `ui_edit_destination_list`.

Write. Dry-run unless you pass `--commit`.

- `--destination-list-id <n>` (required): ID of the destination list to edit.
- `--add-prefixes <list>` (optional): Prefixes to add. Comma-separated.
- `--remove-prefixes <list>` (optional): Prefixes to remove. Comma-separated.
- `--new-name <name>` (optional): Rename the destination list.

## carrier portal destinations delete --destination-list-id <n>

Delete a destination list — a named set of phone-number prefixes — by driving the OCS web dashboard.

Calls MCP tool `ui_delete_destination_list`.

Write. Dry-run unless you pass `--commit`.

- `--destination-list-id <n>` (required): ID of the destination list to delete.

## carrier portal zones edit --zone-id <n> --new-name <name> --add-countries <list> --remove-countries <list>

Edits an existing location zone via the OCS web dashboard. `create_location_zone` is available via API; edit is UI-only.

Calls MCP tool `ui_edit_location_zone`.

Write. Dry-run unless you pass `--commit`.

- `--zone-id <n>` (required): ID of the location zone to edit.
- `--new-name <name>` (optional): Rename the location zone.
- `--add-countries <list>` (optional): ISO country codes to add (e.g. ['NL', 'DE']). Comma-separated.
- `--remove-countries <list>` (optional): ISO country codes to remove. Comma-separated.

## carrier portal zones delete --zone-id <n>

Delete a location zone by driving the OCS web dashboard, because the OCS REST API can create a zone (`create_location_zone`) but not remove one.

Calls MCP tool `ui_delete_location_zone`.

Write. Dry-run unless you pass `--commit`.

- `--zone-id <n>` (required): ID of the location zone to delete.

## carrier portal templates delete --template-id <n>

Remove a package template from the reseller's product catalogue for good, by driving the OCS web dashboard — the OCS REST API cannot delete a template.

Calls MCP tool `ui_delete_package_template`.

Write. Dry-run unless you pass `--commit`.

- `--template-id <n>` (required): ID of the package template to delete.

# events

Buffered OCS event history per subscriber

## carrier events ocs --iccid <iccid> --limit <n> --event-types <list> --since <since>

Return the last N OCS events buffered for a given ICCID.

Calls MCP tool `list_recent_ocs_events`.

- `--iccid <iccid>` (required): ICCID, 19 or 20 digits, ITU-T E.118 format.
- `--limit <n>` (optional): Max events to return, newest first. Default 20.
- `--event-types <list>` (optional): Filter to specific event types. Comma-separated.
- `--since <since>` (optional): ISO-8601 timestamp; only events after this point.

## carrier events countries --subscriber-id <id> --start-date <date> --end-date <date> --limit <n>

Return cross-border movement history for a subscriber, reconstructed from OCS Gy charging events.

Calls MCP tool `subscriber_country_history`.

- `--subscriber-id <id>` (required): Subscriber ICCID (19–20 digits, ITU-T E.118).
- `--start-date <date>` (optional): Start of the period, YYYY-MM-DD inclusive (default: 7 days ago).
- `--end-date <date>` (optional): End of the period, YYYY-MM-DD inclusive, max 7 days from start (default: today).
- `--limit <n>` (optional): Maximum number of country_events to return, newest first (default 20, max 50). Default 20.

## carrier events depletion --subscriber-id <id> --since <since>

Look up bundle depletion events for a subscriber (or list recent fleet-wide depletions).

Calls MCP tool `subscriber_depletion_events`.

- `--subscriber-id <id>` (optional): OCS subscriber ID to look up.
- `--since <since>` (optional): ISO-8601 timestamp — only return events at or after this time (for single-subscriber lookup).

# panels

MCP UI surfaces. A terminal sees the underlying data, not the panel.

## carrier panels fleet --account-id <n>

Fleet overview as a UI panel. Prefer `carrier intelligence fleet-health` in a terminal; use --json to read the panel's data.

Calls MCP tool `fleet_health_app`.

- `--account-id <n>` (optional): Filter to a specific account (omit for all).

## carrier panels topup --iccid <iccid> --delta <n> --preview <bool>

Adjust the OCS account balance behind one subscriber. Previews unless --preview false.

Calls MCP tool `balance_topup_form`.

- `--iccid <iccid>` (required): The subscriber ICCID for the account lookup.
- `--delta <n>` (required): Amount to add (positive) or deduct (negative) from the account balance.
- `--preview <bool>` (optional): If true, return preview without writing. Default true.

## carrier panels provision --step <step> --wizard-id <id> --subscriber-iccid <iccid> --package-template-id <n>

Step through the provisioning wizard. Pass --step confirm to execute; every earlier step only reads.

Calls MCP tool `provision_esim_wizard`.

- `--step <step>` (required): Current wizard step. One of: init, select-package, preview, confirm.
- `--wizard-id <id>` (optional): Wizard session ID (absent on init).
- `--subscriber-iccid <iccid>` (optional): Subscriber ICCID (required for select-package).
- `--package-template-id <n>` (optional): Package template ID (required for preview).

# env

This environment: credentials, catalog and machine-readable context

## carrier env info

View your Carrier environment configuration — active organization, reseller details, connected services, and deployment environment.

Calls MCP tool `environment_info`.


## carrier env credentials

Report on the stored eSIMVault credential without changing it: whether a token is present, whether it is encrypted, how old it is, and whether rotation is recommended (over 90 days).

Calls MCP tool `credential_status`.


## carrier env rotate --new-token <token> --confirm <bool>

Replace the stored eSIMVault API token with one you supply.

Calls MCP tool `rotate_credentials`.

- `--new-token <token>` (required): New eSIMVault API token to encrypt and store.
- `--confirm <bool>` (required): Confirm rotation — this will replace the current token immediately.

## carrier env catalog --category <category> --tier <tier>

Browse the Carrier service catalog — discover available services, their requirements, endpoints, and documentation.

Calls MCP tool `service_catalog`.

- `--category <category>` (optional): Filter services by category. One of: connectivity, analytics, marketplace, coverage, billing, integration, dashboard.
- `--tier <tier>` (optional): Filter services accessible at this tier level. One of: free, pro, enterprise.

## carrier env llm-context --format <format> --include-examples <bool>

Generate a comprehensive LLM context document describing your Carrier environment, available tools, current tier, usage patterns, and best practices.

Calls MCP tool `llm_context`.

- `--format <format>` (optional): Output format for the context document (default: markdown). One of: markdown, json, yaml.
- `--include-examples <bool>` (optional): Include example tool invocations (default: true).

## carrier env describe --tool-name <name>

Get full documentation for any registered Carrier MCP tool: description, parameters, 2-3 example invocations, required scope, destructive flag, and guidance.

Calls MCP tool `carrier_ask_describe`.

- `--tool-name <name>` (required): The exact MCP tool name to describe (e.g. 'assign_package', 'hlr_set_bitrate').

# brand

Storefront brand assets

## carrier brand logo --name <name> --accent <accent> --tagline <tagline>

Generate a storefront logo (SVG always; PNG when an image key is configured on the Carrier worker).

Calls MCP tool `generate_storefront_logo`.

- `--name <name>` (required): Brand / shop name, e.g. Bananas.
- `--accent <accent>` (optional): Accent hex, e.g. #FF8A00.
- `--tagline <tagline>` (optional): Optional tagline for AI-enhanced marks.

# atlas

Carrier Atlas coverage catalog. Configured networks, not live radio telemetry.

## carrier atlas coverage --country <country> --status <status> --technology <technology>

List the mobile networks Carrier Atlas has configured for one country.

Calls MCP tool `get_atlas_coverage`.

- `--country <country>` (required): ISO 3166-1 alpha-2 country code, for example JP or NL.
- `--status <status>` (optional): Keep only networks whose latest probe has this status. One of: up, degraded, down, unknown.
- `--technology <technology>` (optional): Keep only networks of this radio generation. One of: 2G, 3G, 4G, 5G.

## carrier atlas network --mcc <mcc> --mnc <mnc>

Read one mobile network from Carrier Atlas by MCC and MNC, including the latest status sample and the last 24 hours of probes.

Calls MCP tool `get_atlas_network_status`.

- `--mcc <mcc>` (required): Mobile Country Code.
- `--mnc <mnc>` (required): Mobile Network Code.
