Skip to main content
Glama

List trunk credentials

list_trunk_credentials
Read-only

Fetch SIP digest credentials for authenticating trunks, PBX, carriers, or voice agents on a Vobiz account. Returns id, username, realm, and enabled status for use in trunk updates or deletions.

Instructions

List the SIP digest credentials on this Vobiz account that trunks use to authenticate a PBX, carrier or voice agent: id, username, realm and enabled state. Credentials are account-wide, not per trunk; which trunk uses one is visible as credential_uuid in list_sip_trunks. Use an id as credential_uuid on update_sip_trunk, or as credential_id for update_trunk_credential and delete_trunk_credential. Pagination is stateless: pass limit and offset on every call (nothing is saved between calls) and follow pagination.next_offset. Passwords are never shown here. The user can view or reset them in the Vobiz console.

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.
countNoCredentials in this page.
paginationNoStateless paging: pass next_offset as offset to continue.
credentialsNoCredentials; 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": "Credentials in this page.",
      +      "type": "number"
      +    },
      +    "credentials": {
      +      "description": "Credentials; 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": "Free-text note, if any.",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "enabled": {
      +            "description": "False while authentication with this credential is paused.",
      +            "type": [
      +              "boolean",
      +              "null"
      +            ]
      +          },
      +          "id": {
      +            "description": "Credential UUID; use it as credential_uuid on a trunk or credential_id here.",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "password": {
      +            "description": "Always [redacted]; the real password is never returned.",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "realm": {
      +            "description": "SIP digest realm the client must present, {account_id}.sip.vobiz.ai.",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "updated_at": {
      +            "description": "Last-change timestamp.",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "username": {
      +            "description": "SIP username (permanent).",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          }
      +        },
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "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"
      +    },
      +    "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.9/5.0
Behavior5/5

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

Annotations only declare readOnlyHint and openWorldHint, so the description carries the real behavioral burden and does so well: pagination is stateless with nothing persisted between calls, next_offset must be followed, and passwords are never returned here and must be viewed/reset in the Vobiz console. These are non-obvious operational facts an agent cannot infer from the schema.

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

Conciseness5/5

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

Front-loaded with purpose and returned fields, then relationship model, then downstream usage, then pagination, then the password caveat. Dense but every sentence carries a distinct fact and none is redundant.

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, yet the description still names the salient fields. Combined with the account-wide-vs-per-trunk model, the cross-tool id usage, and the stateless pagination contract, an agent has everything needed to call and chain this tool 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 description coverage is 100%, so the baseline is 3. The description adds real meaning beyond the schema by explaining that pagination is stateless and that limit/offset must be passed on every call and next_offset followed, which the schema's field docs alone do not convey.

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 SIP digest credentials on this Vobiz account') and enumerates the returned fields (id, username, realm, enabled state). It also draws the key distinction from siblings: credentials are account-wide, not per trunk, with the trunk association surfaced via credential_uuid in list_sip_trunks.

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?

Explicitly routes the agent to the consuming tools: the id is used as credential_uuid on update_sip_trunk, or as credential_id for update_trunk_credential and delete_trunk_credential. It also clarifies the non-obvious model (account-wide credentials vs. per-trunk usage) so the agent knows when list_sip_trunks is the better source.

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