Skip to content

Job Tax

job_tax — G6 Tax job agent.

Cluster: Job Agents | Type: component | MCP Tools: 26

Overview

Domain-specialist job agent for tax professionals and advisors. Supports pilot workflows for tax-return preparation, tax-liability estimates, deduction review, refund/balance-due calculations, compliance checklists, and bracket or marginal-rate analysis within G6's safety-bounded, audit-trailed JobAgentBlock framework.

Pilot-ready, not compliance-grade tax filing

job_tax is useful for design-partner demos, reviewed workflow prototypes, and accountant-assisted analysis. It is not an unsupervised tax filing product, tax advice engine, compliance certification system, or substitute for a credentialed tax professional. Local calculations use embedded/static rule tables for selected jurisdictions and years; they can be incomplete, stale, or inapplicable to a user's facts. High-stakes operations such as filing, deduction review, and compliance assessment require human review/HITL approval. Do not rely on this component for actual filing, planning, controversy, or regulated customer claims without independent professional review and jurisdiction-specific validation.

When to use:

  • Drafting reviewed individual tax-return summaries with structured deduction schedules
  • Estimating tax liability for supported US tax years or Australian resident-income helper cases
  • Reviewing expense claims and deductions as a triage step before professional sign-off
  • Performing tax-bracket modelling for financial planning or salary-packaging discussions

Example:

from mvp.job_tax import JobTaxBlock, JobTaxInput

block = JobTaxBlock()
result = block.infer(JobTaxInput(
    task="Calculate Australian resident income tax for a reviewed planning worksheet",
    jurisdiction="AU",
    context={
        "cpa_context": True,
        "attestation": {
            "credential_id": "CPA-EXAMPLE",
            "jurisdiction": "AU",
            "issuer": "Example professional body",
        },
    },
    parameters={"gross_income": "100000", "income_year": "2025-26"},
))
# result.ok -> True; result.value -> JobTaxOutput with result, artifacts

Works well with: job_framework, job_accountant, job_finance

Public API

JobTaxInput(JobInput)

Input for the Tax job agent.

JobTaxOutput(JobOutput)

JobTaxBlock(JobAgentBlock)

G6 Tax job agent — Tier 1 block with MCP delegation and three safety floors.

Field Type Default
name str 'job_tax'
sector SectorClassification field(default_factory=lambda: _SECTOR)
toolkit ToolkitSpec \| None field(default_factory=lambda: JOB_TOOLKITS.get('tax'))
mcp_module str 'mvp.job_tax.tax_mcp.server'
capabilities ClassVar[set[type]] {Extensible, HumanLearnable, Collaborative, ProblemSolvable, KnowledgeGrounded, Memorable, AgentCommunicable}

MCPJobTaxInput(BaseModel)

Input to JobTaxMCPBlock — 26-op dispatch.

Field Type Default
op Literal['prepare_return', 'calculate_liability', 'file_declaration', 'review_deductions', 'process_refund', 'analyze_brackets', 'evaluate_exemptions', 'assess_compliance', 'benchmark_rates', 'audit_entries', 'create_proposal', 'review_deliverable', 'delegate_task', 'report_status', 'request_feedback', 'store_artifact', 'retrieve_artifact', 'list_artifacts', 'search_artifacts', 'archive', 'plan_sprint', 'track_progress', 'reflect_on_outcome', 'get_capabilities', 'info', 'list_patterns'] required
task str ''
context dict[str, Any] Field(default_factory=dict)
parameters dict[str, Any] Field(default_factory=dict)
artifact_id str ''
query str ''
run_mode str 'beta'
reviewer_signature str ''

MCPJobTaxOutput(BaseModel)

Output from JobTaxMCPBlock.

Field Type Default
op str required
result str ''
artifacts list[dict[str, Any]] Field(default_factory=list)
records list[dict[str, Any]] Field(default_factory=list)
message str ''
count int 0
found bool False
metadata dict[str, Any] Field(default_factory=dict)
degraded bool False
degradation_reason str \| None None
human_review_required bool False
suppression_cause str \| None None

TaxStore(JobStore)

SQLite store for the Tax job agent.

Constructor:

Parameter Type Default
db_path str ':memory:'

Methods:

create_tax_return(taxpayer_id: str = '', tax_year: int = 2024, filing_status: str = 'single', jurisdiction: str = 'US', gross_income: str = '0', taxable_income: str = '0', tax_liability: str = '0', status: str = 'draft', data: dict | None = None) -> str

get_tax_return(return_id: str) -> dict | None

update_tax_return(return_id: str, **fields: Any) -> bool

list_tax_returns(taxpayer_id: str = '', status: str = '', limit: int = 50) -> list[dict]

add_deduction(return_id: str = '', category: str = '', description: str = '', amount: str = '0', substantiated: bool = False, data: dict | None = None) -> str

list_deductions(return_id: str = '', category: str = '', limit: int = 100) -> list[dict]

get_deductions_total(return_id: str) -> str

create_entity(name: str, entity_type: str = 'individual', ein: str = '', jurisdiction: str = 'US', fiscal_year_end: str = 'December 31', data: dict | None = None) -> str

get_entity(entity_id: str) -> dict | None

list_entities(entity_type: str = '', limit: int = 50) -> list[dict]

create_filing(entity_id: str = '', form_type: str = '', due_date: str = '', filed_date: str = '', status: str = 'pending', data: dict | None = None) -> str

update_filing(filing_id: str, **fields: Any) -> bool

list_filings(entity_id: str = '', status: str = '', limit: int = 50) -> list[dict]

create_plan(entity_id: str = '', strategy: str = '', estimated_savings: str = '0', risk_level: str = 'low', data: dict | None = None) -> str

list_plans(entity_id: str = '', risk_level: str = '', limit: int = 50) -> list[dict]

JobTaxMCPBlock(AIBlock[MCPJobTaxInput, MCPJobTaxOutput, dict])

26-op MCP block for the Tax job agent.

Field Type Default
name str 'job_tax_mcp'
state dict field(default_factory=dict)
db_path str ':memory:'
resource_bounds ResourceBounds field(default_factory=ResourceBounds)
usage ResourceUsage field(default_factory=ResourceUsage)

Methods:

infer(data: MCPJobTaxInput) -> Result[MCPJobTaxOutput]

Functions

assemble_review_text(output: Any) -> str

Collect the reviewable free text from a JobTaxOutput (duck-typed).

assess_tax_output(output: Any, qa_block: Any | None = None, generate: Any | None = None) -> GroundedRunResult

Run grounded four-valued QA over a tax output.

MCP Tools

Operation Source
prepare_return tax_mcp
calculate_liability tax_mcp
file_declaration tax_mcp
review_deductions tax_mcp
process_refund tax_mcp
analyze_brackets tax_mcp
evaluate_exemptions tax_mcp
assess_compliance tax_mcp
benchmark_rates tax_mcp
audit_entries tax_mcp
create_proposal tax_mcp
review_deliverable tax_mcp
delegate_task tax_mcp
report_status tax_mcp
request_feedback tax_mcp
store_artifact tax_mcp
retrieve_artifact tax_mcp
list_artifacts tax_mcp
search_artifacts tax_mcp
archive tax_mcp
plan_sprint tax_mcp
track_progress tax_mcp
reflect_on_outcome tax_mcp
get_capabilities tax_mcp
info tax_mcp
list_patterns tax_mcp