Skip to main content
Glama

Lend or borrow a thing

lend_item

Records household items lent to someone or borrowed from others, with optional due dates, so you can track who has what. Use an item ID from search_inventory before logging the loan.

Instructions

Records that one of the household's items was lent to someone (direction "lent") or that something was borrowed from them ("borrowed"), optionally with a due-back date. Use it when the person says "I lent the drill to Sam"; get the item's id from search_inventory first. An item can have one open loan at a time; loan_returned closes it. Reminder emails to borrowers are set up in the app. Returns the loan with its id (for loan_returned) and due date.

Input Schema

NameRequiredDescriptionDefault
noteNoAnything worth remembering about the loan
dueOnNoWhen it's due back, yyyy-mm-dd
sinceNoWhen it went (or came), yyyy-mm-dd; today if left out
itemIdYesThe item's id, from search_inventory
personYesWho has it (lent) or whose it is (borrowed)
directionYeslent: the household's thing is with someone else; borrowed: someone else's thing is here

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed6 schema fields changedv0.1.1
    • addedInput schema / properties / direction / description
      Added value: +"lent: the household's thing is with someone else; borrowed: someone else's thing is here"
    • addedInput schema / properties / dueOn / description
      Added value: +"When it's due back, yyyy-mm-dd"
    • addedInput schema / properties / itemId / description
      Added value: +"The item's id, from search_inventory"
    • addedInput schema / properties / note / description
      Added value: +"Anything worth remembering about the loan"
    • addedInput schema / properties / person / description
      Added value: +"Who has it (lent) or whose it is (borrowed)"
    • addedInput schema / properties / since / description
      Added value: +"When it went (or came), yyyy-mm-dd; today if left out"
  2. 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 only declare write/non-destructive/non-open-world; the description adds real context: the single-open-loan invariant, the fact that reminder emails are configured in the app rather than by this call, and an outline of the returned object. It stops short of saying what happens if a loan is already open or any authorization requirements.

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 comes first, then the trigger example, then the state constraint and follow-up tool, with no wasted framing. The trailing sentence about the return value is slightly garbled ("its id (for loan_returned)") and costs a point of clarity.

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 6-parameter mutation tool with no output schema, the description covers trigger, prerequisite, invariant, and a sketch of the return value. The return-object phrasing is ambiguous and error conditions are unstated, but nothing fatal 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 coverage is 100% and the schema already documents every field including the direction enum and date formats, so the description adds little beyond repeating the itemId provenance. Baseline 3 applies.

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 (records a loan) plus the two directional resources (lent vs borrowed) and defines each direction inline, so an agent can distinguish it from siblings like list_loans or item_history 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 gives an explicit trigger phrase ("I lent the drill to Sam"), a prerequisite workflow step (get the item's id from search_inventory first), a state constraint (one open loan at a time), and names loan_returned as the tool that closes the loan. This is close to a complete when/when-not map.

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