Skip to main content
Glama

SecureLend Underwriting

Prepare credit decision

prepare_decision

Compose a walk, pack score, draft memo, and derived indicative terms for a named approver. Never records a credit decision, never sends, never wires. Returns walk_pending while a file walk is queued or running. Derived terms are returned with termSheetStaged false unless the file already has a sheet. confirmed true persists principalAmount, rateBps, and termMonths from the arguments; missing numbers write nothing. suggestedOutcome is ready_for_approver, refer, or decline — never approve. Compact-10 APPROVED still needs a staged sheet. A person still decides.

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": {
      "caseId": "<caseId>"
    },
    "name": "prepare_decision"
  }
}

Input Schema

NameRequiredDescriptionDefault
eventNoPolicy event; default origination. Same as score_case_against_pack.
caseIdYesCaseSchema.id
rateBpsNoRequired when confirmed is true. Annual interest in basis points. 625 = 6.25%.
confirmedNoTrue only after the named human confirmed the terms. Persist principalAmount, rateBps, and termMonths from these arguments the same way as stage_term_sheet. Unconfirmed prepare never writes a term sheet. Missing numbers → no write.
termMonthsNoRequired when confirmed is true. Same as stage_term_sheet.
principalAmountNoRequired when confirmed is true. Same as stage_term_sheet.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.3/5.0
Behavior5/5

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

Annotations only declare readOnlyHint=false, destructiveHint=false, openWorldHint=false; the description goes well beyond that by disclosing that a conditional write occurs only when confirmed is true, that missing numbers write nothing, that derived terms carry termSheetStaged false unless a sheet already exists, and that a walk_pending status is returned while a walk is queued. It also flags the human-in-the-loop constraint ('A person still decides') and the enum of suggestedOutcome values, capping at refer rather than approve.

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?

It is front-loaded with the outcome first and the safety boundaries second, and no sentence is filler. It is slightly over-compressed, though: telegraphic fragments like 'Never records a credit decision, never sends, never wires' and jargon such as 'Compact-10 APPROVED' assume domain vocabulary an agent may not share, costing a little parseability.

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?

With no output schema, the description does the work of explaining returns: walk_pending status, termSheetStaged flag, and the suggestedOutcome vocabulary are all spelled out, which is exactly what an agent needs. Gaps remain around what a 'walk' or 'pack score' actually returns and what happens on partial failures, but for a six-parameter composite tool this is close to sufficient.

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 carries the per-field definitions including the confirmed-gates-persistence contract and the 'same as stage_term_sheet' pointers. The description restates that contract at a portfolio level ('confirmed true persists principalAmount, rateBps, and termMonths... missing numbers write nothing') but adds no format, range, or default information the schema lacks, and never mentions the 'event' parameter.

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 opening sentence names four concrete outputs (walk, pack score, draft memo, derived indicative terms) and immediately bounds the scope with 'Never records a credit decision, never sends, never wires.' That verb-plus-resource-plus-exclusion framing makes it clearly distinguishable from record_credit_decision, stage_term_sheet, and score_case_against_pack 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?

It states clearly when this tool applies versus the decision-recording sibling ('Never records a credit decision') and gives a workflow condition for the confirmed path ('confirmed true persists...'). What it lacks is explicit forward routing — it never says 'use stage_term_sheet to stage a sheet' or 'use record_credit_decision once the approver signs off', leaving the agent to infer the handoff from sibling names.

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.