Skip to main content
Glama
ianderso
by ianderso

event_span

Read-only

Calculate the elapsed time or age between two events, such as age at marriage or years between a census and a death, to avoid manual date arithmetic errors.

Instructions

Measure the elapsed time between two events.

The arithmetic behind most plausibility checks: age at marriage, years between a census and a death, how long a widow waited. Doing this by hand from two formatted date strings is where transcription errors hide.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
as_ageNoPhrase the result as an age rather than an interval.
event1YesHandle or gramps_id of the first event.
event2YesHandle or gramps_id of the second event.
precisionNoHow many units to include (years, months, days).

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?

Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description adds that the result is derived arithmetic over formatted dates and that manual computation invites transcription errors, which frames it as a deterministic calculation, but says nothing about error handling for unparseable or imprecise 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?

Three short sentences, front-loaded with the operation and followed by rationale; nothing is redundant. The third sentence is motivation rather than specification, so it is close to but not quite maximally economical.

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?

With no output schema, the description should describe the returned value, especially how as_age and precision shape it (interval vs. age, units included). That gap leaves an agent unsure what it will actually receive, though the core operation is fully described.

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 100%, so as_age, precision, and the event handles are already documented in the schema; baseline 3 applies. The description actually refers to 'two formatted date strings' while the parameters are event handles or gramps_ids, a mild imprecision it never resolves.

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 and resource: 'Measure the elapsed time between two events,' which is unambiguous about what the tool computes. It does not, however, distinguish itself from timeline-flavored siblings like consolidated_timeline or get_timeline, so an agent must infer the boundary itself.

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 second sentence gives concrete usage contexts ('age at marriage, years between a census and a death') that tell an agent when this tool is the right choice. There is no explicit when-not guidance or named alternative, keeping it short of the top band.

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