Skip to main content
Glama

List birthdays

listBirthdays
Read-only

The birthdays of the people in the address book that fall between from and to, one entry for each date, with their age when the card holds the year of birth. Someone born on 29 February has their birthday on 28 February in other years. One line each with the date, the name, the card id and the age they turn. from and to are ISO 8601 with a zone, at most a year apart, and timezone (an IANA zone, UTC unless you say) decides which days the window covers.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "from": "<from>",
      "to": "<to>"
    },
    "name": "listBirthdays"
  }
}

Input Schema

NameRequiredDescriptionDefault
toYes
fromYes
timezoneNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.5/5.0
Behavior5/5

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

Annotations declare readOnly, non-destructive, and closed-world, and the description goes well beyond them: it discloses result cardinality (one entry per date), the leap-day rule (29 Feb -> 28 Feb in other years), and exactly what each returned line contains. With no output schema, this return-shape disclosure is genuinely valuable.

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?

Purpose and count are front-loaded, then constraints, then return format. Every sentence carries information, though 'UTC unless you say' is slightly informal and the leap-day sentence could be folded in, leaving a small amount of room for tightening.

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

Completeness5/5

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

For a three-parameter read tool with no output schema and zero schema descriptions, the definition covers purpose, all parameter formats/defaults, range limits, edge cases, and the returned fields. Nothing an agent needs to call it correctly is missing.

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

Parameters5/5

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

Schema coverage is 0%, so the description must carry all parameter meaning, and it does: from/to are ISO 8601 with a zone and at most a year apart, and timezone is an IANA zone defaulting to UTC that determines which days the window covers. All three parameters are explained semantically.

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 (list birthdays of people in the address book) plus the exact scope (falling between from and to), which makes it immediately distinguishable from listContacts, listPeople, or getCurrentDate among the siblings.

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?

The description implies usage through its date-window framing and the 'at most a year apart' constraint, but it never says when to prefer this over alternatives such as listContacts with client-side filtering, nor when not to use it. Context is implied rather than stated.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.