Skip to main content
Glama

kv_list

List shared key-value entries from the hive memory store, optionally filtering by key prefix to find specific stored values.

Instructions

List shared values, optionally filtered by key prefix.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
prefixNo
project_idNoDifferent project override. Use ONLY when the user explicitly asks for another project by name; otherwise stay in the current scope, even when results are empty.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.0

TDQS

B3.3/5.0
Behavior3/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions the prefix filtering behavior and implies read-only via 'List', but does not disclose what is returned (keys, values, or pairs), empty-result behavior, or any safety caveats. It adds the filtering behavior detail but stops short of describing the output contract.

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

Conciseness5/5

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

A single sentence with zero wasted words. The action ('List shared values') is front-loaded and the optional filter is stated immediately after. Every word earns its place.

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 simple two-parameter tool, the description is adequate but leaves gaps: it doesn't clarify what 'shared values' returns (keys, values, or key-value pairs), doesn't state that omitting prefix returns all values, and with no output schema and no annotations, the return format is left to inference. It's sufficient for a simple list operation but not fully complete.

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 50% (project_id has a detailed description; prefix does not). The tool description adds meaning by explaining that prefix filters the list, which compensates for prefix's missing schema description. project_id is already well-covered by the schema, so the description adds nothing there. Overall the description adds marginal value beyond the schema but covers the key prefix semantics.

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?

The description states a clear verb ('List') and a resource ('shared values'), and mentions the prefix-filtering behavior. It distinguishes itself from the sibling kv_get (get a single value) by the list semantics, though it doesn't explicitly name siblings. It's slightly ambiguous whether 'values' means keys, values, or key-value pairs, but the core purpose is clear.

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?

The description offers no guidance on when to use this tool versus alternatives like kv_get or kv_delete. The project_id schema description contains useful usage guidance (use ONLY when user explicitly asks for another project), but that lives in the schema, not the tool description, and the description itself provides no when/when-not direction.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.