Get value
kv.getRead a small value.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| key | Yes |
kv.getRead a small value.
| Name | Required | Description | Default |
|---|---|---|---|
| key | Yes |
Changes observed during successful MCP inspections.
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so safety is covered, but the description adds almost nothing beyond that. "Small" hints at a value-size constraint without stating a limit, and there is no disclosure of missing-key behavior, error responses, or whether values are strings/binary. For a key-value read, the miss case is the single most important behavior to disclose.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Five words, no padding and front-loaded, so nothing needs cutting. But brevity here is under-specification rather than efficiency: there is room for one or two more sentences carrying real information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so the description bears the burden of explaining what comes back — the value's type, the not-found case, size limits — and it does none of that. Against a 14-tool sibling set with parallel kv.set/kv.delete, this leaves the agent guessing on both input and return semantics.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for the single required parameter `key`, and the description never mentions it or its format (namespace prefix, key length, case sensitivity). The description therefore fails to compensate for the schema gap; only the tool name implies a key-based lookup.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Read a small value" gives a verb (read) and a resource (value), so the basic operation is inferable, but it never mentions the key namespace, lookup semantics, or how it differs from siblings like inbox.poll or kv.set. The word "small" is unexplained and carries no actionable meaning. Vague purpose rather than tautology, but far from distinguishing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool, no prerequisites, and no mention of alternatives such as kv.set or kv.delete. The agent must infer from the name alone that this is the read counterpart to the write tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Add one secure layer between your agents and this server.