Skip to main content
Glama

Rinkel MCP by usefulapi

Start an outgoing call

rinkel_start_call
Destructive

WRITE, COSTS CALL MINUTES: starts a real phone call. Rinkel rings the given user device first and, once it is answered, dials to using the chosen Rinkel number as caller id, so call charges apply to the account and the person called sees the number. Needs confirm=true, set only after the user explicitly asked to place this call. Get device_id from rinkel_list_users (fixed/device info or deviceId) and number_id from rinkel_list_numbers. Rinkel API: POST /dial.

Input Schema

NameRequiredDescriptionDefault
toYesThe number to call, in E.164 format (+31612345678).
confirmNoMust be true, set only after the user explicitly approved this exact action.
anonymousNoHide the caller id (default false).
device_idYesThe id of the user device that starts the call (`deviceId` of a user).
number_idYesThe id of the Rinkel number used as caller id (rinkel_list_numbers).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false, destructiveHint=true and non-idempotent, so the write/destructive profile is covered structurally. The description's added value is the cost model (call minutes charged to the account), the ringing sequence, and caller-id visibility to the callee — genuinely useful context beyond annotations. It stops short of describing failure modes (busy, unverified device) or what the response contains, keeping this at a solid but not exceptional 3.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The critical warning 'WRITE, COSTS CALL MINUTES' is front-loaded in caps, followed by behavior, preconditions, and sourcing guidance in a logical order. The middle sentence is a long run-on that packs several facts, slightly hurting scannability, but nothing is wasted.

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 destructive, cost-incurring mutation with no output schema, the description covers preconditions, side effects, id sourcing, and the underlying API call. The main omission is the return shape (e.g., call id or status), which would help the agent chain into rinkel_get_call.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline would be 3, but the description adds real meaning on top: it explains the origin endpoint for device_id and number_id and repeats the gating semantics of confirm in prose. The two-stage ring-then-dial behavior also clarifies what device_id actually controls (which endpoint rings first).

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?

Opens with a specific verb+resource ('starts a real phone call') and precisely describes the two-stage dialing model: Rinkel rings the user's device first, then dials `to` with the chosen number as caller id. This is unmistakable against all read-only siblings like rinkel_list_calls or rinkel_get_call.

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 states the precondition (confirm=true, set only after the user explicitly asked to place this call) and tells the agent exactly where to source the two id parameters (device_id from rinkel_list_users, number_id from rinkel_list_numbers). It also flags the cost consequence so the agent can decide whether to invoke at all.

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.