Skip to main content
Glama

Update phone.systems™ Voice IN Trunk

update_phone_systems_trunk
Destructive

Update one of the authenticated customer's phone.systems™ (PBX) Voice IN Trunks. Pass the trunk id and ONLY the fields to change — everything this tool can set is in the schema, and an omitted field keeps its current value. For SIP trunks use update_sip_trunk; for PSTN trunks use update_pstn_trunk. Returns the updated trunk attributes or a readable error.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
idYesUUID of the phone.systems™ Voice IN Trunk to update.
popNoDIDWW Point of Presence the trunk is served from. Null unpins the trunk and lets DIDWW pick.
nameNoNew friendly name of the Voice IN Trunk.
weightNoLoad-balancing weight among trunk-group members of the same priority; higher is preferred (default 65535).
priorityNoPriority of this trunk; DIDWW contacts the lowest-numbered priority first. Range 0-65535.
cli_formatNoFormat of the caller ID sent to the customer equipment (default e164).
cli_prefixNoPrefix prepended to the caller ID. Letters, digits, "+" and "#" only, up to 7 characters. Null removes the prefix.
cnam_lookupNoEnable (true) or disable (false) CNAM lookup on the trunk.
descriptionNoDescription of the Voice IN Trunk. Null clears it.
capacity_limitNoMaximum number of simultaneous calls for the Voice IN Trunk. Null lifts the limit.
trunk_group_idNoVoice IN Trunk Group UUID to assign the trunk to (or null to detach).
ringing_timeoutNoSeconds to wait for a 200 OK after a 18x ringing response before ending the routing attempt with the "Ringing timeout" disconnect code. Null restores the platform default.

Schema Changelog

Changes observed during successful MCP inspections.

No schema history has been recorded yet.

TDQS

A4.7/5.0
Behavior4/5

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

With annotations covering the safety profile (destructiveHint=true, idempotentHint=false), the description adds genuinely useful behavioral context: it is a partial/merge update where omitted fields keep their current value, and it returns updated trunk attributes or a readable error. It does not, however, flag which specific changes are destructive or require elevated permissions, so it stops short of a 5.

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 tightly written sentences: identity/scope first, calling convention second, sibling routing third, return behavior last. Zero filler and each sentence carries distinct information.

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?

For a 12-parameter mutation tool with no output schema, it covers the essentials: what it mutates, partial-update semantics, sibling routing, and the return shape. Annotations carry the safety profile, so nothing an agent needs to call it correctly is missing.

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, but the description earns extra credit by explaining the merge semantics that govern every parameter — only supplied fields change, omitted fields are preserved. That is real meaning beyond the per-field schema text, though it does not explain the null-vs-omit distinction in its own words.

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 (Update), a precise resource (phone.systems Voice IN Trunks), and scopes it to the authenticated customer. It explicitly differentiates itself from update_sip_trunk and update_pstn_trunk, so an agent can distinguish it from the nearest siblings 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 Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives explicit routing rules: SIP trunks go to update_sip_trunk, PSTN trunks to update_pstn_trunk, and this tool is for phone.systems Voice IN trunks. It also states the calling convention (pass id, pass only fields to change), leaving nothing to inference.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources