Skip to main content
Glama

List active Asterisk channels

asterisk_channels
Read-only

List every live PBX channel with caller ID, state, bridge, duration, and dialplan location, plus an optional substring filter to find specific extensions or callers.

Instructions

Every channel currently up on the PBX, with caller ID, state, bridge, duration and the dialplan location it is sitting in. This is the tool for 'what calls are live right now'.

Input Schema

NameRequiredDescriptionDefault
filterNoCase-insensitive substring to match against any field, for example an extension or caller ID.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv0.1.4
    • removedInput schema / additionalProperties
      Removed value: -false
  2. First observedv0.1.1

TDQS

A3.8/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, so safety and external-state dependence are covered. The description usefully adds that results are a live snapshot of channels that are "currently up" and what each row contains, but says nothing about truncation, latency, or whether the read touches the switch in a way that could be slow on large PBXs.

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?

Two short sentences, no redundancy, and the returned-field list comes first with the usage cue last. Every clause carries information an agent can act on.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a no-parameter, read-only list tool with no output schema, the description does the necessary work by naming the returned fields and framing the result as a current snapshot. It stops short of noting whether the list can be very large or how errors from an unreachable PBX surface.

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 the single filter parameter is documented as a case-insensitive substring match against any field. The description never mentions filtering at all, so it adds nothing beyond the schema; baseline 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?

Names a specific resource (live channels on the Asterisk PBX) and enumerates the fields it surfaces (caller ID, state, bridge, duration, dialplan location), which tells an agent exactly what it gets back. It does not explicitly contrast with freeswitch_channels, relying on the platform in the name to separate the two siblings.

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?

The line "This is the tool for 'what calls are live right now'" gives a clear triggering question, which is stronger than most list tools. However it states no exclusions or follow-on routing (e.g. to asterisk_hangup_preview before dropping a call, or to freeswitch_channels for the other platform).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.