Skip to main content
Glama

Ask the letter

ask_letter
Read-only

Ask FamilyLore a question about one page in the person's account: what a phrase meant then, who someone was, what the letter says about something. The answer comes with the letter's lines it rests on, or says that the letter doesn't say. Use it with a page id from read_letter, my_letters or get_reading, once the page has been read. Questions the reading already answers (who is named, what the translation says) need no call.

Input Schema

NameRequiredDescriptionDefault
page_idYesThe page's id, from read_letter, my_letters or get_reading
questionYesThe question about the letter, in the person's words

Output Schema

NameRequiredDescriptionDefault
linesNoThe letter's lines the answer rests on
answerYesFamilyLore's answer, in the language the page is translated into
contextNoWhat it meant then, when FamilyLore adds it
page_idYes
asked_onNoThe day FamilyLore answered, Pacific time (yyyy-mm-dd)
page_urlYesThe page on familylore.ai
questionYes
allowanceNoPages left, as the Account page counts them
letter_saysYesFalse when the letter doesn't say

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.6/5.0
Behavior5/5

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

Beyond the readOnly and non-destructive annotations, it discloses that the answer is grounded in the letter's lines or explicitly says the letter doesn't say. That grounding and fallback behavior is valuable context for an agent that cannot infer it from annotations alone.

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?

The purpose is front-loaded with concrete examples, followed by prerequisites and an exclusion. It is slightly longer than necessary because it repeats some schema-level detail, but every sentence contributes useful context.

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?

The description covers purpose, prerequisites, question types, grounding behavior, and when not to call. Since an output schema exists, it does not need to explain return values, and nothing an agent needs in order to call this correctly is missing.

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 the schema already documents both page_id and question clearly. The description reinforces the source of page_id and the nature of the question but adds no new syntax or constraints beyond what the schema provides.

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 states a specific verb and resource: ask a question about one page/letter in the person's account. It gives concrete examples of question types and distinguishes this from simply reading the letter, so an agent can tell what it does without opening the schema.

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?

It explicitly says to use a page id from read_letter, my_letters, or get_reading, and to call only once the page has been read. It also states the exclusion: questions already answered by the reading need no call, which gives clear when-not guidance.

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.

Resources