Verified US tax and money decision tools: verdict plus a pre-filled deep link to the full page.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Married Filing Jointly vs Separately — Compares Married Filing Jointly vs Separately for a couple and says which keeps more, including lost credits. Returns a one-line verdict plus a link to the full interactive page with the numbers pre-filled. Accepts only numbers and enums.
Tax year, e.g. 2026. Omit to use the current tax year.
A non-negative number (US dollars unless the field name says otherwise).
A non-negative number (US dollars unless the field name says otherwise).
A non-negative number (US dollars unless the field name says otherwise).
true or false.
Married Filing Jointly vs Separately — Compares Married Filing Jointly vs Separately for a couple and says which keeps more, including lost credits. Returns a one-line verdict plus a link to the full interactive page with the numbers pre-filled. Accepts only numbers and enums.
| Argument | Type | Description |
|---|---|---|
| year | integer | Tax year, e.g. 2026. Omit to use the current tax year. |
| spouseA* | object | |
| spouseB* | object | |
| otherDependents | integer | A non-negative number (US dollars unless the field name says otherwise). |
| investmentIncome | number | A non-negative number (US dollars unless the field name says otherwise). |
| qualifyingChildren | integer | A non-negative number (US dollars unless the field name says otherwise). |
| hasChildcareExpenses | boolean | true or false. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"spouseA",
"spouseB"
],
"properties": {
"year": {
"type": "integer",
"maximum": 2100,
"minimum": 2000,
"description": "Tax year, e.g. 2026. Omit to use the current tax year."
},
"spouseA": {
"type": "object",
"required": [
"income"
],
"properties": {
"income": {
"type": "number",
"minimum": 0,
"description": "A non-negative number (US dollars unless the field name says otherwise)."
},
"itemizedDeductions": {
"type": "number",
"minimum": 0,
"description": "A non-negative number (US dollars unless the field name says otherwise)."
},
"retirementContributions": {
"type": "number",
"minimum": 0,
"description": "A non-negative number (US dollars unless the field name says otherwise)."
}
}
},
"spouseB": {
"type": "object",
"required": [
"income"
],
"properties": {
"income": {
"type": "number",
"minimum": 0,
"description": "A non-negative number (US dollars unless the field name says otherwise)."
},
"itemizedDeductions": {
"type": "number",
"minimum": 0,
"description": "A non-negative number (US dollars unless the field name says otherwise)."
},
"retirementContributions": {
"type": "number",
"minimum": 0,
"description": "A non-negative number (US dollars unless the field name says otherwise)."
}
}
},
"otherDependents": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "A non-negative number (US dollars unless the field name says otherwise)."
},
"investmentIncome": {
"type": "number",
"minimum": 0,
"description": "A non-negative number (US dollars unless the field name says otherwise)."
},
"qualifyingChildren": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "A non-negative number (US dollars unless the field name says otherwise)."
},
"hasChildcareExpenses": {
"type": "boolean",
"description": "true or false."
}
}
}Freelance Rate Floor — Calculates the hourly rate a freelancer must bill to match a given salary after self-employment tax and lost benefits. Returns a one-line verdict plus a link to the full interactive page with the numbers pre-filled. Accepts only numbers and enums.
| Argument | Type | Description |
|---|---|---|
| year | integer | Tax year, e.g. 2026. Omit to use the current tax year. |
| stateCode* | string | Two-letter US state code, e.g. CA, TX, NY. |
| filingStatus* | string | One of: single, married_joint, married_separate, head_of_household. |
| currentSalary* | number | A non-negative number (US dollars unless the field name says otherwise). |
| annualBenefitsValue* | number | A non-negative number (US dollars unless the field name says otherwise). |
| billableHoursPerYear | integer | A non-negative number (US dollars unless the field name says otherwise). |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"currentSalary",
"stateCode",
"filingStatus",
"annualBenefitsValue"
],
"properties": {
"year": {
"type": "integer",
"maximum": 2100,
"minimum": 2000,
"description": "Tax year, e.g. 2026. Omit to use the current tax year."
},
"stateCode": {
"type": "string",
"pattern": "^[A-Za-z]{2}$",
"description": "Two-letter US state code, e.g. CA, TX, NY."
},
"filingStatus": {
"enum": [
"single",
"married_joint",
"married_separate",
"head_of_household"
],
"type": "string",
"description": "One of: single, married_joint, married_separate, head_of_household."
},
"currentSalary": {
"type": "number",
"minimum": 0,
"description": "A non-negative number (US dollars unless the field name says otherwise)."
},
"annualBenefitsValue": {
"type": "number",
"minimum": 0,
"description": "A non-negative number (US dollars unless the field name says otherwise)."
},
"billableHoursPerYear": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 1,
"description": "A non-negative number (US dollars unless the field name says otherwise)."
}
}
}Is this job offer worth it? — Compares two jobs on real take-home pay after federal, state, FICA, 401(k) and commute, and says which wins and by how much. Returns a one-line verdict plus a link to the full interactive page with the numbers pre-filled. Accepts only numbers and enums.
| Argument | Type | Description |
|---|---|---|
| offer* | object | |
| current* | object | |
| options | object |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"current",
"offer"
],
"properties": {
"offer": {
"type": "object",
"required": [
"annualSalary"
],
"properties": {
"label": {
"type": "string",
"maxLength": 80,
"description": "A non-negative number (US dollars unless the field name says otherwise)."
},
"commute": {
"type": "object",
"properties": {
"mpg": {
"type": "number",
"minimum": 1,
"description": "A non-negative number (US dollars unless the field name says otherwise)."
},
"gasPrice": {
"type": "number",
"minimum": 0,
"description": "A non-negative number (US dollars unless the field name says otherwise)."
},
"oneWayTimeMinutes": {
"type": "number",
"minimum": 0,
"description": "A non-negative number (US dollars unless the field name says otherwise)."
},
"oneWayDistanceMiles": {
"type": "number",
"minimum": 0,
"description": "A non-negative number (US dollars unless the field name says otherwise)."
}
}
},
"stateCode": {
"type": "string",
"pattern": "^[A-Za-z]{2}$",
"description": "Two-letter US state code, e.g. CA, TX, NY."
},
"annualSalary": {
"type": "number",
"minimum": 0,
"description": "A non-negative number (US dollars unless the field name says otherwise)."
},
"filingStatus": {
"enum": [
"single",
"married_joint",
"married_separate",
"head_of_household"
],
"type": "string",
"description": "One of: single, married_joint, married_separate, head_of_household."
},
"payFrequency": {
"enum": [
"weekly",
"biweekly",
"semi_monthly",
"monthly",
"annual"
],
"type": "string",
"description": "One of: weekly, biweekly, semi_monthly, monthly, annual."
},
"retirementContributionPercent": {
"type": "number",
"maximum": 100,
"minimum": 0,
"description": "Percentage from 0 to 100."
}
}
},
"current": {
"type": "object",
"required": [
"annualSalary"
],
"properties": {
"label": {
"type": "string",
"maxLength": 80,
"description": "A non-negative number (US dollars unless the field name says otherwise)."
},
"commute": {
"type": "object",
"properties": {
"mpg": {
"type": "number",
"minimum": 1,
"description": "A non-negative number (US dollars unless the field name says otherwise)."
},
"gasPrice": {
"type": "number",
"minimum": 0,
"description": "A non-negative number (US dollars unless the field name says otherwise)."
},
"oneWayTimeMinutes": {
"type": "number",
"minimum": 0,
"description": "A non-negative number (US dollars unless the field name says otherwise)."
},
"oneWayDistanceMiles": {
"type": "number",
"minimum": 0,
"description": "A non-negative number (US dollars unless the field name says otherwise)."
}
}
},
"stateCode": {
"type": "string",
"pattern": "^[A-Za-z]{2}$",
"description": "Two-letter US state code, e.g. CA, TX, NY."
},
"annualSalary": {
"type": "number",
"minimum": 0,
"description": "A non-negative number (US dollars unless the field name says otherwise)."
},
"filingStatus": {
"enum": [
"single",
"married_joint",
"married_separate",
"head_of_household"
],
"type": "string",
"description": "One of: single, married_joint, married_separate, head_of_household."
},
"payFrequency": {
"enum": [
"weekly",
"biweekly",
"semi_monthly",
"monthly",
"annual"
],
"type": "string",
"description": "One of: weekly, biweekly, semi_monthly, monthly, annual."
},
"retirementContributionPercent": {
"type": "number",
"maximum": 100,
"minimum": 0,
"description": "Percentage from 0 to 100."
}
}
},
"options": {
"type": "object",
"properties": {
"year": {
"type": "integer",
"maximum": 2100,
"minimum": 2000,
"description": "Tax year, e.g. 2026. Omit to use the current tax year."
},
"weights": {
"type": "object",
"properties": {
"commuteHours": {
"type": "number",
"minimum": 0,
"description": "A non-negative number (US dollars unless the field name says otherwise)."
},
"netAfterCommute": {
"type": "number",
"minimum": 0,
"description": "A non-negative number (US dollars unless the field name says otherwise)."
},
"effectiveTaxRate": {
"type": "number",
"minimum": 0,
"description": "A non-negative number (US dollars unless the field name says otherwise)."
},
"annualCommuteCost": {
"type": "number",
"minimum": 0,
"description": "A non-negative number (US dollars unless the field name says otherwise)."
}
}
},
"materialityAbsFloor": {
"type": "number",
"minimum": 0,
"description": "A non-negative number (US dollars unless the field name says otherwise)."
},
"materialityPctOfNet": {
"type": "number",
"maximum": 1,
"minimum": 0,
"description": "Decimal fraction, e.g. 0.07 for 7%. Must be between 0 and 1 (do not pass a whole-number percent)."
}
}
}
}
}Raise / Bonus True Value — Shows how much of a raise or bonus you actually keep after marginal tax and lifestyle inflation. Returns a one-line verdict plus a link to the full interactive page with the numbers pre-filled. Accepts only numbers and enums.
| Argument | Type | Description |
|---|---|---|
| kind | string | One of: raise, bonus. |
| year | integer | Tax year, e.g. 2026. Omit to use the current tax year. |
| stateCode* | string | Two-letter US state code, e.g. CA, TX, NY. |
| raiseAmount* | number | A non-negative number (US dollars unless the field name says otherwise). |
| filingStatus* | string | One of: single, married_joint, married_separate, head_of_household. |
| currentSalary* | number | A non-negative number (US dollars unless the field name says otherwise). |
| annualInflationPercent | number | Percentage from 0 to 100. |
| lifestyleInflationPercent |
Roth vs Traditional — Compares Roth vs Traditional retirement contributions: the break-even retirement tax rate and which to choose. Returns a one-line verdict plus a link to the full interactive page with the numbers pre-filled. Accepts only numbers and enums.
| Argument | Type | Description |
|---|---|---|
| age | integer | A non-negative number (US dollars unless the field name says otherwise). |
| year | integer | Tax year, e.g. 2026. Omit to use the current tax year. |
| accountType | string | One of: 401k, ira. |
| yearsToGrow | integer | A non-negative number (US dollars unless the field name says otherwise). |
| filingStatus* | string | One of: single, married_joint, married_separate, head_of_household. |
| annualReturnRate | number | Decimal fraction, e.g. 0.07 for 7%. Must be between 0 and 1 (do not pass a whole-number percent). |
| currentGrossIncome* | number | A non-negative number (US dollars unless the field name says otherwise). |
| afterTaxContribution |
| number |
| Percentage from 0 to 100. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"currentSalary",
"raiseAmount",
"stateCode",
"filingStatus"
],
"properties": {
"kind": {
"enum": [
"raise",
"bonus"
],
"type": "string",
"description": "One of: raise, bonus."
},
"year": {
"type": "integer",
"maximum": 2100,
"minimum": 2000,
"description": "Tax year, e.g. 2026. Omit to use the current tax year."
},
"stateCode": {
"type": "string",
"pattern": "^[A-Za-z]{2}$",
"description": "Two-letter US state code, e.g. CA, TX, NY."
},
"raiseAmount": {
"type": "number",
"minimum": 0,
"description": "A non-negative number (US dollars unless the field name says otherwise)."
},
"filingStatus": {
"enum": [
"single",
"married_joint",
"married_separate",
"head_of_household"
],
"type": "string",
"description": "One of: single, married_joint, married_separate, head_of_household."
},
"currentSalary": {
"type": "number",
"minimum": 0,
"description": "A non-negative number (US dollars unless the field name says otherwise)."
},
"annualInflationPercent": {
"type": "number",
"maximum": 100,
"minimum": 0,
"description": "Percentage from 0 to 100."
},
"lifestyleInflationPercent": {
"type": "number",
"maximum": 100,
"minimum": 0,
"description": "Percentage from 0 to 100."
}
}
}| number |
| A non-negative number (US dollars unless the field name says otherwise). |
| expectedRetirementIncome* | number | A non-negative number (US dollars unless the field name says otherwise). |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"currentGrossIncome",
"filingStatus",
"expectedRetirementIncome"
],
"properties": {
"age": {
"type": "integer",
"maximum": 120,
"minimum": 0,
"description": "A non-negative number (US dollars unless the field name says otherwise)."
},
"year": {
"type": "integer",
"maximum": 2100,
"minimum": 2000,
"description": "Tax year, e.g. 2026. Omit to use the current tax year."
},
"accountType": {
"enum": [
"401k",
"ira"
],
"type": "string",
"description": "One of: 401k, ira."
},
"yearsToGrow": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 1,
"description": "A non-negative number (US dollars unless the field name says otherwise)."
},
"filingStatus": {
"enum": [
"single",
"married_joint",
"married_separate",
"head_of_household"
],
"type": "string",
"description": "One of: single, married_joint, married_separate, head_of_household."
},
"annualReturnRate": {
"type": "number",
"maximum": 1,
"minimum": 0,
"description": "Decimal fraction, e.g. 0.07 for 7%. Must be between 0 and 1 (do not pass a whole-number percent)."
},
"currentGrossIncome": {
"type": "number",
"minimum": 0,
"description": "A non-negative number (US dollars unless the field name says otherwise)."
},
"afterTaxContribution": {
"type": "number",
"minimum": 0,
"description": "A non-negative number (US dollars unless the field name says otherwise)."
},
"expectedRetirementIncome": {
"type": "number",
"minimum": 0,
"description": "A non-negative number (US dollars unless the field name says otherwise)."
}
}
}