Skip to main content
Glama

hash_evidence_file

Compute MD5 and SHA-256 hashes for files or raw disk images in read-only mode, optionally verify an expected hash, and return six-field provenance for forensic evidence.

Instructions

Compute and optionally verify MD5 and SHA-256 hashes of a file or raw disk image in strict read-only mode, returning mandatory 6-field provenance.

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": {
      "file_path": "<file_path>",
      "case_id": "<case_id>",
      "source_id": "<source_id>"
    },
    "name": "hash_evidence_file"
  }
}

Input Schema

NameRequiredDescriptionDefault
case_idYes
file_pathYes
source_idYes
expected_hashNo

Output Schema

NameRequiredDescriptionDefault
md5Yes
sha256Yes
verifiedNo
provenanceYes
size_bytesYes
expected_hashNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.6/5.0
Behavior3/5

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

With no annotations, the description carries the full burden, and it does disclose the most important safety trait: 'strict read-only mode', plus the guarantee of mandatory provenance. It says nothing about error behavior (missing path, unreadable raw image), permission requirements, or the cost of hashing a multi-gigabyte disk image, which matters for an I/O-heavy operation.

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 dense sentence with the operation, algorithms, input scope, safety mode, and output guarantee front-loaded. No filler and nothing repeated from structured fields.

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?

An output schema exists, so the '6-field provenance' need not be enumerated, and that is correctly left implicit. However, for an evidence-handling tool with zero annotation coverage and undocumented parameters, the description should say what case_id/source_id are for and what format expected_hash takes.

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

Parameters2/5

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

Schema description coverage is 0% across four parameters, so the description must compensate and largely does not. 'Optionally verify' gestures at expected_hash but never names its format (hex, case, algorithm-prefixed), and case_id and source_id — the chain-of-custody identifiers — are never mentioned at all.

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?

The description gives a precise verb pair ('compute and optionally verify'), the exact algorithms (MD5 and SHA-256), and the accepted input types (file or raw disk image). No siblings exist, so no differentiation is required, and an agent can tell from this sentence alone what the tool produces.

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?

'Optionally verify' implies the verification path is taken when a hash is supplied, but the description never states that condition explicitly, nor does it name any alternative tool or when-not-to-use case. Usage is inferable rather than stated.

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

Deploy Server

Other Tools