tools · POST /v1/tools/determine_dependent
determine_dependent
§ 152 qualifying child or qualifying relative, with proof.
Call it
bash
curl -s https://opentax.invaro.ai/v1/tools/determine_dependent \
-H "Authorization: Bearer $OPENTAX_KEY" \
-H "Content-Type: application/json" \
-d '{
"depRelationshipChild": true,
"depAge": 12,
"depLivedWithTaxpayerOverHalfYear": true,
"depProvidedOwnSupportOverHalf": false,
"depFilesJointReturn": false,
"asOf": "2025-12-31"
}'What it does
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).
This is the description the MCP server hands to a model. The imperative sentences are addressed to the model; the facts about scope apply to every caller.
Inputs
Nothing is syntactically required, but computation needs asOf, and the engine names any fact the target depends on with NEEDS_FACTS.
| field | type | description |
|---|---|---|
| depRelationshipChild | boolean | Candidate is the taxpayer's child, stepchild, foster child, sibling, step-sibling, or a descendant of any of them (§ 152(c)(2)). |
| depAge | integer | string | Candidate's age at the end of the year (§ 152(c)(3)). |
| depIsFullTimeStudent | boolean | Candidate was a full-time student for at least 5 months (§ 152(f)(2)). |
| depPermanentlyDisabled | boolean | Candidate is permanently and totally disabled (§ 152(c)(3)(B)). |
| depYoungerThanTaxpayer | boolean | Candidate is younger than the taxpayer (§ 152(c)(3)(A)). |
| depLivedWithTaxpayerOverHalfYear | boolean | Candidate had the same principal residence as the taxpayer for more than half the year (§ 152(c)(1)(B)). |
| depProvidedOwnSupportOverHalf | boolean | Candidate provided more than half of their own support (§ 152(c)(1)(D)). |
| depFilesJointReturn | boolean | Candidate files a joint return with a spouse (other than a refund-only claim) (§ 152(c)(1)(E)). |
| 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. |
| depGrossIncome | number | string | Candidate's gross income for the year (§ 152(d)(1)(B) limit: $5,200 TY2025 / $5,300 TY2026). In dollars. |
| taxpayerProvidedOverHalfSupport | boolean | The taxpayer provided more than half of the candidate's support (§ 152(d)(1)(C)). |
| depIsQualifyingChildOfAnother | boolean | Candidate is the qualifying child of the taxpayer or any other taxpayer (§ 152(d)(1)(D)). |
| 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 candidate, and every other over-10% contributor signed a Form 2120 waiver. |
| 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). |
| 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 their custody over half the year. |
| taxpayerIsCustodialParent | boolean | The taxpayer is the custodial parent (the parent with whom the child resided the greater number of nights, § 152(e)(4)(A)). |
| custodialParentReleasedClaim | boolean | The custodial parent signed a written declaration (Form 8332) releasing the claim to the child for this year (§ 152(e)(2)). |
| target | string | rule to derive (default: us.federal.dependent.is_dependent). Other targets: us.federal.dependent.qualifying_child, us.federal.dependent.qualifying_relative |
| 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. pattern ^\d{4}-\d{2}-\d{2}$ |
| includeProof | boolean | include the full proof artifact in the response as `proof` (PROOF-FORMAT v2: every applied rule, input, assumption and rounding, verifiable offline against corpusMerkleRoot; ~200 KB). Default false — the hashes alone are returned. |
Example
No captured example for this tool yet; the call above is a valid request. The examples page has ten end-to-end pairs including two refusals.