Skip to main content
Glama

IA-QA — 152 QA & Dev Tools for AI Agents

generate_hmac

Read-onlyIdempotent

Compute an HMAC signature for a message using a secret key. Supports SHA-256 (default), SHA-512, SHA-1, and MD5. Used for API request signing, webhook verification (GitHub, Stripe, Twilio), and JWT validation.

Input Schema

NameRequiredDescriptionDefault
secretYesSecret key
messageYesMessage to sign
encodingNoOutput encoding (default: hex)
algorithmNoHash algorithm: sha256 (default), sha512, sha1, md5

Output Schema

NameRequiredDescriptionDefault
hmacNo
encodingNo
algorithmNo
message_lengthNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedInput schema / examples
      Added value: +[
      +  {
      +    "algorithm": "sha256",
      +    "message": "msg",
      +    "secret": "k"
      +  }
      +]
  2. Changed1 schema field changed
    • addedOutput schema / properties
      Added value: +{
      +  "algorithm": {},
      +  "encoding": {},
      +  "hmac": {},
      +  "message_length": {
      +    "type": "number"
      +  }
      +}
  3. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "additionalProperties": true,
      +  "type": "object"
      +}
  4. First observed

TDQS

A3.7/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is fully covered by structured data. The description adds that the operation is keyed and lists supported algorithms with SHA-256 as default, but says nothing about determinism guarantees, output format, or how invalid algorithms are handled — modest added value given the annotation coverage.

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?

Three short sentences: the core action first, then supported algorithms with the default, then concrete use cases. Every sentence carries distinct information and nothing is repeated for padding.

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?

For a pure deterministic computation with full annotation coverage, 100% schema coverage, an examples block, and a declared output schema, the description supplies everything an agent needs: what it computes, the algorithm options, and the realistic use cases. Return-value details are correctly left to the output schema.

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% and the schema already documents secret, message, encoding (hex default), and algorithm with its defaults and options. The description restates the algorithm list and default without adding format, length, or constraint guidance, so the baseline 3 is appropriate.

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?

States a specific verb and resource — 'Compute an HMAC signature for a message using a secret key' — which distinguishes it from plain hashing siblings like hash_text by making the secret-key requirement explicit. It does not name any sibling tool directly, so differentiation relies on the reader inferring the keyed-vs-unkeyed distinction.

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?

The description lists scenarios (API request signing, webhook verification for GitHub/Stripe/Twilio, JWT validation), which implies when the tool is appropriate. However, it never states when NOT to use it or points to alternatives such as hash_text for unkeyed digests or decode_jwt for JWT inspection, leaving the routing decision to inference.

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.