Skip to main content
Glama
Yasmine-Works

VoIPSense Maroc MCP Server

Hang up a call

hangup_call
DestructiveIdempotent

Ends all legs of an active call by call ID and fires the call.ended webhook. Use it to terminate calls placed via make_call or received through a webhook.

Instructions

DELETE /v1/calls/{callId} (permission pbx:write). Ends all legs of the call (normal clearing). Fires the call.ended webhook. 404 = unknown or already ended; 409 = no active channel.

Input Schema

NameRequiredDescriptionDefault
callIdYescallId returned by make_call or received via webhook

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.1.0

TDQS

A4.3/5.0
Behavior5/5

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

Goes well beyond the annotations by naming the required permission (pbx:write), disclosing the side effect of firing the call.ended webhook, and mapping error codes (404 = unknown/already ended, 409 = no active channel). These details materially change how an agent handles failures and duplicate calls.

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?

Telegraphic and front-loaded: verb, endpoint, permission, effect, webhook, error semantics — each fragment carries information with no filler.

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 single-parameter destructive call, the description covers permission requirements, blast radius (all legs), observable side effects, and failure modes, which is everything an agent needs given annotations already declare destructiveness and idempotency.

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 coverage is 100% and the single callId parameter is already documented in the schema as coming from make_call or a webhook. The description repeats the path placeholder but adds no syntax or format detail, so the baseline of 3 applies.

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 — ends all legs of a call — plus the underlying HTTP operation (DELETE /v1/calls/{callId}). A reader can distinguish it from make_call and transfer_call without consulting the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

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

Usage is only implied: 'normal clearing' and the absence of any alternative route leave the agent to infer that this is the tool for terminating a call rather than transferring it. It never explicitly contrasts with transfer_call or states a when-not condition.

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