Skip to main content
Glama

Attach Phone Number

attach_number
DestructiveIdempotent

Assign a phone number already in the KaiCalls registry pool to a business (and optionally route it directly to an agent). Does NOT purchase a new number — use search_available_numbers + buy_number for that. Mirrors POST /api/v1/phone-numbers.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
agent_idNoAgent ID to route this number to directly (optional).
business_idNoBusiness ID (optional only when the token can access exactly one business).
phone_numberYesE.164 phone number already in the registry.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
errorNoPresent when success is false
numberNo
successYesWhether the tool completed successfully
business_idNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.2/5.0
Behavior3/5

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

The description adds context about what the operation does (assigns existing number, optional routing) and mirrors the POST endpoint, but it doesn't explain the destructive implications indicated by destructiveHint=true. Annotations already carry some safety signals, but the description could say more about what changes or gets detached/replaced.

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 short sentences: the main action, the key non-goal with alternatives, and the API mapping. No filler and every sentence contributes.

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 3-parameter mutation with an output schema, the description provides the key disambiguation from buy_number, states the registry requirement, and mirrors the API endpoint. It is sufficient for an agent to correctly select and invoke this tool, though a bit more detail on side effects would make it fully complete.

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%, so the schema already explains each parameter. The description reinforces that phone_number must already be in the registry pool, which adds a small amount of usage context over the schema but is mostly redundant with parameter descriptions.

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?

Description clearly states the tool's action: assigning an already-owned pool number to a business and optionally routing to an agent. It also differentiates from buy_number by saying it does NOT purchase a new number, distinguishing it from the closest sibling.

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 says when not to use it and points to alternatives: 'Does NOT purchase a new number — use search_available_numbers + buy_number for that.' This gives an agent clear routing between the related tools.

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.