Skip to main content
Glama

Facts and how they changed

brain_facts
Read-onlyIdempotent

Retrieve recorded facts with their validity periods, so you can see what is true now, at another time, or across full history.

Instructions

Facts recorded with brain_remember and when each was true. By default, the facts true now. as_of returns the facts true at another time (a bare date means the end of that day); history lists every version, oldest first, with what replaced it or when it expired; subject narrows to one thing, e.g. a project; query filters by words. The ids are the ones brain_remember's replaces takes.

Input Schema

NameRequiredDescriptionDefault
as_ofNoYYYY-MM-DD or YYYY-MM-DD HH:MM (UTC). Default: now.
limitNo
queryNoWords the fact should mention
historyNoEvery version, including replaced, expired and not-yet-valid facts
subjectNoOnly facts recorded with this subject, e.g. 'JobMail'
categoryNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.5.2

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent, so the bar is lower; the description still adds non-obvious behavior: default is current truth, a bare date resolves to end-of-day, history is ordered oldest-first and includes replacements/expiry. It omits pagination/limit behavior and result shape, keeping it at 4.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One dense paragraph, front-loaded with the default behavior, then each mode in the order an agent would consider them. Every clause carries information; no filler.

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, no-required-param list tool with no output schema, the description covers the query modes and the id linkage to brain_remember's `replaces`, which is the crucial cross-tool detail. Only the `category` enum and limit semantics are left unreconciled.

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 coverage is 67%, and the description adds real semantics the schema lacks (e.g. a bare date means end of that day, history includes not-yet-valid versions). However, `limit` and especially the `category` enum are never explained in the description, leaving a gap.

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 resource (facts recorded via brain_remember) plus the temporal dimension (when each was true), and names the sibling that creates them. An agent can distinguish this from brain_search/brain_read without opening any schema.

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?

Explicitly explains the default mode (facts true now) and the condition that selects each alternative mode: as_of for point-in-time, history for all versions, subject for narrowing, query for keyword filtering. It stops short of naming a sibling alternative (e.g. when to prefer brain_search over this), so 4 rather than 5.

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