Skip to main content
Glama
Anselmoo

io.github.Anselmoo/mcp-ooxml-ledger

by Anselmoo

Canonical digest

digest
Read-onlyIdempotent

Compute a canonical digest for an Office document that remains stable across no-op saves, providing the key used to store receipts without requiring a session.

Instructions

Compute a document's canonical digest — stable across a no-op Office save, and the key a receipt is stored under. Needs no session.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
documentYes
include_partsNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
kindYes
nameYes
canonYes
partsNo
digestYes
documentYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint and idempotentHint. The description adds behavioral specifics beyond those: output is stable across no-op saves, the digest is used as a receipt key, and no session is needed. This enriches the agent's understanding without contradicting annotations.

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?

The description is two sentences with no filler. It front-loads the core action, then packs stability semantics, receipt-key role, and session independence into tightly written clauses. Every word earns its place.

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?

The description covers purpose, stability, and session-free usage; annotations cover safety and idempotence; an output schema exists for return values. However, the include_parts parameter is left unexplained, leaving a real gap in the information needed to invoke the tool correctly in all cases.

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. It never clarifies what the 'document' parameter expects (e.g., document ID vs. content) and says nothing about 'include_parts', which remains completely unexplained in both schema and description. This is a meaningful gap for correct invocation.

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 opens with a specific verb and resource: 'Compute a document's canonical digest.' It clearly distinguishes the tool from siblings by explaining the digest is stable across no-op Office saves and serves as the key a receipt is stored under, which sets it apart from document editing, search, and export tools.

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?

The description gives clear usage context: use this tool to get a session-free, stable digest for a document, especially when it will be used as a receipt key. It does not explicitly name alternative tools or exclusions, but the stability and session-free notes make when-to-use reasonably explicit.

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