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
Available components
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
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- Authorisation not fully verified: no authorisation is required to call this server, and 15 tool(s) never declared a destructiveHint. The MCP spec treats an absent hint as destructive by default, so we cannot call this surface safe. See how to fix → View diagnostics → Unverified
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- The HSTS (Strict-Transport-Security) header is present. View diagnostics → Pass
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
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
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
claude mcp add --transport http invaro-opentax https://opentax.invaro.ai/mcp
[mcp_servers.invaro-opentax] url = "https://opentax.invaro.ai/mcp"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"invaro-opentax": {
"type": "remote",
"url": "https://opentax.invaro.ai/mcp",
"enabled": true
}
}
} openclaw mcp add invaro-opentax --url https://opentax.invaro.ai/mcp --transport streamable-http
mcp_servers:
invaro-opentax:
url: "https://opentax.invaro.ai/mcp" {
"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.
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.
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 |
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.
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.
| Name | Type | Req | Description |
|---|---|---|---|
| asOf | string | — | REQUIRED 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. |
| corpAccumulatedEandPStart | number|string | — | Accumulated earnings and profits at the close of the PRECEDING year (§ 535(c)(2) minimum-credit offset). In dollars. |
| corpAdjustedOrdinaryGrossIncome | number|string | — | Adjusted ordinary gross income (§ 543(b)(2)) — the 60% test base. In dollars. |
| corpAvgAdjustedFinancialStatementIncome | number|string | — | 3-year-average adjusted financial statement income (§ 56A) — over $1 billion triggers the corporate AMT, which this engine refuses to approximate. In dollars. |
| corpAvgGrossReceipts3yr | number|string | — | 3-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. |
| corpBaseErosionTaxBenefits | number|string | — | Base 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. |
| corpBaseErosionTestMet | boolean | — | The 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. |
| corpBusinessInterestExpense | number|string | — | Business interest expense (§ 163(j): limited to 30% of EBITDA-based ATI unless the § 448(c) gross-receipts test is met). In dollars. |
| corpCapitalGains | number|string | — | The corporation's capital gains for the year (§ 1211(a): losses offset only these; net gain is ordinary-rate income for a corporation). In dollars. |
| corpCapitalLosses | number|string | — | The 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. |
| corpCharitableContributions | number|string | — | The 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… |
| corpDividendsPaid | number|string | — | Dividends paid during the year (the § 561 dividends-paid deduction for the accumulated-earnings computation). In dollars. |
| corpDividendsReceived | number|string | — | Dividends 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… |
| corpDomesticResearch | number|string | — | Domestic research or experimental expenditures — currently deductible under § 174A (OBBBA, permanent from 2025). In dollars. |
| corpDrdOwnershipTier | string | — | Ownership of the dividend-paying corporation: under 20% (50% DRD), 20–80% (65% DRD), or 80%+ affiliated (100% DRD, § 243(a)(3)). |
| corpEquipmentPurchases | number|string | — | Cost 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… |
| corpFDDEI | number|string | — | TY2025: 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… |
| corpFilesConsolidatedReturn | boolean | — | The corporation joins a consolidated return (§§ 1501-1504) — intercompany eliminations and SRLY rules are not modeled, so this refuses. |
| corpFiscalYearFiler | boolean | — | The 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… |
| corpForeignResearch | number|string | — | FOREIGN 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. |
| corpForeignSourceIncomeGeneral | number|string | — | Foreign-source taxable income in the general basket (§ 904 limitation numerator; § 861 expense allocation attested). In dollars. |
| corpForeignTaxesGeneral | number|string | — | Creditable foreign income taxes in the § 904(d) GENERAL basket. In dollars. |
| corpForeignTaxesNCTI | number|string | — | Foreign 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. |
| corpGrossIncome | number|string | — | The 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 §… |
| corpIsCoveredCorporation | boolean | — | The 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)). |
| corpIsLargeCorporation | boolean | — | The 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). |
| corpIsPersonalServiceCorp | boolean | — | The 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… |
| corpIsREITorRIC | boolean | — | The corporation is a real estate investment trust (§ 856) or regulated investment company (§ 851). REFUSES — their dividends-paid deduction and distribution requirements are not modeled. |
| corpNCTI | number|string | — | TY2025: 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 (… |
| corpNOLCarryforward | number|string | — | Net operating loss carryforward available this year (§ 172: deduction limited to 80% of taxable income before the NOL; post-TCJA, no carrybacks). In dollars. |
| corpOrdinaryDeductions | number|string | — | Ordinary business deductions (salaries, rents, prior-year amortization, …) — everything EXCEPT charitable contributions, the dividends-received deduction, and NOLs, which have their own limited rules… |
| corpOwnedByFiveOrFewer | boolean | — | More 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)). |
| corpPHCIncome | number|string | — | Personal holding company income (§ 543: dividends, interest, royalties, annuities, certain rents). In dollars. |
| corpPortfolioDebtFinancedPercent | — | — | Average indebtedness percentage (0-100) of debt-financed portfolio stock (§ 246A) — reduces the 50%/65% DRD proportionally; 0 = not debt-financed. |
| corpPriorYearTax | number|string | — | Tax 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. |
| corpReasonableNeedsRetention | number|string | — | Earnings retained for the reasonable needs of the business (§§ 535(c)(1), 537 — documented needs; part of the accumulated earnings credit). In dollars. |
| corpSection179Cost | number|string | — | Cost 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… |
| corpSection245ADividends | number|string | — | Foreign-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… |
| corpStockIssuedFMV | number|string | — | Fair market value of stock issued by the corporation during the taxable year (including to employees) — netted against repurchases under § 4501(c)(3). In dollars. |
| corpStockRepurchasedFMV | number|string | — | Fair 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. |
| corpTIThrough3Months | number|string | — | Corporate taxable income for the first 3 months (§ 6655(e) annualization, installments 1-2). In dollars. |
| corpTIThrough6Months | number|string | — | Corporate taxable income for the first 6 months (§ 6655(e) annualization, installment 3). In dollars. |
| corpTIThrough9Months | number|string | — | Corporate taxable income for the first 9 months (§ 6655(e) annualization, installment 4). In dollars. |
| corpTaxableIncome | number|string | — | The 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… |
| corpUndistributedPHCIncome | number|string | — | Undistributed personal holding company income (§ 545: taxable income adjusted, less federal taxes and the dividends-paid deduction). In dollars. |
| employeeAnnualWages | number|string | — | One employee's annual wages, for the employer-side payroll-tax target (§ 3111 FICA + FUTA). In dollars. |
| entityLegalForm | string | — | The 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)). |
| filedForm2553SElection | boolean | — | The 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)). |
| filedForm8832CorpElection | boolean | — | The entity filed a Form 8832 election to be classified as an association taxable as a corporation (Treas. Reg. § 301.7701-3(c)). |
| generalBusinessCredits | number|string | — | Aggregate current-year § 38(b) general business credits (e.g. the § 41 research credit target's result) — limited under § 38(c). In dollars. |
| llcMemberCount | — | — | Number 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)). |
| qreAvgPrior3Years | number|string | — | Average 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. |
| qreCurrentYear | number|string | — | Qualified research expenses for the current year (§ 41(b); § 41(d) qualification attested). In dollars. |
| sCorpGrossReceipts | number|string | — | The S corporation's gross receipts for the year (§ 1375). In dollars. |
| sCorpHasAccumulatedEandP | boolean | — | The S corporation has accumulated earnings and profits from C-corporation years at the close of the year (§ 1375 applies only then). |
| sCorpHasIneligibleShareholder | boolean | — | Any shareholder is ineligible under § 1361(b)(1)(B)–(C): a nonresident alien, or an entity other than an estate or eligible trust/exempt organization. |
| sCorpHasMultipleStockClasses | boolean | — | The 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)). |
| sCorpNetPassiveIncome | number|string | — | Passive investment income net of directly-connected deductions (§ 1375(b)(2)). In dollars. |
| sCorpPassiveInvestmentIncome | number|string | — | The S corporation's passive investment income — royalties, rents, dividends, interest, annuities (§ 1375(b)(3)). In dollars. |
| sCorpRecognizedBuiltInGain | number|string | — | Net 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. |
| sCorpShareholderCount | — | — | Number of shareholders, counting married couples and § 1361(c)(1) family members as one (§ 1361(b)(1)(A): may not exceed 100). |
| sCorpTaxableIncomeAsC | number|string | — | The S corporation's taxable income computed as if it were a C corporation (§§ 1374(b)(1)/1375(b)(1)(B) cap). In dollars. |
| target | string | — | rule 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.
| Name | Type | Req | Description |
|---|---|---|---|
| asOf | string | — | REQUIRED 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. |
| fiduciaryIncomeBeforeExemption | number|string | — | The 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. |
| fiduciaryLongTermGains | number|string | — | Net 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. |
| fiduciaryType | string | — | Form 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… |
| target | string | — | rule 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.
| Name | Type | Req | Description |
|---|---|---|---|
| adjustments | object | — | IRA/HSA contributions, student-loan and car-loan interest |
| asOf | string | — | REQUIRED 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. |
| credits | object | — | CTC/ODC counts, dependent care, saver's, adoption, education |
| documents | object | — | RAW 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… |
| filing | object | — | who is filing: status, age/blindness, dependency, student status |
| healthcare_ptc | object | — | § 36B premium tax credit / Form 1095-A reconciliation |
| household_employer | object | — | Schedule H nanny/household-employee taxes |
| income | object | — | wages, interest, capital gains, unemployment, foreign earned income |
| investor_amt | object | — | AMT preferences (ISO spread) and § 1202 QSBS exclusion |
| itemized | object | — | Schedule A: SALT, mortgage, medical, charitable |
| kiddie_tax | object | — | Form 8615 inputs for a child subject to § 1(g) |
| payments_estimates | object | — | withholding, prior-year safe harbor, annualized installments |
| rentals_passive | object | — | Schedule E rentals/royalties + § 469 passive-loss netting (Form 8582 via us.federal.passive_loss_allowed) |
| retirement | object | — | social security, IRA/pension distributions, early-distribution penalty |
| self_employment | object | — | Schedule C / K-1, QBI inputs, SE deductions, home office |
| state | object | — | state taxable income for the state tax targets (us.ca/us.va/us.il.income_tax; parameters via lookup_tax_parameter) |
| target | string | — | rule 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_overtime | object | — | § 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.
| Name | Type | Req | Description |
|---|---|---|---|
| facts | object | yes | facts 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).
| Name | Type | Req | Description |
|---|---|---|---|
| adjustments | object | — | IRA/HSA contributions, student-loan and car-loan interest |
| asOf | string | — | REQUIRED 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. |
| credits | object | — | CTC/ODC counts, dependent care, saver's, adoption, education |
| documents | object | — | RAW 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… |
| filing | object | — | who is filing: status, age/blindness, dependency, student status |
| healthcare_ptc | object | — | § 36B premium tax credit / Form 1095-A reconciliation |
| household_employer | object | — | Schedule H nanny/household-employee taxes |
| income | object | — | wages, interest, capital gains, unemployment, foreign earned income |
| investor_amt | object | — | AMT preferences (ISO spread) and § 1202 QSBS exclusion |
| itemized | object | — | Schedule A: SALT, mortgage, medical, charitable |
| kiddie_tax | object | — | Form 8615 inputs for a child subject to § 1(g) |
| payments_estimates | object | — | withholding, prior-year safe harbor, annualized installments |
| rentals_passive | object | — | Schedule E rentals/royalties + § 469 passive-loss netting (Form 8582 via us.federal.passive_loss_allowed) |
| retirement | object | — | social security, IRA/pension distributions, early-distribution penalty |
| self_employment | object | — | Schedule C / K-1, QBI inputs, SE deductions, home office |
| state | object | — | state taxable income for the state tax targets (us.ca/us.va/us.il.income_tax; parameters via lookup_tax_parameter) |
| target | string | — | rule 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_overtime | object | — | § 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.
| Name | Type | Req | Description |
|---|---|---|---|
| additions | — | — | total 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… |
| ageOrBlindBoxes | integer | — | count of age-65+/blind boxes checked (taxpayer/spouse, per box) |
| asOf | string | yes | year-end date, e.g. 2025-12-31 — REQUIRED |
| caAb5GrossIncomeAddition | — | — | gross 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… |
| caAb5NetLossAddition | — | — | net 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… |
| caAmt | — | — | OVERRIDE 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. |
| caAmtTaxesAddback | — | — | taxes 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… |
| caBhst | — | — | us.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… |
| caCalEITC | — | — | us.ca.caleitc result (pass the oracle target's answer) |
| caDepreciationAddition | — | — | CA 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… |
| caEducatorExpensesDeducted | — | — | federal 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… |
| caHsaDeduction | — | — | federal HSA deduction (Form 8889 line 13) — California does not conform to § 223: the composer ADDS it back for CA |
| caHsaTaxableDistribution | — | — | HSA distribution amount taxed federally (Form 8889 line 16) — not income for California: the composer SUBTRACTS it for CA |
| caIsoPreference | — | — | ISO 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… |
| caItemizedDeductions | — | — | CA 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… |
| caRentersCredit | — | — | us.ca.renters_credit result (pass the oracle target's answer) — nonrefundable, joins the exemption credits in the line-48 subtraction from tax. |
| caTaxableEarlyDistribution | — | — | retirement-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… |
| caYCTC | — | — | us.ca.yctc result (pass the oracle target's answer) |
| cityWithholding | — | — | NY line 73 NYC withholding |
| claimedAsDependent | boolean | — | someone 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… |
| dependents | integer | — | dependent count (CA dependent exemption credits; NY $1,000 exemptions) |
| estimatedPayments | — | — | state estimated payments ONLY (extension payments and prior-year credited overpayments have their own lines where the form provides them) |
| exemptions | integer | — | personal + dependent exemption COUNT (self + spouse + dependents) |
| extensionPayment | — | — | payment 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… |
| federalAGI | number | — | federal 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). |
| federalEITC | — | — | federal EIC, line 27a (from compute_return) |
| filingHoh | boolean | — | — |
| filingHohOrQss | boolean | — | — |
| filingJoint | boolean | — | — |
| filingStatus | string | — | REQUIRED 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… |
| ilChildUnder12 | boolean | — | IL 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;… |
| ilEitcOverride | — | — | us.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… |
| ilK12Expenses | — | — | IL qualified K-12 education expenses (before the $250 floor) |
| ilPropertyTaxPaid | — | — | IL property tax on principal residence, net of business-use portion |
| ilTeacherExpenses | — | — | IL Schedule 1299-C educator materials expenses |
| jurisdiction | string | yes | — |
| nonrefundableCredits | — | — | state 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… |
| nyHouseholdCredit | — | — | NYS household credit from table 2 (us.ny.parameters citation) |
| nycHouseholdCredit | — | — | NYC household credit from table 5 |
| nycTaxableIncome | — | — | NYC taxable income (IT-201 line 47) if NYC resident |
| pa529Contributions | — | — | Schedule O code T: § 529 contributions, ALREADY capped at $19,000 per beneficiary per taxpayer-spouse (2025); no deduction for rollovers/beneficiary changes |
| paAbleContributions | — | — | Schedule O code A: PA ABLE contributions, capped at the federal gift-tax exclusion ($19,000 for 2025) |
| paBusinessNet | — | — | PA-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) |
| paDividends | — | — | PA-40 line 3: PA-taxable dividends INCLUDING mutual-fund capital-gain distributions (PA classifies them as dividends, not gains) |
| paEligibilityAddbacks | — | — | Schedule 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).… |
| paEstateTrust | — | — | PA-40 line 7: estate/trust income (PA Schedule J; an estate or trust cannot distribute a loss — never negative) |
| paGambling | — | — | PA-40 line 8: gambling and lottery winnings net of wager costs (noncash PA Lottery prizes exempt; cash prizes taxable) |
| paGrossCompensation | — | — | PA-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… |
| paInterest | — | — | PA-40 line 2: PA-taxable interest (gross class — no expenses; includes commercial-annuity interest taxable as PA interest) |
| paMsaHsaContributions | — | — | Schedule O codes M/H: MSA + HSA contributions at the federally-allowed amounts |
| paNrk1Withholding | — | — | PA-40 line 17: nonresident tax withheld from PA Schedule(s) NRK-1 |
| paPenaltiesInterest | — | — | PA-40 line 27: penalties and interest incl. estimated-underpayment penalty (REV-1630) |
| paPropertyNet | — | — | PA-40 line 5, taxpayer's own net gain/loss from sale/exchange/disposition of property (negative allowed; no carryover) |
| paRentRoyaltyNet | — | — | PA-40 line 6, taxpayer's own net rents/royalties/patents/copyrights (short-term rentals under 30 days are BUSINESS income, line 4) |
| paResidentCredit | — | — | PA-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. |
| paScheduleDcCredit | — | — | PA-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) |
| paScheduleOcCredits | — | — | PA-40 line 23 component: Schedule OC restricted credits total (transcribed; no oracle target) |
| paSpDependentChildren | integer | — | Schedule 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… |
| paSpouseBusinessNet | — | — | PA-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) |
| paSpousePropertyNet | — | — | PA-40 line 5, spouse's own net property gain/loss |
| paSpouseRentRoyaltyNet | — | — | PA-40 line 6, spouse's own net rent/royalty amount |
| paStudentLoanInterest | — | — | Schedule O code S: student loan interest PAID (new deduction for 2025; the composer caps at $2,500 — pass the uncapped amount) |
| paUnreimbursedExpenses | — | — | PA-40 line 1b: Schedule UE unreimbursed employee business expenses (a compensation-class expense, never a line-10 deduction) |
| priorYearOverpaymentCredited | — | — | prior-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… |
| refundableCredits | — | — | state 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… |
| spouseStateWithholding | — | — | VA 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) |
| stateWithholding | — | — | state 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… |
| subtractions | — | — | total 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) |
| taxableSocialSecurity | — | — | federally 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… |
| unemploymentCompensation | — | — | unemployment 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… |
| useTax | — | — | consumer use / sales-use tax owed on the return |
| vaAgeDeduction | — | — | OVERRIDE ONLY — pass vaAgeQualifyingFull/vaAgeQualifyingTested instead and the composer computes the age deduction itself (including the AFAGI social-security exclusion agents routinely miss). When s… |
| vaAgeQualifyingFull | integer | — | count of filers (taxpayer/spouse) born ON OR BEFORE January 1, 1939 — each gets the UNCONDITIONAL $12,000 age deduction (no income test) |
| vaAgeQualifyingTested | integer | — | count 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 —… |
| vaFamilyVagi | — | — | Schedule 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 |
| vaItemizedCasualty | — | — | VA Sch A casualty/theft losses (protected from the overall limitation) |
| vaItemizedCharitable | — | — | VA Sch A charitable contributions (federal Schedule A amount) |
| vaItemizedGambling | — | — | VA Sch A gambling losses (§ 165(d), limited to winnings; protected from the overall limitation) |
| vaItemizedInvestmentInterest | — | — | VA Sch A investment interest (protected from the overall limitation) |
| vaItemizedMedical | — | — | VA 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) |
| vaItemizedMortgageInterest | — | — | VA Sch A home mortgage interest and points (federal Schedule A amount) |
| vaItemizedOther | — | — | VA Sch A other itemized deductions |
| vaItemizedOtherTaxes | — | — | VA Sch A line 6 other taxes (foreign income tax etc.) |
| vaItemizedPersonalPropertyTaxes | — | — | VA Sch A line 5c personal property taxes — NOT subject to the SALT cap for Virginia |
| vaItemizedRealEstateTaxes | — | — | VA Sch A line 5b real estate taxes — NOT subject to the SALT cap for Virginia |
| vaItemizedSalesTaxes | — | — | VA 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) |
| vaItemizedStateLocalIncomeTaxes | — | — | VA Sch A line 5a when INCOME taxes are claimed (mutually exclusive with sales taxes) |
| vaItemizing | boolean | — | taxpayer 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… |
| vaRefundableEitc | — | — | OVERRIDE 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. |
| vaScheduleAdjDeductions | — | — | Schedule 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… |
| vaSpouseAgeBlindBoxes | integer | — | STA worksheet Part 1 line 2: spouse's 65+/blind box count (0-2) |
| vaSpouseTaxAdjustment | — | — | OVERRIDE ONLY — the composer now computes the VA Spouse Tax Adjustment worksheet itself when vaYourVagi/vaSpouseVagi are provided. If passed, this amount wins. |
| vaSpouseVagi | — | — | spouse's separate VAGI for the STA worksheet (Form 760 line 17 box; MFJ only) |
| vaYourAgeBlindBoxes | integer | — | STA worksheet Part 1 line 2: PRIMARY taxpayer's 65+/blind box count (0-2) — per-spouse exemption = boxes x $800 + $930 |
| vaYourVagi | — | — | PRIMARY 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… |
| wages | — | — | federal line 1a wages (NY IT-201 line 1) |
| yonkersSurcharge | — | — | us.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… |
| yonkersWithholding | — | — | NY 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).
| Name | Type | Req | Description |
|---|---|---|---|
| asOf | string | — | REQUIRED 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. |
| custodialParentReleasedClaim | boolean | — | The custodial parent signed a written declaration (Form 8332) releasing the claim to the child for this year (§ 152(e)(2)). |
| depAge | — | — | Candidate's age at the end of the year (§ 152(c)(3)). |
| depDivorcedParentsRule | boolean | — | § 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… |
| depFilesJointReturn | boolean | — | Candidate files a joint return with a spouse (other than a refund-only claim) (§ 152(c)(1)(E)). |
| depGrossIncome | number|string | — | Candidate's gross income for the year (§ 152(d)(1)(B) limit: $5,200 TY2025 / $5,300 TY2026). In dollars. |
| depIsFullTimeStudent | boolean | — | Candidate was a full-time student for at least 5 months (§ 152(f)(2)). |
| depIsQualifyingChildOfAnother | boolean | — | Candidate is the qualifying child of the taxpayer or any other taxpayer (§ 152(d)(1)(D)). |
| depLivedWithTaxpayerOverHalfYear | boolean | — | Candidate had the same principal residence as the taxpayer for more than half the year (§ 152(c)(1)(B)). |
| depPermanentlyDisabled | boolean | — | Candidate is permanently and totally disabled (§ 152(c)(3)(B)). |
| depProvidedOwnSupportOverHalf | boolean | — | Candidate provided more than half of their own support (§ 152(c)(1)(D)). |
| depRelationshipChild | boolean | — | Candidate is the taxpayer's child, stepchild, foster child, sibling, step-sibling, or a descendant of any of them (§ 152(c)(2)). |
| depRelationshipRelative | boolean | — | Candidate bears a § 152(d)(2) relationship to the taxpayer (parent, grandparent, sibling, in-law, etc.) or lived in the household all year. |
| depYoungerThanTaxpayer | boolean | — | Candidate is younger than the taxpayer (§ 152(c)(3)(A)). |
| hasMultipleSupportAgreement | boolean | — | A § 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… |
| target | string | — | rule to derive (default: us.federal.dependent.is_dependent). Other targets: us.federal.dependent.qualifying_child, us.federal.dependent.qualifying_relative |
| taxpayerIsCustodialParent | boolean | — | The taxpayer is the custodial parent (the parent with whom the child resided the greater number of nights, § 152(e)(4)(A)). |
| taxpayerProvidedOver10PercentSupport | boolean | — | The taxpayer contributed over 10 percent of the candidate's support (§ 152(d)(3)(D) — the support test under a multiple-support agreement). |
| taxpayerProvidedOverHalfSupport | boolean | — | The 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.
| Name | Type | Req | Description |
|---|---|---|---|
| ruleId | string | yes | e.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.
| Name | Type | Req | Description |
|---|---|---|---|
| facts | object | yes | facts 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/… |
| fromDollars | number | yes | — |
| stepDollars | number | — | coarse scan step, default 1000 |
| toDollars | number | yes | — |
| vary | string | yes | money 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'.
| Name | Type | Req | Description |
|---|---|---|---|
| job | string | yes | e.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.
| Name | Type | Req | Description |
|---|---|---|---|
| asOf | string | — | — |
| query | string | yes | plain-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.
| Name | Type | Req | Description |
|---|---|---|---|
| asOf | string | — | — |
| limit | integer | — | — |
| query | string | yes | plain-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.
| Name | Type | Req | Description |
|---|---|---|---|
| asOf | string | — | — |
| claimedAmount | number|string | yes | dollars, e.g. 50000 or "1234.56" |
| filingStatus | string | — | — |
| query | string | yes | what 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.
| Name | Type | Req | Description |
|---|---|---|---|
| claimedAmount | number|string | yes | the amount to verify (negative = refund) |
| facts | object | yes | facts 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/… |
| toleranceDollars | number | — | default 1 |
No output schema declared.
No examples provided.