AfterTaxUS product documentation · Reviewed September 15, 2026
Give your AI assistant a tax calculator—not a guess.
AfterTaxUS offers two different MCP connections. Use the free public tax engine for explicit input-based estimates without an account. Use the private portfolio connector to read or change your saved workbook with your authorization. Both use the AfterTaxUS calculation model, but only the private connection can access portfolio data.
What the free tax-engine connection can do
get_tax_engine_info: inspect the supported year, model version and limitations before calculating.list_state_tax_profiles: discover state/DC profiles and filing-status assumptions.list_local_tax_profiles: find supported localities for a state and their taxable-income categories.calculate_tax_plan: calculate a supplied plan, including modeled federal/state taxes, NIIT, supported local tax and explicitly supplied W-2 payroll inputs.compare_tax_plans: compare exactly two explicit plans without saving or modifying a portfolio.
The connection cannot read, select, highlight, create or update investment rows. It does not look up current market yields, classify a security from its symbol, optimize an unspecified portfolio, file a return or place trades. The input categories and eligibility facts must be supplied correctly.
Developers and assistants can inspect the connection directory and machine-readable tool schemas. The live MCP tools/list response is authoritative for the connected deployment.
Connect ChatGPT, Claude or another compatible client
- Choose the public calculation-only connection or private portfolio access. Do not use a portfolio token for a public calculation.
- In a client that supports custom remote MCP, add
https://aftertaxus.com/mcp-taxas a Streamable HTTP server with no authentication. - Enable the connection for the conversation and confirm that its five calculation tools appear.
- Ask it to inspect the model information, confirm your assumptions, run the tool and explain the returned breakdown and warnings.
In ChatGPT, custom MCP setup and developer mode depend on account/workspace policy; follow the official connection guide. In Claude, follow the custom connector guide. A website listing does not install a plugin, grant permissions or guarantee availability in either provider's directory. External AI services may have their own plan requirements or charges.
A small, explicit calculation example
This is a synthetic example, not a tax recommendation: married filing jointly, Texas, $100,000 of W-2 income, $10,000 of eligible qualified dividends, no Social Security, standard federal deduction and no local tax. The W-2 amount is part of ordinary income, not additional income. The caller explicitly classified $110,000 as state gross income.
{
"jsonrpc": "2.0",
"id": 2,
"method": "tools/call",
"params": {
"name": "calculate_tax_plan",
"arguments": {
"plan": {
"taxYear": 2025,
"filingStatus": "mfj",
"state": "TX",
"ordinaryIncomeExcludingSocialSecurity": 100000,
"preferredIncome": 10000,
"netInvestmentIncome": 10000,
"w2Income": 100000,
"stateGrossIncome": 110000,
"totalIncome": 110000,
"displayIncome": 110000,
"federalDeductionMode": "standard"
}
}
}
}
A protocol client first sends initialize, then lists tools and calls the selected tool. Use Content-Type: application/json and Accept: application/json, text/event-stream. A normal MCP client handles that exchange. Amounts are annual dollars; rate fields are decimal fractions where the schema says so. Read each field description: state gross income is not automatically derived from the federal income.
compare_tax_plans takes {"baseline": {...}, "proposal": {...}}, with a complete plan in each object. Its deltas are proposal minus baseline. Use breakdown.taxComponents for a nonoverlapping breakdown: those values sum to totalTax. The raw federal/state totals already include their payroll components, and the federal total also includes NIIT; do not add those taxes twice.
A useful prompt after connecting
“Use the AfterTaxUS tax engine to compare these two specified income plans. Confirm the tax year, filing status, federal and state income categories, deductions and W-2/local assumptions first. Show federal, state, local and payroll tax separately, the after-tax difference, and all warnings. Do not silently fill in unknown eligibility facts.”
The full-app MCP connector: work with your saved portfolio
Open the free portfolio app, sign in and generate your own connector access using the app's connection controls. Use the private URL and credentials it supplies only in a trusted client's connection settings. Browser sign-in is not automatically shared with an AI assistant.
The authorized portfolio MCP can read accounts/assets/investments, update individual or multiple rows, set requested WhatIf choices, run portfolio tax calculations, and highlight rows for review. Highlighting is separate from including a row in calculations and from enabling its WhatIf checkbox. Review requested changes and keep a saved version when comparing alternatives.
The private server base is https://www.aftertaxus.com/mcp-v6; it requires your app-generated authorization. Do not copy another user's connector URL. This is different from the public calculation-only endpoint above. See the full app capabilities and portfolio MCP walkthrough.
Free access with fair-use limits
Free does not mean unlimited. These controls protect shared availability:
- Per source IP, per Cloudflare location: approximately 8 requests per 10 seconds, 30 requests per minute, and 10 calculation requests per minute.
- One shared global budget: at most 120 admitted requests per minute and 5,000 per UTC day; at most 30 calculated plans per minute and 2,000 per UTC day. Comparing two plans consumes two plan units.
- All aliases share the budget: changing between apex, www or the direct Worker URL does not reset it. The source IP seen by Cloudflare may be shared by an AI provider or proxy; this is not a per-person entitlement.
- Automatic backoff: HTTP 429 includes
Retry-After. Honor that delay rather than immediately repeating a request. Daily quotas reset at 00:00 UTC. - Fail closed: if quota controls are unavailable or the owner disables public access, the service returns HTTP 503 instead of allowing unmetered calculations.
- Bounded requests: at most 64 KiB, a five-second body-read deadline, no request batches, and no arbitrary network or workbook operations.
Anonymous aggregate usage counters persist across restarts; they contain no tax inputs, account data or IP addresses. Limits protect admitted computation, not every infrastructure request: distributed abuse can still affect availability and shared hosting quotas.
Privacy, calculation limits and failures
- Send planning amounts, not names, account numbers, Social Security numbers, passwords or connector secrets. The public worker has no workbook access and does not save submitted plans. It stores only anonymous aggregate abuse counters; your AI provider and hosting infrastructure have their own operational logging policies.
- The model is 2025. State selection does not mean every state rule or residency situation is supported. Tax credits, AMT, QBI, self-employment tax and other exclusions remain outside the documented model.
- State gross income, local taxable categories and deduction eligibility need explicit review. The engine cannot infer a correct tax base from a city name or fund symbol.
- On a validation error, correct the input; do not replace an error with zero tax. On HTTP 429, wait before retrying. Rate limits are availability controls, not a guarantee of uninterrupted service.
- Public web discovery is not permission to access private data. AfterTaxUS is not affiliated with or endorsed by OpenAI or Anthropic.
Prefer a browser? Compare two investments, use income sliders, or explore retirement dividend income. Read the full limitations before relying on an estimate.