Skip to main content
Glama

Agent Financial Advisor

Tax lot selection and wash-sale check

tax_lot_plan

Act as the tax advisor for a sale: compares FIFO, LIFO, HIFO and minimum-tax lot selection, splits short- and long-term gains, estimates tax, flags wash sales, and notes lots about to turn long-term. With mode=harvest it scans positions for tax-loss harvesting. Price: $0.02.

Input Schema

NameRequiredDescriptionDefault
lotsYes
modeNosell
sellNomode=sell
as_ofNomode=harvest: date, default today
pricesNomode=harvest: {SYMBOL: current price}
symbolNo
tax_ratesNo
min_harvest_lossNomode=harvest: ignore losses smaller than this (USD), default 100.
recent_transactionsNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedInput schema / examples
      Added value: +[
      +  {
      +    "lots": [
      +      {
      +        "acquired_date": "2024-01-10",
      +        "cost_basis_per_share": 200,
      +        "lot_id": "a",
      +        "quantity": 10
      +      },
      +      {
      +        "acquired_date": "2026-09-01",
      +        "cost_basis_per_share": 450,
      +        "lot_id": "b",
      +        "quantity": 10
      +      }
      +    ],
      +    "sell": {
      +      "date": "2026-10-12",
      +      "price": 420,
      +      "quantity": 10
      +    },
      +    "symbol": "MSFT"
      +  }
      +]
  2. First observed

TDQS

A3.6/5.0
Behavior3/5

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

With no annotations, the description carries full burden. It does add real value: it enumerates what the tool computes (gain splits, tax estimates, wash-sale flags, lots about to turn long-term) and discloses pricing ($0.02). It never states that this is a pure advisory/computation tool with no execution side effects, which matters because the phrasing 'for a sale' could lead an agent to believe it places one.

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 core capability and the harvest variant are front-loaded, and the $0.02 cost note is short and last. The middle sentence is a long comma-separated list, but each item is a distinct output an agent would want, so little waste.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 9-parameter, nested-object tool with no annotations and no output schema, the description covers the analytical scope well but leaves the return shape implicit and does not clarify that supplying lots/sell is required for the sell mode. An agent could call it but would be guessing about the response.

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 only 44% across 9 parameters, so the description must compensate. It partly does — 'mode=harvest' maps to mode/as_of/prices, 'estimates tax' maps to tax_rates, 'flags wash sales' hints at recent_transactions — but the required 'lots' array structure and the symbol parameter are never explained beyond the example.

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 states a specific verb and resource — compare FIFO/LIFO/HIFO/minimum-tax lot selection, split short/long-term gains, estimate tax, flag wash sales — which is far more than a restatement of the name. It does not, however, say how it differs from near siblings like pre_trade_check or suitability_check, so the boundary is left to inference.

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 explicitly distinguishes the two modes: the default 'sell' path is a tax advisory comparison for a sale, and 'mode=harvest' scans positions for tax-loss harvesting. That gives an agent a clear condition for each branch, but no exclusions against alternatives or prerequisites (e.g., must lots be supplied before any sale proposal).

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.