Skip to main content
Glama

Replace a key with its twin (same kind, mode, scopes, label).

rotate_key

Replace a key with its twin (same kind, mode, scopes, label). The old key keeps working until replaced.expires_at so a deploy can swap values without a gap. Needs the keys scope even to rotate itself — rotate a scoped key with a full key or from the dashboard. A key is rotated once: rotating it again is a 409 key_already_rotated, and during its grace the old key cannot mint, rotate, revoke or read deliveries (403 key_rotated). A test key cannot rotate a live key (403 mode_mismatch). Scope: keys.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
idNoWhich key. Default: the key making this call.
grace_hoursNo0 revokes the old key immediately.

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. First observed

TDQS

A4.6/5.0
Behavior5/5

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

Beyond the minimal annotations, the description discloses critical non-obvious behavior: the old key stays valid until replaced.expires_at, rotating twice returns 409 key_already_rotated, and during grace the old key is blocked from mint, rotate, revoke, and read deliveries. These are exactly the behavioral consequences an agent needs to anticipate.

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 description is information-dense and each sentence serves a purpose, but the scope requirement is stated twice ('Needs the `keys` scope even to rotate itself' and 'Scope: keys.'). This minor redundancy prevents a perfect score.

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 mutation with two optional parameters, no output schema, and no safety-oriented annotations, the description covers the tool's lifecycle, error states, scope prerequisites, and operational restrictions. An agent has everything needed to invoke it correctly without further lookup.

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?

With 100% schema description coverage, the baseline is 3, and the description does not add new parameter-level meaning beyond the schema. It adds helpful conceptual context about the grace period, but id and grace_hours are already fully documented in the input schema.

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?

The description opens with a specific verb and resource: 'Replace a key with its twin', and defines the exact shape of the replacement (same kind, mode, scopes, label). This clearly differentiates the tool from siblings like revoke_key (revoke vs. replace) and create_key (create vs. rotate).

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?

It explicitly states when to use the tool (zero-gap deploy key swap), prerequisites ('Needs the `keys` scope even to rotate itself'), exclusions (only once; test key cannot rotate live key), and an alternative path ('rotate a scoped key with a full key or from the dashboard'). This gives an agent clear routing.

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.

TDQS

A3.5/5.0
Disambiguation5/5

Each tool targets a distinct action or resource: job lifecycle, upload steps, quote variants, key management, and webhook replay are clearly separated. Even the three pricing tools are differentiated by context (pre-job ballpark, direct quote, date-window pricing).

Naming Consistency4/5

Almost all tools follow a verb_noun snake_case pattern (create_job, list_jobs, set_contact, rotate_key). Minor deviations like ballpark_estimate (no verb) and get_cube_sheet_csv (format suffix) keep it from being perfectly consistent.

Tool Count2/5

32 tools is a large surface for a survey tool, crossing the 25+ threshold. Many key-management and webhook-delivery tools feel like a separate API admin surface rather than core survey workflow.

Completeness4/5

The core survey flow is well covered: create job, capture contact/access/date, upload video, edit inventory, approve, book, and report outcome. Minor gaps like no cancel/delete job or webhook subscription management are workarounds.

Resources