Skip to main content
Glama
Takahashi-Kenji

hamlog-mcp

check_hdb_layout

Read-onlyIdempotent

Isolate HDB import failures by verifying struct sizes and testing synthetic record reads, no DLL or HDB required.

Instructions

HDB 読み込み経路の自己診断。DLL や HDB が無くても実行できる。

構造体サイズの検証と、合成レコードでの読み出しテストを行う。 32 ビット Python が指定されていればそちらで実行し、経路全体を確認する。 import_from_hdb が失敗するとき、まずこれを呼んで切り分けること。

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
py32_pathNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/non-destructive, so safety is covered; the description adds genuinely non-obvious behavior: it works without the DLL or HDB file present, and it will delegate to a 32-bit Python interpreter when one is supplied. It stops short of describing what the diagnostic reports or exit/failure signaling, so it is not fully complete.

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?

Four short sentences, front-loaded with the purpose, then the mechanics, then the routing rule. No filler, though the 'runs under 32-bit Python' detail is slightly redundant with the parameter name.

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

Completeness4/5

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

For a read-only diagnostic with no output schema, the description covers purpose, preconditions, the 32-bit path option, and the escalation trigger from import_from_hdb. The one gap is that an agent cannot tell what a successful vs failed diagnostic returns, which matters for a troubleshooting tool.

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 0%, so the burden is on the description. It does explain the behavioural effect of supplying 32-bit Python (execution switches to that interpreter to exercise the whole path), but it never states the expected value format (a path to a Python executable) or what happens with a bad value.

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?

States a specific verb and resource: a self-diagnostic of the HDB read path, with the concrete checks it performs (struct size validation, synthetic-record read test). It also names the failure scenario that selects it, which separates it from siblings like import_from_hdb and db_info.

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

Usage Guidelines5/5

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

Explicitly routes the agent: 'when import_from_hdb fails, call this first to isolate the problem.' That is a concrete when-to-use condition tied to a named alternative, plus the precondition that it runs even without DLL or HDB present.

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