Skip to main content
Glama

AI Web Research & Research Brief Agent

Get key-value store record

get-key-value-store-record
Read-onlyIdempotent

Get the value stored under a specific key in a key-value store — a single record, not a listing of all keys. Requires the exact key name. The response preserves the original Content-Encoding; most clients handle decompression automatically.

USAGE:

  • Use when you need to retrieve a specific record (JSON, text, or binary) from a store.

USAGE EXAMPLES:

  • user_input: Get record INPUT from store abc123

  • user_input: Get record data.json from store username~my-store

This tool requires an x402 payment. Include a valid x402 payment signature in the request metadata (_meta["x402/payment"]). Your MCP client must support the x402 payment protocol.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
recordKeyYesKey of the record to retrieve.
keyValueStoreIdYesKey-value store ID or username~store-name.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedOutput schema / anyOf
      Previous value: -[
      -  {
      -    "properties": {
      -      "contentType": {
      -        "description": "MIME type of the stored value",
      -        "type": "string"
      -      },
      -      "key": {
      -        "description": "Record key",
      -        "type": "string"
      -      },
      -      "keyValueStoreId": {
      -        "description": "Key-value store ID",
      -        "type": "string"
      -      },
      -      "summary": {
      -        "description": "Summary of the result",
      -        "type": "string"
      -      },
      -      "value": {
      -        "description": "The stored value (JSON, text, or binary)"
      -      }
      -    },
      -    "required": [
      -      "keyValueStoreId",
      -      "key",
      -      "value",
      -      "summary"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "properties": {
      -      "accepts": {
      -        "items": {
      -          "type": "object"
      -        },
      -        "type": "array"
      -      },
      -      "error": {
      -        "type": "string"
      -      },
      -      "resource": {
      -        "type": "object"
      -      },
      -      "x402Version": {
      -        "type": "number"
      -      }
      -    },
      -    "required": [
      -      "x402Version",
      -      "accepts"
      -    ],
      -    "type": "object"
      -  }
      -]New value: +[
      +  {
      +    "properties": {
      +      "contentType": {
      +        "description": "MIME type of the stored value",
      +        "type": "string"
      +      },
      +      "key": {
      +        "description": "Record key",
      +        "type": "string"
      +      },
      +      "keyValueStoreId": {
      +        "description": "Key-value store ID",
      +        "type": "string"
      +      },
      +      "summary": {
      +        "description": "Summary of the result",
      +        "type": "string"
      +      },
      +      "value": {
      +        "anyOf": [
      +          {
      +            "type": "object"
      +          },
      +          {
      +            "type": "array"
      +          },
      +          {
      +            "type": "string"
      +          },
      +          {
      +            "type": "number"
      +          },
      +          {
      +            "type": "boolean"
      +          },
      +          {
      +            "type": "null"
      +          }
      +        ],
      +        "description": "The stored value (JSON, text, or binary)"
      +      }
      +    },
      +    "required": [
      +      "keyValueStoreId",
      +      "key",
      +      "value",
      +      "summary"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "properties": {
      +      "accepts": {
      +        "items": {
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "error": {
      +        "type": "string"
      +      },
      +      "resource": {
      +        "type": "object"
      +      },
      +      "x402Version": {
      +        "type": "number"
      +      }
      +    },
      +    "required": [
      +      "x402Version",
      +      "accepts"
      +    ],
      +    "type": "object"
      +  }
      +]
  2. First observed

TDQS

A4.4/5.0
Behavior5/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive, closed-world), so the description is free to add what they cannot: the x402 payment requirement including the exact metadata location (_meta["x402/payment"]), the client capability needed, and the Content-Encoding/decompression behavior of the response. These are material operational facts an agent would otherwise discover only by failing.

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 core operation and scoping constraint, then USAGE and payment details in logical order. The usage examples are somewhat verbose and partly restate the store-ID format already in the schema, but nothing is confusingly placed.

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?

An output schema exists, so return values need no prose. Combined with full annotation coverage and 100% parameter documentation, the description supplies the two things structured fields cannot: the payment protocol requirement and the decompression caveat.

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 100%, so both parameters are fully documented in the schema, making 3 the baseline. The description adds only marginal meaning beyond that — "requires the exact key name" and the record-type hint (JSON, text, or binary) — while store ID format is already in the 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?

States a specific verb and resource ("Get the value stored under a specific key in a key-value store") and immediately scopes it against the obvious confusion point: "a single record, not a listing of all keys." An agent knows exactly what operation this performs without opening the schema.

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?

"Use when you need to retrieve a specific record (JSON, text, or binary) from a store" gives clear context, reinforced by two concrete usage examples. However, no alternative tool or negative condition is named (e.g., when to list keys instead), so it stops short of the 5 bar.

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.