Skip to main content
Glama
Takahashi-Kenji

hamlog-mcp

award_progress

Read-onlyIdempotent

Track amateur radio award progress by prefecture, city code, or grid square, showing worked and unworked areas with optional band, mode, date, and QSL filters.

Instructions

アワードの進捗を出す。取得済みと未取得の両方を返す。

prefecture は都府県 47 の取りこぼしが分かるので「次にどこを狙うか」に使える。 jcc と gridsquare は全体の母数が定義できないため、取得済みの一覧と数のみ返す。

Args: kind: prefecture (都府県) / jcc (市郡区コード) / gridsquare (GL 上 4 桁)。 band: バンドで絞る (バンドごとの進捗を見るとき)。 mode: モードで絞る。 date_from: 開始日 YYYY-MM-DD。 date_to: 終了日 YYYY-MM-DD。 qsl_rcvd: True にすると QSL 受領済みの交信のみで判定する。 include_worked_detail: True で取得済みの各項目に交信数と初回/最終日を付ける。

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
bandNo
kindNoprefecture
modeNo
date_toNo
qsl_rcvdNo
date_fromNo
include_worked_detailNo

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 the safety profile is covered. The description adds real behavioral substance: prefecture returns both obtained and un-obtained, jcc/gridsquare return only a worked list plus count, qsl_rcvd narrows judgement to QSL-received contacts, and include_worked_detail attaches counts and first/last dates.

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?

Front-loads the core effect in one line, then progressively layers kind-specific caveats and the argument list. Slightly long and the Args block partly restates schema fields, but every sentence carries information.

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?

No output schema exists, and the description compensates by explaining what each kind returns (obtained/un-obtained vs list+count) and what include_worked_detail adds. Adequate for a 7-parameter read tool; only the concrete response shape per kind is left implicit.

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

Parameters4/5

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

Schema description coverage is 0%, so the description carries the burden and largely meets it: it documents all seven parameters, including the kind enum values (prefecture/jcc/gridsquare), band/mode filters, date range format (YYYY-MM-DD), and the effect of qsl_rcvd and include_worked_detail. Minor gaps remain (e.g. accepted band/mode value forms).

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 (アワードの進捗を出す) and immediately scopes the return to obtained + un-obtained items. It further distinguishes its own behavior per kind (prefecture vs jcc/gridsquare), which lets an agent tell it apart from siblings like qso_stats or search_qso.

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?

Gives concrete usage conditions: prefecture kind reveals the missing 47 so it suits 'where to aim next', while jcc/gridsquare cannot be judged against a defined population and only return a worked list and count. Clear context but no explicit naming of sibling alternatives or when-not-to-use statements.

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