Skip to main content
Glama

determine_dependent

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).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
asOfNoREQUIRED 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.
depAgeNoCandidate's age at the end of the year (§ 152(c)(3)).
targetNorule to derive (default: us.federal.dependent.is_dependent). Other targets: us.federal.dependent.qualifying_child, us.federal.dependent.qualifying_relative
includeProofNoinclude 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.
depGrossIncomeNoCandidate's gross income for the year (§ 152(d)(1)(B) limit: $5,200 TY2025 / $5,300 TY2026). In dollars.
depFilesJointReturnNoCandidate files a joint return with a spouse (other than a refund-only claim) (§ 152(c)(1)(E)).
depIsFullTimeStudentNoCandidate was a full-time student for at least 5 months (§ 152(f)(2)).
depRelationshipChildNoCandidate is the taxpayer's child, stepchild, foster child, sibling, step-sibling, or a descendant of any of them (§ 152(c)(2)).
depDivorcedParentsRuleNo§ 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.
depPermanentlyDisabledNoCandidate is permanently and totally disabled (§ 152(c)(3)(B)).
depYoungerThanTaxpayerNoCandidate is younger than the taxpayer (§ 152(c)(3)(A)).
depRelationshipRelativeNoCandidate bears a § 152(d)(2) relationship to the taxpayer (parent, grandparent, sibling, in-law, etc.) or lived in the household all year.
taxpayerIsCustodialParentNoThe taxpayer is the custodial parent (the parent with whom the child resided the greater number of nights, § 152(e)(4)(A)).
hasMultipleSupportAgreementNoA § 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.
custodialParentReleasedClaimNoThe custodial parent signed a written declaration (Form 8332) releasing the claim to the child for this year (§ 152(e)(2)).
depIsQualifyingChildOfAnotherNoCandidate is the qualifying child of the taxpayer or any other taxpayer (§ 152(d)(1)(D)).
depProvidedOwnSupportOverHalfNoCandidate provided more than half of their own support (§ 152(c)(1)(D)).
taxpayerProvidedOverHalfSupportNoThe taxpayer provided more than half of the candidate's support (§ 152(d)(1)(C)).
depLivedWithTaxpayerOverHalfYearNoCandidate had the same principal residence as the taxpayer for more than half the year (§ 152(c)(1)(B)).
taxpayerProvidedOver10PercentSupportNoThe taxpayer contributed over 10 percent of the candidate's support (§ 152(d)(3)(D) — the support test under a multiple-support agreement).

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedInput schema / properties / includeProof
      Added value: +{
      +  "description": "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.",
      +  "type": "boolean"
      +}
  2. First observed

TDQS

A4/5.0
Behavior3/5

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

With no annotations provided, the description carries the behavioral disclosure burden. It does disclose that the tool returns a proof-backed yes/no with citations and covers special scenarios like multiple-support agreements and the divorced-parents release. However, it does not describe side-effect behavior, failure modes, the relationship between hashes and proof output, or the mandatory asOf requirement, leaving notable gaps for a computation tool with no annotation safety profile.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with no filler. The core scope, legal sub-rules, output type, and downstream integration are all packed into a tight front-loaded structure. Every clause contributes either selection-relevant or invocation-relevant information.

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

Completeness4/5

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

For a 20-parameter legal analysis tool with no output schema, the description is quite complete: it states the decision question, the applicable § 152 categories, the proof-backed result, and how to route the result into calculate_tax. The only noticeable gap is the absence of explicit return-shape detail beyond 'yes/no with citations', but given 100% parameter schema coverage and no siblings that overlap directly, this is a minor omission.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3 even though the tool description adds no per-parameter explanations. The description adds high-level legal context (multiple-support agreements, divorced-parents release) that clarifies why certain booleans matter, but the schema already documents every parameter, so no extra parameter meaning is needed.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description begins with a specific verb ('Determine'), a precise resource ('ONE candidate person is the taxpayer's § 152 dependent'), and clear sub-scopes ('qualifying child or qualifying relative, including multiple-support agreements and the divorced-parents release'). It also states the output type ('proof-backed yes/no with citations'), which uniquely distinguishes it from sibling tools like calculate_tax, verify_fact, and explain_rule.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear context: it should be used to evaluate one candidate dependent and its result feeds into calculate_tax's credits group (qualifyingChildren / otherDependents). It does not explicitly state when-not-to-use or name a specific alternative sibling for exclusions, so it stops just short of a 5.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources