Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, email [email protected] and we’ll put it right.

io.github.Invaro/opentax

REMOTE · OPENTAX.INVARO.AI · 2 COMPONENTS · SCANNED AUG 3

Verifiable US tax oracle for AI agents: cited, machine-checkable federal and state tax computation

+5 this week 64 Trust /100
Trust breakdown (6 categories)

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score →

Endpoint Security63
Transport & Reachability100
Schema Quality & AI Usability52
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 12828 tokens (~855/item across 15 items; 15 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management27
  • Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage98
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 95% of tool parameters carry a description.Partial
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Install

Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.

remote · opentax.invaro.ai

# add to Claude Code
claude mcp add --transport http invaro-opentax https://opentax.invaro.ai/mcp
# ~/.codex/config.toml
[mcp_servers.invaro-opentax]
url = "https://opentax.invaro.ai/mcp"
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "invaro-opentax": {
      "type": "remote",
      "url": "https://opentax.invaro.ai/mcp",
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add invaro-opentax --url https://opentax.invaro.ai/mcp --transport streamable-http
# ~/.hermes/config.yaml
mcp_servers:
  invaro-opentax:
    url: "https://opentax.invaro.ai/mcp"
// mcp.json
{
  "mcpServers": {
    "invaro-opentax": {
      "type": "http",
      "url": "https://opentax.invaro.ai/mcp"
    }
  }
}

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 2 Aug 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 20 to 23. That category is still filling its 30-day observation window: 6 days of observed history at the previous scan, 7 at this one. The score rises as the window fills, whether or not the server changes.

  • 31 Jul 26 +2
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 30 Jul 26 +1
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 28 Jul 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 3 to 7. That category is still filling its 30-day observation window: 1 days of observed history at the previous scan, 2 at this one. The score rises as the window fills, whether or not the server changes.

  • 27 Jul 26 +1
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 26 Jul 26 58

    First indexed and scored.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 3 Aug 2026 · Probed https://opentax.invaro.ai/mcp

TLS valid

Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .

Subject Issuer Valid from Valid until Key Signature Serial
CN=opentax.invaro.ai CN=YR1,O=Let's Encrypt,C=US 22 Jul 2026 20 Oct 2026 RSA 2048 SHA256-RSA 558168a0a44c858117803ac7477b26d6152
SANs: opentax.invaro.ai
CN=YR1,O=Let's Encrypt,C=US (CA) CN=Root YR,O=ISRG,C=US 3 Sept 2025 2 Sept 2028 RSA 2048 SHA256-RSA a20253f15f2691c05dc1ce13b9bcca4e
CN=Root YR,O=ISRG,C=US (CA) CN=ISRG Root X1,O=Internet Security Research Group,C=US 13 May 2026 2 Sept 2032 RSA 4096 SHA256-RSA f24b6d17f9d9ad7cb1c9fea78782699f
DNSSEC insecure

Validation of opentax.invaro.ai. Not signed

Zone DS Keys Algorithms Outcome
. trust_anchor 20326, 38696 8, 8 Verified
ai. present 3799 8 Verified
invaro.ai. absent Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation
Authentication No authorisation required

The endpoint answered without asking for a token. Anyone who knows the URL can reach it.

Result No authorisation required
HTTP status 200
Header Value
strict-transport-security max-age=63072000
Transports 2 probes
Transport URL Outcome Status Location
streamable-http https://opentax.invaro.ai/mcp Verified 200
http (plaintext) http://opentax.invaro.ai/mcp HTTPS enforced 308 https://opentax.invaro.ai/mcp
MCP tools — 15 exposed · ~12,828 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability.

Tool Tokens
calculate_business_tax ~3,651

Compute US federal BUSINESS-ENTITY tax from the same cited corpus: check-the-box entity classification, Form 1120 corporate income tax (§ 179/168(k)/174A/163(j)/DRD/NOL, § 250, GBC/FTC/BEAT), S-corp entity taxes, corporate estimates, the § 4501 buyback excise, AET and PHC taxes. Individual returns → calculate_tax. Unknown keys are rejected; unmodeled territory refuses loudly with the reason.

NameTypeReqDescription
asOfstringREQUIRED for computation: the law-in-force date — use the intended tax year's year-end (e.g. "2025-12-31" for TY2025). Omitting it is an error, never a default.
corpAccumulatedEandPStartnumber|stringAccumulated earnings and profits at the close of the PRECEDING year (§ 535(c)(2) minimum-credit offset). In dollars.
corpAdjustedOrdinaryGrossIncomenumber|stringAdjusted ordinary gross income (§ 543(b)(2)) — the 60% test base. In dollars.
corpAvgAdjustedFinancialStatementIncomenumber|string3-year-average adjusted financial statement income (§ 56A) — over $1 billion triggers the corporate AMT, which this engine refuses to approximate. In dollars.
corpAvgGrossReceipts3yrnumber|string3-year-average annual gross receipts (§ 448(c) test: $31M for 2025, $32M for 2026 — at or below it the § 163(j) limit does not apply). In dollars.
corpBaseErosionTaxBenefitsnumber|stringBase erosion tax benefits for the year (§ 59A(c)(2)) — include the base-erosion percentage of any NOL deduction (§ 59A(c)(1)(B)). Added back to reach modified taxable income. In dollars.
corpBaseErosionTestMetbooleanThe corporation's base erosion percentage is 3% or more (2% for banks/securities dealers) — one of the two § 59A applicable-taxpayer tests. BEAT applies only to $500M+ multinationals.
corpBusinessInterestExpensenumber|stringBusiness interest expense (§ 163(j): limited to 30% of EBITDA-based ATI unless the § 448(c) gross-receipts test is met). In dollars.
corpCapitalGainsnumber|stringThe corporation's capital gains for the year (§ 1211(a): losses offset only these; net gain is ordinary-rate income for a corporation). In dollars.
corpCapitalLossesnumber|stringThe corporation's capital losses for the year, including prior-year § 1212(a) carryovers being used (allowed only to the extent of capital gains). In dollars.
corpCharitableContributionsnumber|stringThe corporation's charitable contributions — current-year gifts plus allowable prior-year § 170(d)(2) carryovers being used (both subject to the same ceiling and, from 2026, the OBBBA floor). In doll…
corpDividendsPaidnumber|stringDividends paid during the year (the § 561 dividends-paid deduction for the accumulated-earnings computation). In dollars.
corpDividendsReceivednumber|stringDividends received from other taxable domestic corporations (§ 243 DRD; must also be included in corpGrossIncome). Enter only dividends on stock meeting the § 246(c) holding period (held more than 45…
corpDomesticResearchnumber|stringDomestic research or experimental expenditures — currently deductible under § 174A (OBBBA, permanent from 2025). In dollars.
corpDrdOwnershipTierstringOwnership of the dividend-paying corporation: under 20% (50% DRD), 20–80% (65% DRD), or 80%+ affiliated (100% DRD, § 243(a)(3)).
corpEquipmentPurchasesnumber|stringCost of qualified § 168(k) property acquired AND placed in service this year (acquired after January 19, 2025 — 100% bonus depreciation, OBBBA-permanent). EXCLUDE passenger automobiles (the § 280F lu…
corpFDDEInumber|stringTY2025: foreign-derived intangible income (FDII); TY2026+: foreign-derived deduction eligible income (FDDEI, OBBBA — QBAI abolished). The § 250 deduction applies 37.5% (2025) / 33.34% (2026+). In dol…
corpFilesConsolidatedReturnbooleanThe corporation joins a consolidated return (§§ 1501-1504) — intercompany eliminations and SRLY rules are not modeled, so this refuses.
corpFiscalYearFilerbooleanThe corporation uses a FISCAL taxable year (or files a § 443 short-period return). Fiscal and short years are not modeled — the OBBBA parameters (§ 250 rates, § 59A 10.5%, § 960(d) 90%, § 448(c) $32M…
corpForeignResearchnumber|stringFOREIGN research or experimental expenditures paid this year — capitalized and amortized over 15 years (§ 174; first-year deduction is 1/30 under the midpoint convention). In dollars.
corpForeignSourceIncomeGeneralnumber|stringForeign-source taxable income in the general basket (§ 904 limitation numerator; § 861 expense allocation attested). In dollars.
corpForeignTaxesGeneralnumber|stringCreditable foreign income taxes in the § 904(d) GENERAL basket. In dollars.
corpForeignTaxesNCTInumber|stringForeign taxes attributable to the § 951A basket (GILTI/NCTI) — the § 960(d) deemed-paid credit takes the 80% (2025) / 90% (2026+, OBBBA) allowance, no carryovers. In dollars.
corpGrossIncomenumber|stringThe corporation's gross income (§ 61), INCLUDING any dividends received, any § 951 subpart F and § 951A NCTI/GILTI inclusions with their § 78 gross-ups (§ 951A(a) is a gross-income INCLUSION — the §…
corpIsCoveredCorporationbooleanThe corporation is a 'covered corporation' for the § 4501 stock-repurchase excise tax: a domestic corporation whose stock is traded on an established securities market (§ 4501(b)).
corpIsLargeCorporationbooleanThe corporation had taxable income of $1,000,000 or more in any of the 3 preceding taxable years (§ 6655(g)(2) 'large corporation' — may not use the prior-year safe harbor).
corpIsPersonalServiceCorpbooleanThe corporation's principal function is services in health, law, engineering, architecture, accounting, actuarial science, performing arts, or consulting (§ 535(c)(2)(B): $150,000 minimum credit inst…
corpIsREITorRICbooleanThe corporation is a real estate investment trust (§ 856) or regulated investment company (§ 851). REFUSES — their dividends-paid deduction and distribution requirements are not modeled.
corpNCTInumber|stringTY2025: the § 951A GILTI inclusion (with its § 78 gross-up); TY2026+: net CFC tested income (NCTI, OBBBA). The § 250 deduction applies 50% (2025) / 40% (2026+). The inclusion itself is GROSS INCOME (…
corpNOLCarryforwardnumber|stringNet operating loss carryforward available this year (§ 172: deduction limited to 80% of taxable income before the NOL; post-TCJA, no carrybacks). In dollars.
corpOrdinaryDeductionsnumber|stringOrdinary business deductions (salaries, rents, prior-year amortization, …) — everything EXCEPT charitable contributions, the dividends-received deduction, and NOLs, which have their own limited rules…
corpOwnedByFiveOrFewerbooleanMore than 50% of the stock's value was owned (directly or via § 544 attribution) by 5 or fewer individuals during the last half of the year (§ 542(a)(2)).
corpPHCIncomenumber|stringPersonal holding company income (§ 543: dividends, interest, royalties, annuities, certain rents). In dollars.
corpPortfolioDebtFinancedPercentAverage indebtedness percentage (0-100) of debt-financed portfolio stock (§ 246A) — reduces the 50%/65% DRD proportionally; 0 = not debt-financed.
corpPriorYearTaxnumber|stringTax shown on the corporation's preceding-year return (§ 6655(d) prior-year prong; unavailable if that year showed zero tax or was short). In dollars.
corpReasonableNeedsRetentionnumber|stringEarnings retained for the reasonable needs of the business (§§ 535(c)(1), 537 — documented needs; part of the accumulated earnings credit). In dollars.
corpSection179Costnumber|stringCost of § 179 property the corporation elects to expense — including qualified real property (roofs, HVAC, fire/security systems on nonresidential real property, § 179(d)(1)(B)(ii)) that § 168(k) can…
corpSection245ADividendsnumber|stringForeign-source portion of dividends received from specified 10-percent-owned foreign corporations, eligible for the § 245A participation-exemption DRD (100%). Must also be included in corpGrossIncome…
corpStockIssuedFMVnumber|stringFair market value of stock issued by the corporation during the taxable year (including to employees) — netted against repurchases under § 4501(c)(3). In dollars.
corpStockRepurchasedFMVnumber|stringFair market value of the corporation's own stock repurchased (§ 317(b) redemptions and economically similar transactions) during the taxable year, for the § 4501 excise. In dollars.
corpTIThrough3Monthsnumber|stringCorporate taxable income for the first 3 months (§ 6655(e) annualization, installments 1-2). In dollars.
corpTIThrough6Monthsnumber|stringCorporate taxable income for the first 6 months (§ 6655(e) annualization, installment 3). In dollars.
corpTIThrough9Monthsnumber|stringCorporate taxable income for the first 9 months (§ 6655(e) annualization, installment 4). In dollars.
corpTaxableIncomenumber|stringThe C corporation's taxable income BEFORE the § 250 deduction, if already computed — used as-is when provided. Leave at 0 to have the engine compute it from corpGrossIncome and the deduction componen…
corpUndistributedPHCIncomenumber|stringUndistributed personal holding company income (§ 545: taxable income adjusted, less federal taxes and the dividends-paid deduction). In dollars.
employeeAnnualWagesnumber|stringOne employee's annual wages, for the employer-side payroll-tax target (§ 3111 FICA + FUTA). In dollars.
entityLegalFormstringThe business's state-law legal form: a limited liability company, or a state-law corporation (a per-se corporation under Treas. Reg. § 301.7701-2(b)(1)).
filedForm2553SElectionbooleanThe entity filed a timely Form 2553 S election under § 1362(a)(1) (for an eligible entity this also deems association classification, Reg. § 301.7701-3(c)(1)(v)(C)).
filedForm8832CorpElectionbooleanThe entity filed a Form 8832 election to be classified as an association taxable as a corporation (Treas. Reg. § 301.7701-3(c)).
generalBusinessCreditsnumber|stringAggregate current-year § 38(b) general business credits (e.g. the § 41 research credit target's result) — limited under § 38(c). In dollars.
llcMemberCountNumber of members (owners) of the LLC — one member defaults to disregarded-entity treatment, two or more to partnership (Treas. Reg. § 301.7701-3(b)(1)).
qreAvgPrior3Yearsnumber|stringAverage annual qualified research expenses over the 3 preceding years — 0 means no prior QREs (the 6% startup rate of § 41(c)(4)(B) applies). In dollars.
qreCurrentYearnumber|stringQualified research expenses for the current year (§ 41(b); § 41(d) qualification attested). In dollars.
sCorpGrossReceiptsnumber|stringThe S corporation's gross receipts for the year (§ 1375). In dollars.
sCorpHasAccumulatedEandPbooleanThe S corporation has accumulated earnings and profits from C-corporation years at the close of the year (§ 1375 applies only then).
sCorpHasIneligibleShareholderbooleanAny shareholder is ineligible under § 1361(b)(1)(B)–(C): a nonresident alien, or an entity other than an estate or eligible trust/exempt organization.
sCorpHasMultipleStockClassesbooleanThe corporation has more than one class of stock (§ 1361(b)(1)(D); differences in voting rights alone do not create a second class, § 1361(c)(4)).
sCorpNetPassiveIncomenumber|stringPassive investment income net of directly-connected deductions (§ 1375(b)(2)). In dollars.
sCorpPassiveInvestmentIncomenumber|stringThe S corporation's passive investment income — royalties, rents, dividends, interest, annuities (§ 1375(b)(3)). In dollars.
sCorpRecognizedBuiltInGainnumber|stringNet recognized built-in gain during the § 1374(d)(7) 5-year recognition period after a C-to-S conversion (0 if the period has passed or there was no conversion). In dollars.
sCorpShareholderCountNumber of shareholders, counting married couples and § 1361(c)(1) family members as one (§ 1361(b)(1)(A): may not exceed 100).
sCorpTaxableIncomeAsCnumber|stringThe S corporation's taxable income computed as if it were a C corporation (§§ 1374(b)(1)/1375(b)(1)(B) cap). In dollars.
targetstringrule to derive (default: us.federal.corp.entity_level_income_tax — the classification-aware entity income tax). Other targets: us.federal.corp.entity_classification, .taxable_income, .income_tax_afte…

No output schema declared.

No examples provided.

calculate_fiduciary_tax ~335

Compute US federal income tax for an ESTATE or TRUST (Form 1041): the § 1(e) compressed brackets and § 642(b) exemption. Input is taxable income before the exemption, after the §§ 651/661 distribution deduction. Retained capital gains refuse loudly (§ 1(h) trust breakpoints not modeled). Grantor trusts belong on the grantor's individual return via calculate_tax.

NameTypeReqDescription
asOfstringREQUIRED for computation: the law-in-force date — use the intended tax year's year-end (e.g. "2025-12-31" for TY2025). Omitting it is an error, never a default.
fiduciaryIncomeBeforeExemptionnumber|stringThe estate/trust's taxable income BEFORE the § 642(b) exemption but AFTER the §§ 651/661 income-distribution deduction (the DNI machinery is attested by this input). In dollars.
fiduciaryLongTermGainsnumber|stringNet long-term capital gain retained by the estate/trust. Any positive amount REFUSES — the § 1(h) preferential breakpoints for estates and trusts are not modeled. In dollars.
fiduciaryTypestringForm 1041 filer type for the § 642(b) exemption: estate ($600), simple trust required to distribute all income currently ($300), or complex trust ($100). Grantor trusts do not file their own tax — us…
targetstringrule to derive (default: us.federal.fiduciary.income_tax).

No output schema declared.

No examples provided.

calculate_tax ~970

Compute US federal INDIVIDUAL income tax (or balance due if withholding is given) from a content-addressed corpus of cited rules. NEVER estimate tax yourself — call this, and report ONLY numbers returned by oracle calls made with the real facts (never hand-check or approximate a line the oracle can compute: your recalled parameters may be stale). Negative result = refund. Returns the answer, every assumption made, and hashes that let anyone re-verify the full derivation offline. Facts are grouped (filing, income, retirement, credits, …) — fill the groups that apply; unknown keys are rejected, and the engine names any missing fact the target needs. When source documents CONFLICT on a value, do not silently pick one: compute both branches, disclose the conflict and your choice; an interview/confirmation answer (rollover, conversion, taxable-amount screens) usually reflects taxpayer intent better than a payer form's box code — prefer it and disclose. That heuristic covers FACTS only: LEGAL classifications (qualifying child vs other dependent, filing status, SSTB) follow the statute's tests, not intake checkbox labels — a generic 'claim dependent credit' flag does not convert a qualifying child into an ODC dependent. TRANSCRIBE documented amounts as given even when they look anomalous (e.g. state withholding in a no-income-tax state): disclose the anomaly, never delete or 'correct' a documented number from outside knowledge. If you believe an oracle result is wrong, report the ORACLE's number and note your dissent — never substitute your own: the corpus is primary-source-verified and your recollection is not. Business entities → calculate_business_tax; estates/trusts → calculate_fiduciary_tax; § 152 dependency → determine_dependent.

NameTypeReqDescription
adjustmentsobjectIRA/HSA contributions, student-loan and car-loan interest
asOfstringREQUIRED for computation: the law-in-force date — use the intended tax year's year-end (e.g. "2025-12-31" for TY2025). Omitting it is an error, never a default.
creditsobjectCTC/ODC counts, dependent care, saver's, adoption, education
documentsobjectRAW document transcription (preferred over hand-mapped facts): W-2 boxes, 1099-R boxes/codes, SSA-1099 boxes, dependents' birth dates. SSA-1099s are first-class: box 5 sums into socialSecurityBenefit…
filingobjectwho is filing: status, age/blindness, dependency, student status
healthcare_ptcobject§ 36B premium tax credit / Form 1095-A reconciliation
household_employerobjectSchedule H nanny/household-employee taxes
incomeobjectwages, interest, capital gains, unemployment, foreign earned income
investor_amtobjectAMT preferences (ISO spread) and § 1202 QSBS exclusion
itemizedobjectSchedule A: SALT, mortgage, medical, charitable
kiddie_taxobjectForm 8615 inputs for a child subject to § 1(g)
payments_estimatesobjectwithholding, prior-year safe harbor, annualized installments
rentals_passiveobjectSchedule E rentals/royalties + § 469 passive-loss netting (Form 8582 via us.federal.passive_loss_allowed)
retirementobjectsocial security, IRA/pension distributions, early-distribution penalty
self_employmentobjectSchedule C / K-1, QBI inputs, SE deductions, home office
stateobjectstate taxable income for the state tax targets (us.ca/us.va/us.il.income_tax; parameters via lookup_tax_parameter)
targetstringrule to derive (default: net tax; balance due when payments_estimates.federalTaxWithheld is given). Determinations: us.federal.eligible.tips_deduction, us.federal.estimated.quarterly_payment, us.fede…
tips_overtimeobject§ 224 tips and § 225 overtime deductions (OBBBA)

No output schema declared.

No examples provided.

compare_filing_statuses ~123

Compute the answer under every filing status for the same facts — e.g. to answer 'should we file jointly or separately?'. Statuses that need more facts report their error instead of guessing.

NameTypeReqDescription
factsobjectyesfacts for the computation: either flat corpus fact ids (see list_input_facts) or the same group objects calculate_tax accepts (filing, income, retirement, …), plus optional target and asOf. Business/…

No output schema declared.

No examples provided.

compute_return ~975

Compute the COMPLETE Form 1040 bottom-line set in one call — the 17 lines that determine the return (1a, 9, 10, 11, 12e, 15, 16, 17 AMT, 19, 22, 23, 24, 25d, 27a, 28, 32, 33, 34/37), each whole-dollar rounded by the engine. Takes the SAME input as calculate_tax (prefer the documents block: transcribe W-2/1099-R/SSA-1099 boxes and dependent birth dates — SSA-1099s are first-class, box 5 and box 6 are summed for you; the tool derives ages, classifications, Part IV withholding, and penalties deterministically). Never assemble return lines by hand — this tool is the return. TRANSCRIPTION CONVENTIONS: (1) a PRIOR-YEAR Form 1040 in the file supplies CONTINUING conditions the current-year interview omits — the 'Someone can claim: You as a dependent' checkbox and the blindness boxes carry forward unless the current-year data contradicts them; (2) COMMUNITY PROPERTY: do NOT split income 50/50 between MFS spouses when they lived apart all year with no transfers (§ 66(a) allocates earned income to the earner) or when a written separation agreement ended the community — transcribe each document to its named earner; never invent a Form 8958 split the intake does not request; (3) bonus depreciation for assets placed in service 1/1-1/19/2025 is 40% (§ 168(k) pre-OBBBA phase-down; 100% only for property ACQUIRED after 1/19/2025).

NameTypeReqDescription
adjustmentsobjectIRA/HSA contributions, student-loan and car-loan interest
asOfstringREQUIRED for computation: the law-in-force date — use the intended tax year's year-end (e.g. "2025-12-31" for TY2025). Omitting it is an error, never a default.
creditsobjectCTC/ODC counts, dependent care, saver's, adoption, education
documentsobjectRAW document transcription (preferred over hand-mapped facts): W-2 boxes, 1099-R boxes/codes, SSA-1099 boxes, dependents' birth dates. SSA-1099s are first-class: box 5 sums into socialSecurityBenefit…
filingobjectwho is filing: status, age/blindness, dependency, student status
healthcare_ptcobject§ 36B premium tax credit / Form 1095-A reconciliation
household_employerobjectSchedule H nanny/household-employee taxes
incomeobjectwages, interest, capital gains, unemployment, foreign earned income
investor_amtobjectAMT preferences (ISO spread) and § 1202 QSBS exclusion
itemizedobjectSchedule A: SALT, mortgage, medical, charitable
kiddie_taxobjectForm 8615 inputs for a child subject to § 1(g)
payments_estimatesobjectwithholding, prior-year safe harbor, annualized installments
rentals_passiveobjectSchedule E rentals/royalties + § 469 passive-loss netting (Form 8582 via us.federal.passive_loss_allowed)
retirementobjectsocial security, IRA/pension distributions, early-distribution penalty
self_employmentobjectSchedule C / K-1, QBI inputs, SE deductions, home office
stateobjectstate taxable income for the state tax targets (us.ca/us.va/us.il.income_tax; parameters via lookup_tax_parameter)
targetstringrule to derive (default: net tax; balance due when payments_estimates.federalTaxWithheld is given). Determinations: us.federal.eligible.tips_deduction, us.federal.estimated.quarterly_payment, us.fede…
tips_overtimeobject§ 224 tips and § 225 overtime deductions (OBBBA)

No output schema declared.

No examples provided.

compute_state_return ~5,000

Compose a STATE return's printed-form line set deterministically (2025 IL-1040 / VA 760 / CA 540 / NY IT-201 / PA-40) — correct line NUMBERS from the printed forms and whole-dollar rounding, with the state tax computed by the oracle targets internally. PA is CLASS-BASED: transcribe the pa* class fields (Box 16 compensation, per-spouse loss classes) — federalAGI is NOT the PA base; the composer runs the class netting, Schedule O, and Tax Forgiveness targets itself, and reports the WPTC as a note (no printed line). Workflow: run compute_return first for the federal substrate, compute any state-specific components the citations describe (additions, subtractions, credits without targets — disclose each), then call this ONCE and report its line set VERBATIM. Never hand-assemble state line numbers: transposed lines on correct dollars are the dominant state error mode. ALWAYS pass taxableSocialSecurity and unemploymentCompensation when nonzero (VA/CA/NY subtractions are applied by the composer). ALWAYS transcribe the intake's state-specific block (e.g. ca_tax_return.ca_form540_schca: AB 5 employee-classification additions; va_sch_a fields; county/use-tax questions) — those fields drive composer inputs. For VA MFJ, pass vaYourVagi/vaSpouseVagi (the separate-VAGI worksheet) so the composer can run the Spouse Tax Adjustment worksheet itself.

NameTypeReqDescription
additionstotal state additions to federal AGI (e.g. NY 414(h) A-104 + IRC-125 A-101; VA Schedule ADJ line 2 codes). GATE RULE: coded addition/subtraction line-item arrays sitting under a false 'do you have ad…
ageOrBlindBoxesintegercount of age-65+/blind boxes checked (taxpayer/spouse, per box)
asOfstringyesyear-end date, e.g. 2025-12-31 — REQUIRED
caAb5GrossIncomeAdditiongross income from businesses where the worker is classified as an EMPLOYEE for California (AB 5/Dynamex reclassification; the intake's ca_form540_schca.add_gross_income field) — Schedule CA WAGE addi…
caAb5NetLossAdditionnet losses from businesses where the worker is an employee for California (intake ca_form540_schca.add_net_loss) — the federal Schedule C loss is disallowed for CA: Schedule CA BUSINESS addition, col…
caAmtOVERRIDE for Form 540 line 61 — prefer caIsoPreference + caAmtTaxesAddback so the composer builds Schedule P AMTI and evaluates us.ca.amt itself; a passed caAmt wins.
caAmtTaxesAddbacktaxes actually included in the CA itemized deduction (property taxes etc. surviving the Schedule CA SALT adjustments) — the Schedule P line 2 addback used when the composer builds AMTI from caIsoPref…
caBhstus.ca.bhst result (pass the oracle target's answer) — Form 540 line 62 Behavioral Health Services Tax (R&TC § 17043, 1% of CA taxable income over $1,000,000); added into line 64 total tax when nonzer…
caCalEITCus.ca.caleitc result (pass the oracle target's answer)
caDepreciationAdditionCA depreciation-difference addition: federal depreciation (with § 168(k) bonus, which California NEVER conforms to) minus CA depreciation (plain MACRS on the same asset). Positive = CA income additio…
caEducatorExpensesDeductedfederal educator-expense deduction claimed (§ 62(a)(2)(D)) — California does NOT conform: the composer ADDS it back on Schedule CA (line 11 col C). Pass the federal amount actually deducted (both spo…
caHsaDeductionfederal HSA deduction (Form 8889 line 13) — California does not conform to § 223: the composer ADDS it back for CA
caHsaTaxableDistributionHSA distribution amount taxed federally (Form 8889 line 16) — not income for California: the composer SUBTRACTS it for CA
caIsoPreferenceISO exercise spread AMT preference (§ 56(b)(3) as modified by R&TC § 17062) — with caAmtTaxesAddback this lets the composer BUILD Schedule P AMTI itself (AMTI = line 19 taxable income + taxes deducte…
caItemizedDeductionsCA itemized deduction total (Schedule CA Part II, line 29) — agent-computed per Schedule CA's own itemized rules WITH disclosure (differs from the federal Schedule A: no SALT cap, mortgage/medical ad…
caRentersCreditus.ca.renters_credit result (pass the oracle target's answer) — nonrefundable, joins the exemption credits in the line-48 subtraction from tax.
caTaxableEarlyDistributionretirement-plan early distribution amount subject to the FEDERAL § 72(t) additional tax — California imposes its own 2.5% additional tax on the same base (R&TC § 17085(c)(1), FTB 3805P); the composer…
caYCTCus.ca.yctc result (pass the oracle target's answer)
cityWithholdingNY line 73 NYC withholding
claimedAsDependentbooleansomeone else can claim this taxpayer as a dependent (carry the prior-year 1040 'Someone can claim: You as a dependent' checkbox forward as a continuing condition unless the current-year interview con…
dependentsintegerdependent count (CA dependent exemption credits; NY $1,000 exemptions)
estimatedPaymentsstate estimated payments ONLY (extension payments and prior-year credited overpayments have their own lines where the form provides them)
exemptionsintegerpersonal + dependent exemption COUNT (self + spouse + dependents)
extensionPaymentpayment made with an extension request. VA 760 line 22 (its own line, never folded into the estimated-payments line). NY IT-201 line 75 is the COMBINED line — 'estimated tax payments and amount paid…
federalAGInumberfederal Form 1040 line 11 (from compute_return, verbatim). REQUIRED for il/va/ca/ny — the composer refuses without it. NOT used by PA (class-based: pass the pa* class fields instead).
federalEITCfederal EIC, line 27a (from compute_return)
filingHohboolean
filingHohOrQssboolean
filingJointboolean
filingStatusstringREQUIRED in practice: the federal filing status — drives the state bracket schedule, standard deduction column, and exemption structure. The filingJoint/filingHoh/filingHohOrQss booleans are legacy a…
ilChildUnder12booleanIL CTC gate: a QUALIFYING CHILD (§ 152(c) lineage — child/stepchild/foster/sibling or their descendants) under age 12. A qualifying-relative/ODC-only dependent does NOT satisfy this even if under 12;…
ilEitcOverrideus.il.eitc oracle target's answer (35 ILCS 5/212(a)(vi), (b-5), (b-10): 20% of the federal EITC recomputed WITHOUT the § 32(c)(1)(A)(ii) childless age gate) — WINS over the generic 20%-of-federalEITC…
ilK12ExpensesIL qualified K-12 education expenses (before the $250 floor)
ilPropertyTaxPaidIL property tax on principal residence, net of business-use portion
ilTeacherExpensesIL Schedule 1299-C educator materials expenses
jurisdictionstringyes
nonrefundableCreditsstate NONREFUNDABLE credits without an oracle target — capped at the state tax due by the composer (an excess never creates a refund). VA: do NOT put the low-income credit or any VA EITC election her…
nyHouseholdCreditNYS household credit from table 2 (us.ny.parameters citation)
nycHouseholdCreditNYC household credit from table 5
nycTaxableIncomeNYC taxable income (IT-201 line 47) if NYC resident
pa529ContributionsSchedule O code T: § 529 contributions, ALREADY capped at $19,000 per beneficiary per taxpayer-spouse (2025); no deduction for rollovers/beneficiary changes
paAbleContributionsSchedule O code A: PA ABLE contributions, capped at the federal gift-tax exclusion ($19,000 for 2025)
paBusinessNetPA-40 line 4, TAXPAYER's own net business/profession/farm income or LOSS (negative allowed; within-class netting of the taxpayer's own activities only — a loss never crosses classes or spouses)
paDividendsPA-40 line 3: PA-taxable dividends INCLUDING mutual-fund capital-gain distributions (PA classifies them as dividends, not gains)
paEligibilityAddbacksSchedule SP Section III nontaxable add-backs (gifts, inheritances, insurance proceeds, non-PA income, nontaxable military pay, excluded home-sale gain, educational assistance, outside cash support).…
paEstateTrustPA-40 line 7: estate/trust income (PA Schedule J; an estate or trust cannot distribute a loss — never negative)
paGamblingPA-40 line 8: gambling and lottery winnings net of wager costs (noncash PA Lottery prizes exempt; cash prizes taxable)
paGrossCompensationPA-40 line 1a: W-2 BOX 16 total (NOT Box 1 — 401(k)/elective deferrals are PA-taxable; eligible retirement distributions are exempt and excluded). Falls back to the shared wages input when omitted (c…
paInterestPA-40 line 2: PA-taxable interest (gross class — no expenses; includes commercial-annuity interest taxable as PA interest)
paMsaHsaContributionsSchedule O codes M/H: MSA + HSA contributions at the federally-allowed amounts
paNrk1WithholdingPA-40 line 17: nonresident tax withheld from PA Schedule(s) NRK-1
paPenaltiesInterestPA-40 line 27: penalties and interest incl. estimated-underpayment penalty (REV-1630)
paPropertyNetPA-40 line 5, taxpayer's own net gain/loss from sale/exchange/disposition of property (negative allowed; no carryover)
paRentRoyaltyNetPA-40 line 6, taxpayer's own net rents/royalties/patents/copyrights (short-term rentals under 30 days are BUSINESS income, line 4)
paResidentCreditPA-40 line 22: resident credit for tax paid other states (Schedule G-L; not for reciprocal-state compensation: IN/MD/NJ/OH/VA/WV). Subtracts BEFORE Tax Forgiveness — the composer handles the ordering.
paScheduleDcCreditPA-40 line 23 component: the Child and Dependent Care Enhancement credit — pass us.pa.cdcc's computed answer (= 100% of the federal Form 2441 line 9a tentative credit; refundable)
paScheduleOcCreditsPA-40 line 23 component: Schedule OC restricted credits total (transcribed; no oracle target)
paSpDependentChildrenintegerSchedule SP dependent CHILDREN count (child/stepchild/adopted; grandchild of a grandparent; foster child of a foster parent — never other relatives) claimable as federal dependents; each adds $9,500…
paSpouseBusinessNetPA-40 line 4, SPOUSE's own net business income or loss (kept separate: PA never nets one spouse's loss against the other's income)
paSpousePropertyNetPA-40 line 5, spouse's own net property gain/loss
paSpouseRentRoyaltyNetPA-40 line 6, spouse's own net rent/royalty amount
paStudentLoanInterestSchedule O code S: student loan interest PAID (new deduction for 2025; the composer caps at $2,500 — pass the uncapped amount)
paUnreimbursedExpensesPA-40 line 1b: Schedule UE unreimbursed employee business expenses (a compensation-class expense, never a line-10 deduction)
priorYearOverpaymentCreditedprior-year state overpayment applied toward this year's estimated tax. VA 760 line 21 (its own printed line — never fold into line 20 estimated payments). Other states: folded into the estimated-paym…
refundableCreditsstate refundable credits, e.g. the NY credit block: ESCC + NYS EIC + IT-216 + NYC EIC + NYC school tax + NYC child care (WITHOUT their own oracle target, self-computed per the us.ny.parameters citati…
spouseStateWithholdingVA line 19b spouse withholding (spouse's own W-2/1099/VK-1 boxes + spouse's half of jointly-issued documents' withholding, odd dollar to the primary)
stateWithholdingstate income tax withheld (IL line 25 / VA 19a / CA 71 / NY 72). CONVENTIONS: IL line 25 sums state withholding from EVERY document (W-2s + all 1099s). NY line 72 = W-2 box 17 NYS withholding PLUS NY…
subtractionstotal state subtractions OTHER than the automatic ones (taxable social security / unemployment have their own inputs below; e.g. NY S-136 alimony paid, IL retirement subtraction)
taxableSocialSecurityfederally TAXABLE social security (Form 1040 line 6b, from compute_return). REQUIRED whenever nonzero: VA (760 line 5 subtraction), CA (Schedule CA line 6 col B), and NY (IT-201 line 27) all subtract…
unemploymentCompensationunemployment compensation included in federal AGI (Schedule 1 line 7). REQUIRED whenever nonzero: VA fully subtracts it (Va. Code § 58.1-322.02(9), Schedule ADJ) and CA excludes it (Schedule CA line…
useTaxconsumer use / sales-use tax owed on the return
vaAgeDeductionOVERRIDE ONLY — pass vaAgeQualifyingFull/vaAgeQualifyingTested instead and the composer computes the age deduction itself (including the AFAGI social-security exclusion agents routinely miss). When s…
vaAgeQualifyingFullintegercount of filers (taxpayer/spouse) born ON OR BEFORE January 1, 1939 — each gets the UNCONDITIONAL $12,000 age deduction (no income test)
vaAgeQualifyingTestedintegercount of filers born January 2, 1939 - January 1, 1961 (65+ for 2025 but income-tested): the composer computes $12,000 each, reduced dollar-for-dollar by AFAGI over $50,000 single / $75,000 married —…
vaFamilyVagiSchedule ADJ line 10 total family VAGI (you + spouse + dependents' VAGI) for the Credit for Low-Income Individuals poverty test; defaults to line 9 VAGI when omitted
vaItemizedCasualtyVA Sch A casualty/theft losses (protected from the overall limitation)
vaItemizedCharitableVA Sch A charitable contributions (federal Schedule A amount)
vaItemizedGamblingVA Sch A gambling losses (§ 165(d), limited to winnings; protected from the overall limitation)
vaItemizedInvestmentInterestVA Sch A investment interest (protected from the overall limitation)
vaItemizedMedicalVA Sch A line 1: total medical/dental expenses BEFORE any floor (VA applies its own 10%-of-FAGI floor — Virginia deconforms from the federal 7.5% floor)
vaItemizedMortgageInterestVA Sch A home mortgage interest and points (federal Schedule A amount)
vaItemizedOtherVA Sch A other itemized deductions
vaItemizedOtherTaxesVA Sch A line 6 other taxes (foreign income tax etc.)
vaItemizedPersonalPropertyTaxesVA Sch A line 5c personal property taxes — NOT subject to the SALT cap for Virginia
vaItemizedRealEstateTaxesVA Sch A line 5b real estate taxes — NOT subject to the SALT cap for Virginia
vaItemizedSalesTaxesVA Sch A line 5a when the general SALES tax election was made federally — capped at the Virginia SALT cap ($40,000; $20,000 MFS for TY2025)
vaItemizedStateLocalIncomeTaxesVA Sch A line 5a when INCOME taxes are claimed (mutually exclusive with sales taxes)
vaItemizingbooleantaxpayer itemized federally (VA requires the same election, Va. Code § 58.1-322.03(1)) — enables the VA Schedule A computation from the component inputs below; Form 760 line 10 replaces the line 11 s…
vaRefundableEitcOVERRIDE ONLY — the composer now computes the Form 760 line 23 credit itself from federalEITC + the eligibility inputs below. If passed, this refundable amount wins over the computed selection.
vaScheduleAdjDeductionsSchedule ADJ line 9 total deductions (deduction CODES like 105 continuing-teacher-education, 199 other) — prints on Form 760 line 13; these are DEDUCTIONS from VAGI, never income subtractions on line…
vaSpouseAgeBlindBoxesintegerSTA worksheet Part 1 line 2: spouse's 65+/blind box count (0-2)
vaSpouseTaxAdjustmentOVERRIDE ONLY — the composer now computes the VA Spouse Tax Adjustment worksheet itself when vaYourVagi/vaSpouseVagi are provided. If passed, this amount wins.
vaSpouseVagispouse's separate VAGI for the STA worksheet (Form 760 line 17 box; MFJ only)
vaYourAgeBlindBoxesintegerSTA worksheet Part 1 line 2: PRIMARY taxpayer's 65+/blind box count (0-2) — per-spouse exemption = boxes x $800 + $930
vaYourVagiPRIMARY taxpayer's separate VAGI (MFJ only — the 760 instructions' 'Worksheet for Determining Separate Virginia Adjusted Gross Income': own wages/SE/pensions, own share of joint items 50/50, own age…
wagesfederal line 1a wages (NY IT-201 line 1)
yonkersSurchargeus.ny.yonkers_surcharge result (pass the oracle target's answer) — 16.75% of the Yonkers worksheet's netted base (nyYonkersBase). Added into line 62's total and printed on its own line (IT-201 LINE 5…
yonkersWithholdingNY line 74 Yonkers withholding (W-2 box 19 with a Yonkers locality)

No output schema declared.

No examples provided.

determine_dependent ~808

Determine whether ONE candidate person is the taxpayer's § 152 dependent — qualifying child or qualifying relative, including multiple-support agreements and the divorced-parents release — as a proof-backed yes/no with citations. Feed the result into calculate_tax's credits group (qualifyingChildren / otherDependents).

NameTypeReqDescription
asOfstringREQUIRED for computation: the law-in-force date — use the intended tax year's year-end (e.g. "2025-12-31" for TY2025). Omitting it is an error, never a default.
custodialParentReleasedClaimbooleanThe custodial parent signed a written declaration (Form 8332) releasing the claim to the child for this year (§ 152(e)(2)).
depAgeCandidate's age at the end of the year (§ 152(c)(3)).
depDivorcedParentsRuleboolean§ 152(e) applies to the candidate child: the parents are divorced, separated, or lived apart the last 6 months of the year; the child received over half their support from the parents and was in thei…
depFilesJointReturnbooleanCandidate files a joint return with a spouse (other than a refund-only claim) (§ 152(c)(1)(E)).
depGrossIncomenumber|stringCandidate's gross income for the year (§ 152(d)(1)(B) limit: $5,200 TY2025 / $5,300 TY2026). In dollars.
depIsFullTimeStudentbooleanCandidate was a full-time student for at least 5 months (§ 152(f)(2)).
depIsQualifyingChildOfAnotherbooleanCandidate is the qualifying child of the taxpayer or any other taxpayer (§ 152(d)(1)(D)).
depLivedWithTaxpayerOverHalfYearbooleanCandidate had the same principal residence as the taxpayer for more than half the year (§ 152(c)(1)(B)).
depPermanentlyDisabledbooleanCandidate is permanently and totally disabled (§ 152(c)(3)(B)).
depProvidedOwnSupportOverHalfbooleanCandidate provided more than half of their own support (§ 152(c)(1)(D)).
depRelationshipChildbooleanCandidate is the taxpayer's child, stepchild, foster child, sibling, step-sibling, or a descendant of any of them (§ 152(c)(2)).
depRelationshipRelativebooleanCandidate bears a § 152(d)(2) relationship to the taxpayer (parent, grandparent, sibling, in-law, etc.) or lived in the household all year.
depYoungerThanTaxpayerbooleanCandidate is younger than the taxpayer (§ 152(c)(3)(A)).
hasMultipleSupportAgreementbooleanA § 152(d)(3) multiple-support agreement is in place for the candidate: the group together provided over half the support, no one person provided over half, each member could otherwise claim the cand…
targetstringrule to derive (default: us.federal.dependent.is_dependent). Other targets: us.federal.dependent.qualifying_child, us.federal.dependent.qualifying_relative
taxpayerIsCustodialParentbooleanThe taxpayer is the custodial parent (the parent with whom the child resided the greater number of nights, § 152(e)(4)(A)).
taxpayerProvidedOver10PercentSupportbooleanThe taxpayer contributed over 10 percent of the candidate's support (§ 152(d)(3)(D) — the support test under a multiple-support agreement).
taxpayerProvidedOverHalfSupportbooleanThe taxpayer provided more than half of the candidate's support (§ 152(d)(1)(C)).

No output schema declared.

No examples provided.

explain_rule ~66

Get a tax rule's statutory citation, verbatim excerpt, validity window, parameters, and dependencies. Use to quote the actual law behind an answer.

NameTypeReqDescription
ruleIdstringyese.g. "us.federal.standard_deduction" — list via calculate_tax proof or corpus

No output schema declared.

No examples provided.

find_tax_cliffs ~195

Find exact dollar amounts where one more cent of an input costs MORE than a cent of tax (marginal rate over 100%) — e.g. the EITC investment-income kill switch, CTC phase-out steps. Every probe is a real evaluation.

NameTypeReqDescription
factsobjectyesfacts for the computation: either flat corpus fact ids (see list_input_facts) or the same group objects calculate_tax accepts (filing, income, retirement, …), plus optional target and asOf. Business/…
fromDollarsnumberyes
stepDollarsnumbercoarse scan step, default 1000
toDollarsnumberyes
varystringyesmoney fact to vary, e.g. "wages" or "taxableInterest"

No output schema declared.

No examples provided.

is_tipped_occupation ~103

Determine whether a job is on the Treasury Tipped Occupation list (Treas. Reg. § 1.224-1, final Apr 2026) for the § 224 'no tax on tips' deduction. Fuzzy-matches the job name; returns the official listing (name, TTC code, category) or a definitive 'not listed'.

NameTypeReqDescription
jobstringyese.g. "bartender", "software engineer", "DJ"

No output schema declared.

No examples provided.

list_input_facts ~42

Discover every input the tax corpus understands: id, type, whether required, and its documented default. Call this if unsure what information to collect from the user.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

lookup_tax_parameter ~91

Look up the current-law dollar amounts behind a question ('standard deduction', 'CTC phase-out threshold', 'tips deduction cap') with their statutory citations and validity windows. Use this to fact-check ANY tax number before stating it — your training data likely predates the OBBBA.

NameTypeReqDescription
asOfstring
querystringyesplain-English search, e.g. 'standard deduction'

No output schema declared.

No examples provided.

search_tax_rules ~137

Full-text search over the encoded tax-law corpus ('kiddie tax', 'NIIT threshold', 'california renters credit'). Returns matching rules: id, title, statutory citation, effective window, and a verbatim excerpt of the law text. A hit means the engine computes this; zero hits means it is outside the corpus — say so rather than guessing. Follow up with explain_rule for a hit's full formula, or lookup_tax_parameter for its dollar amounts.

NameTypeReqDescription
asOfstring
limitinteger
querystringyesplain-English search, e.g. 'kiddie tax'

No output schema declared.

No examples provided.

verify_fact ~128

Fact-check a claimed dollar amount about tax law ('the 2026 MFJ standard deduction is $32,200', 'CTC is $2,000 per child') against the corpus. Returns verified / refuted (with the correct value and citation) / unknown. Never states a verdict it cannot ground.

NameTypeReqDescription
asOfstring
claimedAmountnumber|stringyesdollars, e.g. 50000 or "1234.56"
filingStatusstring
querystringyeswhat the amount is, e.g. 'standard deduction'

No output schema declared.

No examples provided.

verify_tax_claim ~204

Verify a claimed tax amount (yours, a user's, or another tool's) against the law. Returns verdict 'verified' or 'refuted' with the correct value. Use this as a self-check before presenting any tax number. Put asOf (and target, if any) INSIDE the facts object — e.g. facts: {..., "asOf": "2025-12-31"} — otherwise the claim is checked under today's law.

NameTypeReqDescription
claimedAmountnumber|stringyesthe amount to verify (negative = refund)
factsobjectyesfacts for the computation: either flat corpus fact ids (see list_input_facts) or the same group objects calculate_tax accepts (filing, income, retirement, …), plus optional target and asOf. Business/…
toleranceDollarsnumberdefault 1

No output schema declared.

No examples provided.