Skip to main content
Glama
AlvisoOculus

Equity Comp Tax (ISO/NSO/RSU/QSBS), Concentration & Hedging Optimizer

rsu_sell_vs_hold

Read-onlyIdempotent

Compare after-tax payout from selling RSUs at vest versus holding for long-term capital gains, incorporating federal and state income taxes, FICA, and supplemental withholding.

Instructions

After-tax payout on a Restricted Stock Unit (RSU) vest: federal ordinary income tax, state income tax, FICA (Social Security + Medicare + Additional Medicare), and the gap between mandatory 22% federal supplemental withholding and the user's marginal bracket. Use this tool for RSUs at vest; for ISO/AMT planning use amt_iso_optimize, for NSO use nso_calculate. Compares sell-at-vest vs hold-for-long-term-capital-gains (LTCG) across the chosen horizon, accounting for the 12-month short-term-vs-long-term holding threshold and the optional expected-growth assumption. Pure deterministic computation: no network access; tax tables and the 22% supplemental-withholding rate are compiled in. Returns a top-level object with keys: vest (vestValue, federal, state, socialSecurity, medicare, additionalMedicare, total, netCashAtVest, federalWithheldAtVest), hold (expectedGain at horizon, capGainFederal/State/Total including NIIT, isLongTerm), sellNowInvest (counterfactual: sell at vest and reinvest at expectedMarketReturn), holdMinusSell (dollar delta), and bracketJump (fromRate, toRate, thresholdAtJump on the vest amount). Example call: {shares: 1000, currentPrice: 100, ordinaryIncome: 200000, filingStatus: "single", stateCode: "CA", stillEmployed: true, holdYears: 2, volatility: 0.3, ticker: "MSFT"}. IMPORTANT: every field listed in required must come from the user's message OR be derivable from an optional ticker. The model invoking this tool MUST NOT invent a value for any required field. If the user did not supply it and no ticker resolves it, ask the user.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
sharesYesRestricted Stock Unit (RSU) shares vesting in this tranche.
currentPriceYesFair market value per share at vest, USD. Also the cost basis on retained shares.
ordinaryIncomeYesAnnual W-2 ordinary income before this vest, USD. Baseline for the bracket walk on the vest amount.
filingStatusYesFederal filing status.
stateCodeYesTwo-letter US state code.
stillEmployedYesTrue if still employed at vest. Drives FICA applicability and whether the 22% supplemental withholding rule applies.
holdYearsYesYears to hold after vest (0.25..5). Below 1 year triggers the short-term capital gains cliff (ordinary rates on appreciation).
expectedSalePriceNoProjected $/share at end of holdYears. Required unless `ticker` resolves it from currentPrice × (1 + trailing CAGR)^holdYears.
volatilityNoAnnualized volatility (sigma) of the stock as a decimal (0.72 = 72%). Pass the user-supplied volatility directly; the tool computes the horizon-cumulative drag internally. The model MUST NOT compute drag itself — the correct formula is horizon-dependent and most models get it wrong. If the user does not supply a volatility number, ASK them.
expectedMarketReturnNoAnnual after-tax-proceeds reinvestment rate. Defaults to SPY trailing CAGR for holdYears if omitted.
tickerNoOptional public-stock symbol (e.g. "NVDA", "AAPL"). When set, the tool substitutes the ticker's trailing CAGR for any unsupplied expected-return / sale-price field instead of requiring the caller to invent one. ~90 symbols covered; unknown tickers fall through to "required field" errors so the model knows to ask the user.
Behavior5/5

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

Annotations already indicate read-only, non-destructive, idempotent. Description adds that it's a pure deterministic computation with no network access, includes compiled tax tables, warns against computing volatility drag, and explains the return structure with key names and example.

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?

Description is front-loaded with purpose and alternatives, then returns, then example, then caveats. Every sentence adds value, though the length is a bit long. Still well-organized and efficient.

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

Completeness5/5

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

Given 11 parameters (7 required) and no output schema, the description thoroughly explains the return object (all top-level keys), usage constraints (required fields, ticker fallback), and edge cases (volatility calculation warning). No gaps for an AI agent to misinterpret.

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 provides 100% coverage with descriptions for each parameter. Description adds integration context (e.g., when ticker resolves values, volatility must be user-supplied, the purpose of expectedSalePrice vs market return). This goes beyond the schema, earning a 4.

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 clearly states the tool computes after-tax payout on RSU vest and compares sell-at-vest vs hold-for-LTCG. It distinguishes from siblings by naming amt_iso_optimize and nso_calculate, specifying the domain (RSU at vest).

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?

Explicitly says when to use (RSUs at vest) and when not (ISO/AMT use amt_iso_optimize, NSO use nso_calculate). Also instructs the model not to invent values for required fields, telling it to ask the user if missing.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/AlvisoOculus/optionsahoy-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server