Skip to main content
Glama

Sitemap URL Extractor for AI Agents

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

NameRequiredDescriptionDefault
recordKeyYesKey of the record to retrieve.
keyValueStoreIdYesKey-value store ID, name (resolved against your own key-value stores), or full name as username~name.

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / keyValueStoreId / description
      Previous value: -"Key-value store ID or username~store-name."New value: +"Key-value store ID, name (resolved against your own key-value stores), or full name as username~name."
  2. 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"
      +  }
      +]
  3. First observed

TDQS

A4.6/5.0
Behavior5/5

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

Beyond the readOnly/idempotent annotations, the description discloses that the exact key name is mandatory, that the response preserves the original Content-Encoding with most clients decompressing automatically, and — critically — that the call requires an x402 payment signature in _meta["x402/payment"] and client-side protocol support. These are material behavioral facts no annotation or schema field conveys.

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 purpose, then sectionalized USAGE, examples, and the payment prerequisite. Every line carries information, though the header scaffolding and duplicated phrasing between the purpose line and USAGE line cost a bit of tightness.

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?

With an output schema present, the description need not explain return values and correctly doesn't. It covers the one thing an agent would otherwise trip on — the x402 payment handshake — and the encoding caveat, leaving nothing essential unstated for a two-parameter read.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema already documents both parameters and establishes a baseline of 3. The description adds one genuinely extra constraint — the key must be an exact name, implying no prefix or wildcard matching — which slightly raises it above baseline.

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 bounds the scope with 'a single record, not a listing of all keys.' The read-vs-list distinction lets an agent separate it from any collection-listing tool 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?

An explicit USAGE line plus two concrete examples ('Get record INPUT from store abc123', 'data.json from store username~my-store') show exactly when the tool applies. There is no named negative case or alternative tool to route away to, which keeps it below a 5.

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.