Skip to main content
Glama

blkcalc

Map a blkls stream byte offset from a sleuthkit-mode grep_unallocated hit to the real file-system block, so you can trace unallocated-space evidence back to its source on a disk image.

Instructions

Map a blkls stream byte offset (from a sleuthkit-mode grep_unallocated hit) to the real file-system block.

Input Schema

NameRequiredDescriptionDefault
partNo
imageYes
blkls_offsetYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. It doesn't state that this is a non-mutating lookup, what the return value looks like (a block number? an address?), or any constraints. For a zero-annotation tool this is a significant gap.

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?

A single, front-loaded sentence with no filler; the core mapping is stated immediately. It is efficient, though its brevity is part of why the transparency and parameter gaps remain.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema and no annotations, the description should explain the return value and the meaning of image/part. It omits all of this, so an agent cannot fully predict what calling it produces or how to select a partition.

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%, so the description must compensate for all three params. It only implicitly clarifies blkls_offset; 'image' and 'part' (partition selection) are entirely unexplained in both schema and description, leaving half the interface undocumented.

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 ('Map') and resource ('blkls stream byte offset ... to the real file-system block'), which is far more precise than the bare name 'blkcalc'. It also anchors itself by naming the sibling grep_unallocated as the offset source, helping distinguish it. The remaining gap is that jargon like 'blkls' and 'real file-system block' is not unpacked.

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?

Implies when to use it by specifying the offset comes 'from a sleuthkit-mode grep_unallocated hit', which is useful context. However, it never states exclusions or names alternatives (e.g., block_read) for directly reading a block, so the agent must infer the boundary.

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