Skip to main content
Glama

Add a loan

loan_add

Start a loan from the lender's figures: what was owed on a day, the rate, the monthly payment, escrow and the due day. The schedule, payoff date and interest are worked out from these. Take the figures from a lender statement or the loan papers the person hands you, and say which (source). Never fill a rate or a balance in from memory or the market. The loan gets an account in the register under its name ("Chase mortgage ending 7731"). A variable rate is outside this version: record the current rate and say so in the source. Effects: loan recorded from the lender's figures; its account added to the register.

Input Schema

NameRequiredDescriptionDefault
kindYesWhat it is.
nameYesAs the lender prints it, e.g. "Chase mortgage ending 7731".
escrowNoTaxes and insurance collected with each payment, if any. In cents (integer minor units) — 1250 means $12.50.
lenderNoWho holds it.
sourceYesWhere the figures come from: "lender statement, October 2026".
balanceYesWhat was owed on balance_date, from the lender. In cents (integer minor units) — 1250 means $12.50.
due_dayYesDay of the month the payment is due (1 to 31).
paymentYesThe scheduled monthly payment of principal and interest. In cents (integer minor units) — 1250 means $12.50.
rate_bpYesAnnual rate in basis points: 650 means 6.5%.
currencyYesISO 4217 code.
term_monthsNoThe original term in months, if known.
balance_dateYesThe day that balance is for. ISO date, YYYY-MM-DD.
original_principalNoWhat was first borrowed, if known. In cents (integer minor units) — 1250 means $12.50.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4/5.0
Behavior4/5

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

Annotations already mark this as a non-readonly, non-idempotent, non-destructive write, so the description's job is to say what is created. It does: a loan plus a register account named after the lender, with schedule, payoff date and interest derived from the input figures. The remaining gap is duplicate handling given idempotentHint=false — nothing says what happens if the same loan is added twice.

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?

Front-loaded with the core intent and the required-source rule early, and each sentence carries a rule. The final "Effects" line partly restates the earlier "The loan gets an account in the register under its name" sentence, which is the one piece of duplicated content.

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 13-parameter mutation with no output schema, the description covers creation, sourcing rules, side effects and scope exclusions, which is close to enough. What it leaves unstated is duplicate/error behavior and confirmation of what the caller gets back, minor against annotation coverage of the safety profile.

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 100%, so the baseline is 3. The description still adds real value: it explains why rate_bp and balance must be lender-sourced, why source is mandatory, how name should be formatted, and that a variable rate must be recorded as the current rate with a note. That is behavioral semantics the schema's terse field descriptions do not carry.

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?

The description opens with a specific verb and resource ("Start a loan") and enumerates the figures the record is built from, so an agent knows exactly what this tool creates. It does not name any sibling (loan_get, loan_loans, loan_interest, loan_link_payment) to sharpen the boundary between creating a loan and reading or servicing one, which keeps it below a 5.

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?

It states where the figures must come from ("a lender statement or the loan papers the person hands you") and forbids inventing a rate or balance, which is concrete usage guidance. It also carves out a when-not case: variable rate loans are outside this version. It stops short of naming an alternative tool for the excluded case.

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.