Skip to main content
Glama

List trunk origination URIs

list_origination_uris
Read-only

Retrieve account-wide SIP origination URIs that trunks dial outbound calls to, with id, priority, weight, transport and enabled state. Use limit and offset to page results.

Instructions

List the origination URIs on this Vobiz account: the SIP destinations trunks deliver outbound calls to, with id, priority (failover order, lowest first), weight (load split within a priority), transport and enabled state. URIs are account-wide; a trunk picks its own with primary_uri_uuid and fallback_uri_uuid (see list_sip_trunks). Add with create_origination_uri, re-prioritise with update_origination_uri, remove with delete_origination_uri. Pagination is stateless: pass limit and offset on every call (nothing is saved between calls) and follow pagination.next_offset.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "list_origination_uris"
  }
}

Input Schema

NameRequiredDescriptionDefault
limitNoRecords per page, 1-100. Defaults to the server's VOBIZ_DEFAULT_PAGE_SIZE (20).
offsetNoNumber of records to skip (default 0); pass pagination.next_offset from the previous page.

Output Schema

NameRequiredDescriptionDefault
okNoTrue on success. On a failure the result is isError with ok: false plus `error` (kind), `message`, `retryable` and sometimes `http_status`.
noteNoReminder that passwords are never returned here.
countNoOrigination URIs in this page.
paginationNoStateless paging: pass next_offset as offset to continue.
origination_urisNoOrigination URIs; empty when the account has none.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changedv1.4.2
    • changedInput schema / properties / limit / description
      Previous value: -"Max 100. Defaults to the server's VOBIZ_DEFAULT_PAGE_SIZE (20)."New value: +"Records per page, 1-100. Defaults to the server's VOBIZ_DEFAULT_PAGE_SIZE (20)."
    • addedInput schema / properties / offset / description
      Added value: +"Number of records to skip (default 0); pass pagination.next_offset from the previous page."
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "$schema": "http://json-schema.org/draft-07/schema#",
      +  "additionalProperties": false,
      +  "properties": {
      +    "count": {
      +      "description": "Origination URIs in this page.",
      +      "type": "number"
      +    },
      +    "note": {
      +      "description": "Reminder that passwords are never returned here.",
      +      "type": "string"
      +    },
      +    "ok": {
      +      "description": "True on success. On a failure the result is isError with ok: false plus `error` (kind), `message`, `retryable` and sometimes `http_status`.",
      +      "type": "boolean"
      +    },
      +    "origination_uris": {
      +      "description": "Origination URIs; empty when the account has none.",
      +      "items": {
      +        "additionalProperties": {},
      +        "properties": {
      +          "account_id": {
      +            "description": "Owning account Auth ID.",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "created_at": {
      +            "description": "Creation timestamp.",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "description": {
      +            "description": "Label given as name when the URI was created.",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "enabled": {
      +            "description": "False while the destination is switched off.",
      +            "type": [
      +              "boolean",
      +              "null"
      +            ]
      +          },
      +          "id": {
      +            "description": "Origination URI UUID; use it as primary_uri_uuid or fallback_uri_uuid on a trunk or uri_id here.",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "priority": {
      +            "description": "Failover order: lower is tried first.",
      +            "type": [
      +              "number",
      +              "null"
      +            ]
      +          },
      +          "transport": {
      +            "description": "SIP transport used to reach it: udp, tcp or tls.",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "updated_at": {
      +            "description": "Last-change timestamp.",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "uri": {
      +            "description": "SIP destination, e.g. sip:sbc.example.com:5060.",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "weight": {
      +            "description": "Load-balancing weight among URIs of the same priority (higher gets more traffic).",
      +            "type": [
      +              "number",
      +              "null"
      +            ]
      +          }
      +        },
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "pagination": {
      +      "additionalProperties": {},
      +      "description": "Stateless paging: pass next_offset as offset to continue.",
      +      "properties": {
      +        "has_more": {
      +          "description": "True when another page exists.",
      +          "type": "boolean"
      +        },
      +        "limit": {
      +          "description": "Page size applied.",
      +          "type": "number"
      +        },
      +        "next_offset": {
      +          "description": "offset to pass for the next page, or null on the last page.",
      +          "type": [
      +            "number",
      +            "null"
      +          ]
      +        },
      +        "offset": {
      +          "description": "Offset applied.",
      +          "type": "number"
      +        },
      +        "total": {
      +          "description": "Total matching records, or null when Vobiz did not report one.",
      +          "type": [
      +            "number",
      +            "null"
      +          ]
      +        }
      +      },
      +      "type": "object"
      +    }
      +  },
      +  "type": "object"
      +}
  2. First observedv1.1.1

TDQS

A4.6/5.0
Behavior5/5

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

Annotations only declare readOnlyHint and openWorldHint, but the description adds genuinely behavioral context: URIs are account-wide while trunks select via primary_uri_uuid/fallback_uri_uuid, priority is failover order (lowest first), weight splits load within a priority, and pagination is stateless so limit/offset must be resent every call with pagination.next_offset followed. That stateless-pagination warning is exactly the kind of non-obvious trait this dimension rewards.

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?

One dense paragraph, front-loaded with what the tool lists before moving to field semantics, sibling routing and pagination. Every sentence carries information, though the CRUD routing sentence could be trimmed to a bare list of sibling names.

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?

An output schema exists, so return values need no explanation, yet the description still names the returned fields (id, priority, weight, transport, enabled) so the agent can interpret results. Scope, sibling routing and pagination behavior are all covered, leaving nothing an agent needs in order to call it correctly.

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 limit/offset are already documented (baseline 3), but the description adds the important usage constraint that pagination is stateless and both parameters must be passed on every call, plus the instruction to follow pagination.next_offset. That is meaning beyond the schema, though it does not add format or boundary detail.

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 and resource ('List the origination URIs') and immediately defines the resource in domain terms: 'the SIP destinations trunks deliver outbound calls to'. An agent can distinguish this from list_sip_trunks and the other list_* tools without opening a schema.

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?

Explicitly routes the agent to the right sibling for each adjacent operation: create_origination_uri to add, update_origination_uri to re-prioritise, delete_origination_uri to remove, and list_sip_trunks for trunk-to-URI association. It clarifies the account-wide scope versus per-trunk selection, though it never states when this tool should not be used.

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