Skip to main content
Glama

SetGet

put_key

Destructive

Create or replace UTF-8 text. Existing protection remains; absolute deadlines cannot extend. Preconditions prevent lost updates.

Input Schema

NameRequiredDescriptionDefault
keyYes
valueYes
if_matchNo
ttl_modeNo
ttl_secondsNo
content_typeNotext/plain
if_none_matchNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

B3.4/5.0
Behavior4/5

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

Beyond the annotations (readOnly=false, destructive=true), the description discloses real operational semantics: existing TTL protection is preserved, an absolute deadline will not be extended, and preconditions guard against lost updates. It does not say what happens to an existing value when no precondition is supplied, nor what a precondition failure returns, which is the remaining behavioral gap for an overwriting write.

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?

Three short sentences, front-loaded with the upsert semantics, and each clause carries distinct information. It is efficiently sized, though the terse phrasing ('Existing protection remains') is compressed to the point of ambiguity for a first-time reader.

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 7-parameter mutating tool with no output schema and no per-parameter documentation, the description covers the most consequential facts (replace semantics, TTL rules, preconditions) but leaves overwrite behavior without preconditions, error modes, and most parameter meanings unexplained.

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 0% across 7 parameters, so the description must carry the load. It partly does: it implies the concurrency preconditions (if_match/if_none_match), clarifies that values are UTF-8 text, and explains the absolute-vs-sliding TTL rule that governs ttl_mode/ttl_seconds. It says nothing about the key pattern, content_type, or the special '*' semantic of if_none_match, so several parameters stay opaque.

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 concrete verb pair and resource: 'Create or replace UTF-8 text', which tells an agent exactly what the write does and that it is an upsert rather than a pure create. It never distinguishes itself from the closest siblings create_key and patch_key, so the agent cannot route between them from this text alone.

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

Usage Guidelines2/5

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

There is no explicit when-to-use guidance and no mention of the obvious alternatives (create_key for create-only, patch_key for partial updates). The clause 'Preconditions prevent lost updates' hints that if_match/if_none_match should be supplied under concurrency, but the agent must infer the condition and the parameter it maps to.

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