Skip to main content
Glama

WritersLogic agent-infra

idempotency-fingerprint

Derive a stable idempotency fingerprint from declared identity fields and flag volatile fields — Hashes the fields you declare as the identity of an operation (JSON Pointers into each request) with RFC 8785 canonical JSON and SHA-256, so retries of the same operation get the same fingerprint regardless of key order, and flags the ways that breaks: an identity field missing, an identity field also declared volatile, identity values that look like timestamps, epoch times or UUIDs (heuristic), a

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "requests": "<requests>",
      "identity": "<identity>"
    },
    "name": "idempotency-fingerprint"
  }
}

Input Schema

NameRequiredDescriptionDefault
scopeNoMixed into the hash (for example operation name and tenant) so equal bodies in different scopes get different fingerprints.
identityYesJSON Pointers whose values define the operation's identity.
requestsYes
volatileNoJSON Pointers declared to change per attempt (timestamps, nonces, request ids).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.5/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does substantial work: it discloses the canonicalization standard, the hash function, the determinism guarantee (key order irrelevant), and enumerates the failure modes it flags (missing identity field, identity also declared volatile, timestamp/epoch/UUID-looking values via heuristic). It stops short of describing the response shape or whether warnings are blocking errors.

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

Conciseness3/5

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

The purpose is front-loaded before the em-dash, which is good, but the second half is one long run-on sentence and the text cuts off mid-word ('a'), leaving an incomplete enumeration. It is dense rather than wasteful, but the truncation and unbroken sentence hurt structure.

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?

No output schema exists, so the description must convey the return value; it hints at a fingerprint plus a set of flags but the flag list is truncated and the response shape is never stated. For a four-parameter, non-trivial hashing tool with no annotations, that leaves a meaningful gap for an agent interpreting results.

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 coverage is 75%, so most parameters are already documented, including scope's mixing into the hash and identity/volatile pointer semantics. The description reinforces the identity-vs-volatile relationship and the per-request JSON Pointer concept, but adds little beyond what the schema already states and says nothing about the truncated 'requests' item structure.

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 first clause names a specific verb and resource — derive a stable idempotency fingerprint from declared identity fields and flag volatile fields — and the follow-up names the mechanism (RFC 8785 canonical JSON + SHA-256). An agent can tell this is a hashing/validation utility rather than the registry sibling, though it never explicitly contrasts itself with idempotency-registry.

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

Usage Guidelines3/5

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

Usage is implied through the retry scenario: the description says retries of the same operation should yield the same fingerprint, and the schema calls requests 'several attempts of the same intended operation'. But there is no explicit when-to-use vs when-not guidance, no mention of when to reach for idempotency-registry instead, and no prerequisites stated.

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