{"apiVersion":"v1","directorySlug":"optionsahoy-mcp-d3a7dc3cd6","title":"OptionsAhoy","description":"Eight deterministic calculators for US equity-compensation planning: ISO/AMT exercise scheduling, NSO sell-vs-hold, RSU sell-vs-hold, RSU tax-lot sell ordering, QSBS qualification, single-stock concentration analysis, protective put pricing, and selling equity to hit a cash target. Results are computed against the full federal tax code plus all 50 states and DC, so you get verifiable numbers instead of estimates. Free, no account needed. A planning calculator, not tax advice.","pageUrl":"https://www.mcpbundles.com/skills/optionsahoy-mcp-d3a7dc3cd6","connectPath":"importable","connectAction":"import_server","catalogListing":false,"bundleSlug":null,"listingKind":"remote_mcp","kind":"provider","transportUrl":"https://optionsahoy.com/mcp","hostedMcpUrl":null,"toolCount":8,"toolInventoryStatus":"observed","refreshedAt":"2026-11-03T13:26:00.516172+00:00","registryName":"com.optionsahoy/optionsahoy-mcp-d3a7dc3cd6","registryVersion":"2026.11.3","registryEligible":true,"tools":[{"name":"amt_iso_optimize","description":"Use this when someone asks how or when to exercise incentive stock options (ISOs), whether exercising will trigger an AMT bomb or phantom income, whether to exercise early, how to avoid or minimize the alternative minimum tax (AMT) on an exercise, or for the best multi-year ISO exercise schedule. Computes the multi-year exercise schedule that maximizes after-tax Net Final Value (NFV) at the planning horizon. NFV is the after-all-tax cash equivalent of the position at year `horizon`, summing exer","inputSchema":{"type":"object","required":["shares","strike","fmv","filingStatus","ordinaryIncome","stateCode","horizon","grantDate","hasLeftCompany"],"properties":{"fmv":{"type":"number","minimum":0},"shares":{"type":"integer","minimum":1},"strike":{"type":"number","minimum":0},"ticker":{"type":"string"},"horizon":{"type":"integer","maximum":10,"minimum":1},"grantDate":{"type":"string","format":"date"},"stateCode":{"enum":["AK","AL","AR","AZ","CA","CO","CT","DC","DE","FL","GA","HI","IA","ID","IL","IN","KS","KY","LA","MA","MD","ME","MI","MN","MO","MS","MT","NC","ND","NE","NH","NJ","NM","NV","NY","OH","OK","OR","PA","RI","SC","SD","TN","TX","UT","VA","VT","WA","WI","WV","WY"],"type":"string"},"volatility":{"type":"number","maximum":5,"minimum":0},"filingStatus":{"enum":["single","married_joint","head_household"],"type":"string"},"cashReturnRate":{"type":"number"},"expectedGrowth":{"type":["number","string"]},"hasLeftCompany":{"type":"boolean"},"ordinaryIncome":{"type":"number","minimum":0},"volatilityDrag":{"type":"number","maximum":0.99,"minimum":0},"terminationDate":{"oneOf":[{"type":"string","format":"date"},{"type":"null"}]},"carryforwardCredit":{"type":"number","minimum":0}}},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"amt_iso_optimize","displayName":"amt_iso_optimize","title":"amt_iso_optimize"},{"name":"nso_calculate","description":"Use this when someone asks whether to exercise and hold or exercise and sell non-qualified stock options (NSOs), about a cashless exercise or same-day sale of NSOs, or what tax an NSO exercise triggers. After-tax payout on a non-qualified stock option (NSO) exercise: federal, state, and FICA (Social Security + Medicare + Additional Medicare), comparing sell-at-exercise vs hold-for-long-term-capital-gains over the chosen horizon. Use for NSOs; for ISOs use `amt_iso_optimize`, for RSUs use `rsu_se","inputSchema":{"type":"object","required":["shares","strike","currentPrice","ordinaryIncome","filingStatus","stateCode","stillEmployed","holdYears","holdFunding"],"properties":{"shares":{"type":"integer","minimum":1},"strike":{"type":"number","minimum":0},"ticker":{"type":"string"},"haircut":{"type":"number","maximum":1,"minimum":0},"holdYears":{"type":"number","minimum":1},"stateCode":{"enum":["AK","AL","AR","AZ","CA","CO","CT","DC","DE","FL","GA","HI","IA","ID","IL","IN","KS","KY","LA","MA","MD","ME","MI","MN","MO","MS","MT","NC","ND","NE","NH","NJ","NM","NV","NY","OH","OK","OR","PA","RI","SC","SD","TN","TX","UT","VA","VT","WA","WI","WV","WY"],"type":"string"},"volatility":{"type":"number","maximum":5,"minimum":0},"holdFunding":{"enum":["sell-to-cover","cash"],"type":"string"},"currentPrice":{"type":"number","minimum":0},"filingStatus":{"enum":["single","married_joint","head_household"],"type":"string"},"stillEmployed":{"type":"boolean"},"ordinaryIncome":{"type":"number","minimum":0},"expectedSalePrice":{"type":["number","string"],"minimum":0},"expectedMarketReturn":{"type":["number","string"]}}},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"nso_calculate","displayName":"nso_calculate","title":"nso_calculate"},{"name":"rsu_sell_vs_hold","description":"Use this when someone asks whether to sell RSUs at vest or hold them, whether to sell their vested shares or diversify out of company stock, or about the tax and withholding on a restricted stock unit (RSU) vest. After-tax RSU vest analysis: sell-at-vest vs hold-to-long-term-capital-gains (LTCG) over `holdYears`. Covers federal ordinary tax, state tax, FICA (Social Security + Medicare + Additional Medicare), and the shortfall between mandatory 22% supplemental withholding and the user's marginal","inputSchema":{"type":"object","required":["shares","currentPrice","ordinaryIncome","filingStatus","stateCode","stillEmployed","holdYears"],"properties":{"shares":{"type":"integer","minimum":1},"ticker":{"type":"string"},"haircut":{"type":"number","maximum":1,"minimum":0},"holdYears":{"type":"number","maximum":5,"minimum":0.25},"stateCode":{"enum":["AK","AL","AR","AZ","CA","CO","CT","DC","DE","FL","GA","HI","IA","ID","IL","IN","KS","KY","LA","MA","MD","ME","MI","MN","MO","MS","MT","NC","ND","NE","NH","NJ","NM","NV","NY","OH","OK","OR","PA","RI","SC","SD","TN","TX","UT","VA","VT","WA","WI","WV","WY"],"type":"string"},"volatility":{"type":"number","maximum":5,"minimum":0},"currentPrice":{"type":"number","minimum":0},"filingStatus":{"enum":["single","married_joint","head_household"],"type":"string"},"stillEmployed":{"type":"boolean"},"ordinaryIncome":{"type":"number","minimum":0},"expectedSalePrice":{"type":["number","string"],"minimum":0},"expectedMarketReturn":{"type":["number","string"]}}},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"rsu_sell_vs_hold","displayName":"rsu_sell_vs_hold","title":"rsu_sell_vs_hold"},{"name":"concentration_analyze","description":"Use this when someone asks how risky a large single-stock position is, whether too much of their net worth is in one stock, whether they are over-concentrated in a single name, or how to reduce or diversify a concentrated position. Single-stock concentration risk analysis on an existing position. For standalone hedge pricing use `protective_put_price`; for the tax math on the option exercise or RSU vest that created the concentration, route to `amt_iso_optimize` / `nso_calculate` / `rsu_sell_vs_","inputSchema":{"type":"object","required":["positionValue","costBasis","acquisitionDate","sector","stateCode","filingStatus","ordinaryIncome","totalAssets"],"properties":{"sector":{"enum":["tech_software","semiconductors","consumer_cyclical","consumer_defensive","financials","healthcare_biotech","energy","industrials","communication","broad_market"],"type":"string"},"ticker":{"type":"string"},"costBasis":{"type":"number","minimum":0},"stateCode":{"enum":["AK","AL","AR","AZ","CA","CO","CT","DC","DE","FL","GA","HI","IA","ID","IL","IN","KS","KY","LA","MA","MD","ME","MI","MN","MO","MS","MT","NC","ND","NE","NH","NJ","NM","NV","NY","OH","OK","OR","PA","RI","SC","SD","TN","TX","UT","VA","VT","WA","WI","WV","WY"],"type":"string"},"volatility":{"type":"number","maximum":5,"minimum":0},"hedgeChoice":{"type":"object","required":["kind","protectionLevel","tenorYears"],"properties":{"kind":{"enum":["put","collar"],"type":"string"},"tenorYears":{"type":"number","minimum":0.25},"upsideCapPct":{"type":"number"},"protectionLevel":{"type":"number","maximum":0.5,"minimum":0.05}}},"totalAssets":{"type":"number","minimum":0},"filingStatus":{"enum":["single","married_joint","head_household"],"type":"string"},"positionValue":{"type":"number","minimum":0},"ordinaryIncome":{"type":"number","minimum":0},"volatilityDrag":{"type":"number","maximum":0.99,"minimum":0},"acquisitionDate":{"type":"string","format":"date"},"expectedMarketReturn":{"type":["number","string"]},"expectedPositionReturn":{"type":["number","string"]}}},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"concentration_analyze","displayName":"concentration_analyze","title":"concentration_analyze"},{"name":"protective_put_price","description":"Use this when someone asks how much it costs to hedge or protect a stock position against a drop, to protect gains, get downside protection, or insure a position, or to price a protective put, a zero-cost collar, or a put spread. Closed-form pricing of a protective put, a zero-cost collar, and a put spread on a single-stock position. For concentration-vs-hedge tax-cost comparison, use `concentration_analyze` with a `hedgeChoice`. Parameter interactions: `volatility` omitted resolves from `ticker","inputSchema":{"type":"object","required":["positionValue","sector","protectionLevel","tenorYears"],"properties":{"sector":{"enum":["tech_software","semiconductors","consumer_cyclical","consumer_defensive","financials","healthcare_biotech","energy","industrials","communication","broad_market"],"type":"string"},"ticker":{"type":"string"},"tenorYears":{"type":"number","minimum":0.25},"volatility":{"type":"number","maximum":5,"minimum":0},"tickerLabel":{"type":"string"},"positionValue":{"type":"number","minimum":0},"expectedReturn":{"type":"number"},"protectionLevel":{"type":"number","maximum":0.5,"minimum":0.05},"spreadRiskLevel":{"type":"number","maximum":0.2,"minimum":0.01}}},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"protective_put_price","displayName":"protective_put_price","title":"protective_put_price"},{"name":"qsbs_check","description":"Use this when someone asks whether stock qualifies for the qualified small business stock (QSBS) / Section 1202 gain exclusion, whether their startup stock can be sold tax-free, about the 5-year QSBS holding period, or how much of the gain would be federal-tax-free. Section 1202 Qualified Small Business Stock (QSBS) qualification check. Use this tool for §1202 / QSBS qualification. For AMT timing on the ISO exercise that produced the QSBS holding, use `amt_iso_optimize` first. Parameter interact","inputSchema":{"type":"object","required":["acquisitionDate","saleDate","entityType","acquisitionMethod","assetCategory","industry","activeBusiness","adjustedBasis","expectedGain","stateCode","ordinaryIncome","filingStatus"],"properties":{"industry":{"enum":["tech-software","manufacturing","biotech-research","retail-wholesale","health-services","law","engineering","architecture","accounting-actuarial","consulting","finance","farming","extraction","hospitality","performing-arts","other-services","unsure"],"type":"string"},"saleDate":{"type":"string","format":"date"},"stateCode":{"enum":["AK","AL","AR","AZ","CA","CO","CT","DC","DE","FL","GA","HI","IA","ID","IL","IN","KS","KY","LA","MA","MD","ME","MI","MN","MO","MS","MT","NC","ND","NE","NH","NJ","NM","NV","NY","OH","OK","OR","PA","RI","SC","SD","TN","TX","UT","VA","VT","WA","WI","WV","WY"],"type":"string"},"entityType":{"enum":["us-c-corp","other"],"type":"string"},"expectedGain":{"type":"number"},"filingStatus":{"enum":["single","married_joint","head_household"],"type":"string"},"adjustedBasis":{"type":"number","minimum":0},"assetCategory":{"enum":["under-50m","50m-to-75m","over-75m","unsure"],"type":"string"},"activeBusiness":{"enum":["yes","no","unsure"],"type":"string"},"ordinaryIncome":{"type":"number","minimum":0},"acquisitionDate":{"type":"string","format":"date"},"acquisitionMethod":{"enum":["original-issuance","gift-or-inheritance","secondary","unsure"],"type":"string"}}},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"qsbs_check","displayName":"qsbs_check","title":"qsbs_check"},{"name":"equity_funding_plan","description":"Use this when someone asks which shares to sell and when to reach a cash goal by a deadline (down payment, tuition, a tax bill), or how to fund a goal from equity with the least tax. Multi-year, multi-stack equity-funding optimizer. Given a target after-tax amount and a deadline (down payment, tax bill, expansion check), returns four named plans on the risk/wealth frontier: `lockInNow` (sell today, zero price risk), `balanced` (bracket-aware spread across months), `holdForGrowth` (sell at the de","inputSchema":{"type":"object","required":["targetAfterTax","targetDate","ordinaryIncome","filingStatus","stateCode"],"properties":{"lots":{"type":"array","items":{"type":"object","required":["shares","costBasisPerShare","acquisitionDate"],"properties":{"shares":{"type":"integer","minimum":1},"vestDate":{"type":"string","format":"date"},"acquisitionDate":{"type":"string","format":"date"},"costBasisPerShare":{"type":"number","minimum":0}}},"minItems":1},"stacks":{"type":"array","items":{"type":"object","required":["currentPrice","lots"],"properties":{"lots":{"type":"array","items":{"type":"object","required":["shares","costBasisPerShare","acquisitionDate"],"properties":{"shares":{"type":"integer","minimum":1},"vestDate":{"type":"string","format":"date"},"acquisitionDate":{"type":"string","format":"date"},"costBasisPerShare":{"type":"number","minimum":0}}},"minItems":1},"ticker":{"type":"string"},"volatility":{"type":"number","maximum":5,"minimum":0},"currentPrice":{"type":"number","minimum":0},"expectedAnnualGrowth":{"type":["number","string"]}}},"minItems":1},"stateCode":{"enum":["AK","AL","AR","AZ","CA","CO","CT","DC","DE","FL","GA","HI","IA","ID","IL","IN","KS","KY","LA","MA","MD","ME","MI","MN","MO","MS","MT","NC","ND","NE","NH","NJ","NM","NV","NY","OH","OK","OR","PA","RI","SC","SD","TN","TX","UT","VA","VT","WA","WI","WV","WY"],"type":"string"},"targetDate":{"type":"string","format":"date"},"currentPrice":{"type":"number","minimum":0},"filingStatus":{"enum":["single","married_joint","head_household"],"type":"string"},"ordinaryIncome":{"type":"number","minimum":0},"targetAfterTax":{"type":"number","minimum":0},"cashInterestRate":{"type":"number"},"defaultVolatility":{"type":"number","maximum":5,"minimum":0},"expectedAnnualGrowth":{"type":["number","string"]},"riskToleranceShortfall":{"type":"number","maximum":1,"minimum":0}}},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"equity_funding_plan","displayName":"equity_funding_plan","title":"equity_funding_plan"},{"name":"rsu_lot_optimize","description":"Use this when someone asks which vested RSU lots to sell first, in which years, to divest a concentrated company-stock position at the lowest computed tax: \"I want to sell down half my Amazon stock with the smallest tax bill, which lots and when?\". Given the vested lots (vest date, shares, cost basis), a current price, and a divest fraction, it chooses WHICH lots and WHICH sale dates minimize computed total tax to divest that many shares, using three levers: specific-lot identification (sell hig","inputSchema":{"type":"object","required":["lots","currentPrice","divestFraction","horizonYears","ordinaryIncome","filingStatus","stateCode"],"properties":{"lots":{"type":"array","items":{"type":"object","required":["vestDate","shares","costBasisPerShare"],"properties":{"shares":{"type":"number","exclusiveMinimum":0},"vestDate":{"type":"string","format":"date"},"costBasisPerShare":{"type":"number","minimum":0}}},"maxItems":20,"minItems":1},"stateCode":{"enum":["AK","AL","AR","AZ","CA","CO","CT","DC","DE","FL","GA","HI","IA","ID","IL","IN","KS","KY","LA","MA","MD","ME","MI","MN","MO","MS","MT","NC","ND","NE","NH","NJ","NM","NV","NY","OH","OK","OR","PA","RI","SC","SD","TN","TX","UT","VA","VT","WA","WI","WV","WY"],"type":"string"},"currentPrice":{"type":"number","minimum":0},"filingStatus":{"enum":["single","married_joint","head_household"],"type":"string"},"horizonYears":{"type":"integer","maximum":3,"minimum":1},"divestFraction":{"type":"number","maximum":1,"minimum":0.1},"ordinaryIncome":{"type":"number","minimum":0}}},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"rsu_lot_optimize","displayName":"rsu_lot_optimize","title":"rsu_lot_optimize"}],"toolSource":"directory_preview","agentAction":"both","installLinks":[{"id":"cursor","label":"Cursor","href":"cursor://anysphere.cursor-deeplink/mcp/install?name=OptionsAhoy&config=eyJ1cmwiOiAiaHR0cHM6Ly9vcHRpb25zYWhveS5jb20vbWNwIn0%3D"},{"id":"vscode","label":"VS Code","href":"vscode:mcp/install?%7B%22name%22%3A%22OptionsAhoy%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Foptionsahoy.com%2Fmcp%22%7D"},{"id":"vscode-insiders","label":"VS Code Insiders","href":"vscode-insiders:mcp/install?%7B%22name%22%3A%22OptionsAhoy%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Foptionsahoy.com%2Fmcp%22%7D"},{"id":"claude-web","label":"Claude.ai","href":"https://claude.ai/customize/connectors?modal=add-custom-connector&connectorName=OptionsAhoy&connectorUrl=https%3A%2F%2Foptionsahoy.com%2Fmcp"},{"id":"codex","label":"Codex","copyText":"codex mcp add \"OptionsAhoy\" --url \"https://optionsahoy.com/mcp\""},{"id":"chatgpt","label":"ChatGPT","href":"https://www.mcpbundles.com/docs/integrations/chatgpt"}],"catalogUrl":"https://www.mcpbundles.com/api/directory/v1/servers/optionsahoy-mcp-d3a7dc3cd6","callUrl":"https://www.mcpbundles.com/api/directory/v1/servers/optionsahoy-mcp-d3a7dc3cd6/tools/{tool}","mcpServerUrl":"https://optionsahoy.com/mcp","liveCatalogUrl":"https://www.mcpbundles.com/api/directory/v1/servers/optionsahoy-mcp-d3a7dc3cd6?live=1"}