Skip to main content
Glama

ringkit_put_routing

Destructive

Step 4: Decide who answers. Set the routing policy: transfer targets (your own team numbers the receptionist can transfer to) and handoff preferences, recording, spend cap. Full replace; omitted fields take defaults. Every call is answered by the AI (mode ai_only): ai_first/human_first are accepted but RingKit's live-rep pool is not offered, so they act as ai_only. Reuse an idempotencyKey when retrying; without one, each call executes again.

Input Schema

NameRequiredDescriptionDefault
modeNo
handoffNo
scheduleNo
businessIdNoDefaults to the business of the API key in the Authorization header.
discloseAiNo
escalateOnNo
recordCallsNo
afterHoursModeNo
idempotencyKeyNoOptional. Retries of the same call should reuse it (the stored result comes back); a new value deliberately repeats an identical call. The MCP POST's Idempotency-Key header takes precedence.
maxHumanOffersNo
transferTargetsNo
dailySpendCapUsdNo
vettedAgentsOnlyNo
humanRingTimeoutSNo
neverHumanIntentsNo
alwaysHumanIntentsNo
requiredAgentSkillsNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.8/5.0
Behavior5/5

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

Beyond the destructiveHint=true annotation, it discloses the crucial semantics: this is a full replace where omitted fields are reset to defaults, and ai_first/human_first silently degrade to ai_only because RingKit's live-rep pool is not offered. It also explains retry behavior around idempotencyKey, consistent with idempotentHint=false. This is exactly the non-obvious behavior an agent needs before overwriting a live routing config.

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?

Front-loaded with the step number and the core action, then the destructive full-replace caveat, then mode degradation, then the idempotency note. It is dense but every sentence carries information; the final sentence is slightly run-on but not wasteful.

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

Completeness3/5

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

For a 17-parameter destructive mutation with no output schema, the description covers the highest-risk semantics (replace behavior, mode degradation, retries) well but leaves most individual parameters opaque and says nothing about what the response or resulting state looks like. Adequate to avoid the worst mistakes, not complete enough to configure the policy confidently.

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

Parameters2/5

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

Schema description coverage is only 12% across 17 parameters, so the description must carry parameter meaning, and it mostly does not. It names groups (transfer targets, handoff, recording, spend cap, mode, idempotencyKey) but leaves schedule, afterHoursMode, escalateOn, humanRingTimeoutS, maxHumanOffers, vettedAgentsOnly, neverHumanIntents/alwaysHumanIntents, requiredAgentSkills and discloseAi completely unexplained by both schema and description.

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?

States a specific verb and resource: 'Set the routing policy', with the constituent areas named (transfer targets, handoff preferences, recording, spend cap). It is clearly the write counterpart to ringkit_get_routing, though it never names that sibling explicitly, so differentiation comes from the name and verb rather than the text.

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?

'Step 4: Decide who answers' frames when in the setup sequence this belongs, and 'Full replace; omitted fields take defaults' is an actionable warning that changes how an agent calls it. What is missing is an explicit instruction to read current policy with ringkit_get_routing first, or any statement about prerequisites from earlier steps.

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