Skip to main content
Glama

List voice applications

list_applications
Read-only

List Vobiz voice applications with their app IDs, names, URLs, methods, default flags, and SIP URIs. Filter by name or paginate to find the ID needed for application or phone number updates.

Instructions

List the voice applications on this Vobiz account: each one's app_id, name, answer/hangup/fallback URLs and methods, default-app flags and SIP URI. Use it to find the app_id for get_application, update_application, update_phone_number (application_id) or create_sip_endpoint; for one known id call get_application instead. Pages hold at most 20 applications (Vobiz limit). Pagination is stateless: pass limit and offset on every call (nothing is saved between calls) and follow pagination.next_offset.

Input Schema

NameRequiredDescriptionDefault
limitNoApplications per page, 1-20 (default 20).
offsetNoNumber of applications to skip (default 0); pass pagination.next_offset from the previous page.
app_nameNoOnly applications whose name contains this text (case as Vobiz matches it). Omit for all.

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`.
countNoApplications in this page.
paginationNoStateless paging: pass next_offset as offset to continue.
applicationsNoApplication objects, newest first as Vobiz orders them.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed4 schema fields changedv1.4.2
    • changedInput schema / properties / app_name / description
      Previous value: -"Filter: name contains"New value: +"Only applications whose name contains this text (case as Vobiz matches it). Omit for all."
    • addedInput schema / properties / limit / description
      Added value: +"Applications per page, 1-20 (default 20)."
    • addedInput schema / properties / offset / description
      Added value: +"Number of applications 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": {
      +    "applications": {
      +      "description": "Application objects, newest first as Vobiz orders them.",
      +      "items": {
      +        "additionalProperties": {},
      +        "properties": {
      +          "answer_method": {
      +            "description": "HTTP method for answer_url: GET or POST.",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "answer_url": {
      +            "description": "URL fetched for VobizXML when a call reaches a number or endpoint linked to this application.",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "app_id": {
      +            "description": "Numeric application ID (string of digits).",
      +            "type": [
      +              "string",
      +              "number",
      +              "null"
      +            ]
      +          },
      +          "app_name": {
      +            "description": "Application name.",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "application_type": {
      +            "description": "Application type, normally XML.",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "created_at": {
      +            "description": "Creation timestamp.",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "default_app": {
      +            "description": "True when this is the account-level default application for new numbers.",
      +            "type": [
      +              "boolean",
      +              "null"
      +            ]
      +          },
      +          "default_endpoint_app": {
      +            "description": "True when new SIP endpoints without an application route here.",
      +            "type": [
      +              "boolean",
      +              "null"
      +            ]
      +          },
      +          "enabled": {
      +            "description": "False when the application is switched off.",
      +            "type": [
      +              "boolean",
      +              "null"
      +            ]
      +          },
      +          "fallback_answer_url": {
      +            "description": "URL used only when answer_url fails; null when none is set.",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "fallback_method": {
      +            "description": "HTTP method for fallback_answer_url.",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "hangup_method": {
      +            "description": "HTTP method for hangup_url.",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "hangup_url": {
      +            "description": "URL notified when the call ends.",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "message_method": {
      +            "description": "HTTP method for message_url.",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "message_url": {
      +            "description": "URL notified for inbound messages; null when none is set.",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "public_uri": {
      +            "description": "True when sip_uri accepts calls from external SIP systems.",
      +            "type": [
      +              "boolean",
      +              "null"
      +            ]
      +          },
      +          "sip_uri": {
      +            "description": "SIP URI that reaches this application directly without a number.",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "sub_account": {
      +            "description": "Sub-account Auth ID that owns the application, or null for the main account.",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          },
      +          "updated_at": {
      +            "description": "Last-change timestamp.",
      +            "type": [
      +              "string",
      +              "null"
      +            ]
      +          }
      +        },
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "count": {
      +      "description": "Applications in this page.",
      +      "type": "number"
      +    },
      +    "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.7/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, so the safety profile is covered. The description adds genuinely non-obvious behavior: a hard 20-item page cap and fully stateless pagination where nothing persists between calls and limit/offset must be resent. It stops short of auth requirements or rate limits, but the pagination contract is the key operational trait.

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?

Three sentences, each load-bearing: what it returns, how to route to it vs get_application, and the paging constraints. The identifying information comes first and no phrase 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 so return values need not be spelled out, yet the description still names key fields; combined with the pagination and routing guidance, an agent has everything needed to call and consume 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 coverage is 100%, so the baseline is 3; the description earns an extra point by explaining the usage contract of limit/offset (send both on every call, chain pagination.next_offset) rather than just naming them. It doesn't detail app_name matching semantics beyond what the schema says, so it is not a full 5.

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 voice applications on the Vobiz account) and even enumerates the fields returned (app_id, name, URLs/methods, default-app flags, SIP URI). It explicitly distinguishes itself from the sibling get_application for the single-id case, so an agent can pick between them without opening either schema.

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?

Gives an explicit when-to-use chain (find the app_id needed by get_application, update_application, update_phone_number, create_sip_endpoint) and an explicit when-not (for one known id, call get_application instead). The routing decision is fully specified rather than left to inference.

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