Skip to main content
Glama
uk-income-tax-salary-mcp

uk-income-tax-salary-mcp

uk-income-tax-salary-mcp

An MCP server that works out UK income tax and take-home pay on a salary for 2025/26 and 2026/27, with the Scottish bands, National Insurance, student loans, pension and the 60% tax trap, using HMRC's published rates.

Hosted endpoint, no sign-in and no token:

https://uk-income-tax-salary-mcp.lipmichal.workers.dev/mcp

Tools

Tool

What it does

calculate_uk_take_home

Net pay a year, a month and a week. Income tax by band (England, Wales and NI, or the six Scottish bands), employee Class 1 NI, student loan (Plan 1, 2, 4, 5, Postgraduate), pension by salary sacrifice or relief at source, tax codes (1257L, S1257L, K475, BR, D0, SD1, 0T, NT) and the Personal Allowance taper above £100,000.

get_uk_tax_bands

Official bands for a tax year and region, as taxable-income bands and as gross-salary bands. Also the allowance taper, NI thresholds and rates by category letter, and student loan thresholds.

compare_salaries

Up to 5 salaries side by side: net pay, effective and marginal rates, and how much of each rise you keep.

marginal_rate_at_income

The true marginal rate on the next pounds of pay: income tax, NI and student loan together, including the £100,000 to £125,140 taper.

Every result has structured JSON, a plain-English summary, as_of, source (the gov.uk or HMRC page) and more (a calculator page on ukmoneycalc.com).

Related MCP server: statetakehome-mcp

What it knows that your model does not

  • The 2026/27 Scottish bands. The starter band now runs to £16,537 and the basic band to £29,526 (2025/26: £15,397 and £27,491).

  • The 2026/27 student loan thresholds: Plan 1 £26,900, Plan 2 £29,385, Plan 4 £33,795, Postgraduate £21,000, and the first Plan 5 threshold of £25,000. Plan 5 has no threshold in 2025/26.

  • The 2026/27 NI lower earnings limit of £6,708 and the 8% / 2% employee rates by category letter.

  • The taper takes £1 of allowance for every complete £2 over £100,000. That makes the marginal rate 62% in England with NI, and 69.5% in Scotland's 45% advanced band.

  • With relief at source you pay 80% and claim the rest above 20% yourself, and the grossed-up contribution lowers adjusted net income for the taper. Salary sacrifice also cuts NI and student loan.

  • Several student loan plans repay 9% over the lowest threshold, plus 6% over the Postgraduate threshold, as gov.uk describes.

Install

Claude.ai custom connector or ChatGPT developer mode

Add a custom connector and paste the URL. No token is needed.

https://uk-income-tax-salary-mcp.lipmichal.workers.dev/mcp

Claude Code

claude mcp add --transport http uk-income-tax https://uk-income-tax-salary-mcp.lipmichal.workers.dev/mcp

Or run it locally:

claude mcp add uk-income-tax -- npx -y uk-income-tax-salary-mcp

Claude Desktop

Add this to claude_desktop_config.json:

{
  "mcpServers": {
    "uk-income-tax": {
      "command": "npx",
      "args": ["-y", "uk-income-tax-salary-mcp"]
    }
  }
}

Cursor

Add this to ~/.cursor/mcp.json:

{
  "mcpServers": {
    "uk-income-tax": {
      "url": "https://uk-income-tax-salary-mcp.lipmichal.workers.dev/mcp"
    }
  }
}

VS Code

Add this to .vscode/mcp.json:

{
  "servers": {
    "uk-income-tax": {
      "type": "http",
      "url": "https://uk-income-tax-salary-mcp.lipmichal.workers.dev/mcp"
    }
  }
}

Node 20 or newer is needed for the local npx version.

Example prompts

  • "I earn £48,000 in Manchester with a Plan 2 student loan. What is my take-home pay a month in 2026/27?"

  • "I live in Edinburgh and earn £52,000. How much income tax do I pay this year, band by band?"

  • "My salary goes from £98,000 to £112,000. How much of the rise do I keep, and how much salary sacrifice gets me back under £100,000?"

  • "What is my marginal tax rate at £115,000 with a 5% relief at source pension?"

  • "Compare £35,000, £45,000 and £60,000 after tax in Scotland."

Data sources

All numbers come from gov.uk and HMRC pages fetched on 2026-10-30: Rates and thresholds for employers 2025 to 2026 and 2026 to 2027, Income Tax rates and Personal Allowances, Income Tax in Scotland, National Insurance rates and categories, Repaying your student loan, Tax on your private pension, Adjusted net income and Tax codes. See DATA_SOURCES.md for each item and URL.

Limitations

  • Results are estimates, not tax advice.

  • It works on annual figures. Payroll works per pay period, so a payslip can differ by a few pounds, for example where monthly NI and student loan thresholds are rounded.

  • One employment and salary income only. Savings, dividends, benefits in kind, the High Income Child Benefit Charge, Marriage Allowance transfers and Blind Person's Allowance are not modelled beyond the tax code you give.

  • The pension percent is applied to the whole gross salary, not to qualifying earnings. Employer contributions are not included.

  • Net pay arrangement pensions are not a separate option. Use salary_sacrifice for the tax effect, but note that net pay does not cut NI.

  • K codes do not apply the 50% overriding limit.

  • Tax years before 2025/26 are not included.

More

Calculators for people: ukmoneycalc.com.

Part of the Zovo MCP collection: https://mcp.zovo.one

Development

npm install
npm run build
npm test

src/core.ts holds all the rules and has no I/O. src/stdio.ts is the local entry and src/worker.ts is the Cloudflare Worker entry. Both use the same tool registry in src/tools.ts.

License

MIT

More data servers from the same author

Each one is free, needs no API key and has a hosted URL you can paste into Claude or ChatGPT.

server

tools

hosted URL

cups-to-grams-mcp

convert_ingredient, search_ingredients, scale_recipe, convert_oven_temperature

https://cups-to-grams-mcp.lipmichal.workers.dev/mcp

dscr-loan-calculator-mcp

calculate_dscr, max_loan_for_target_dscr, rent_needed_for_target_dscr, compare_scenarios, amortization_summary

https://dscr-loan-calculator-mcp.lipmichal.workers.dev/mcp

gold-price-per-gram-mcp

get_gold_price_per_gram, get_metal_prices, calculate_jewelry_value, convert_gold_units

https://gold-price-per-gram-mcp.lipmichal.workers.dev/mcp

lake-level-mcp

search_lakes, get_lake_level, get_lake_history, compare_lakes

https://lake-level-mcp.lipmichal.workers.dev/mcp

minimum-wage-mcp

get_minimum_wage, list_upcoming_increases, compare_states, annual_income_at_minimum_wage

https://minimum-wage-mcp.lipmichal.workers.dev/mcp

no-tax-on-overtime-mcp

calculate_overtime_deduction, calculate_tips_deduction, calculate_senior_deduction, estimate_tax_savings, explain_eligibility

https://no-tax-on-overtime-mcp.lipmichal.workers.dev/mcp

paycheck-calculator-mcp

calculate_take_home_pay, compare_states_take_home, salary_to_hourly, hourly_to_salary, get_federal_tax_brackets

https://paycheck-calculator-mcp.lipmichal.workers.dev/mcp

us-federal-holidays-business-days-mcp

list_federal_holidays, is_business_day, add_business_days, count_business_days, invoice_due_date

https://us-federal-holidays-business-days-mcp.lipmichal.workers.dev/mcp

ab-test-sample-size-calculator-mcp

calculate_sample_size, estimate_test_duration, test_ab_significance, fisher_exact_test, check_peeking_risk

https://ab-test-sample-size-calculator-mcp.lipmichal.workers.dev/mcp

aca-premium-tax-credit-calculator-mcp

get_federal_poverty_level, calculate_premium_tax_credit, check_subsidy_cliff, get_aptc_repayment_cap

https://aca-premium-tax-credit-calculator-mcp.lipmichal.workers.dev/mcp

ap-score-distributions-mcp

get_ap_score_distribution, estimate_ap_percentile, compare_ap_exams, list_ap_exams, estimate_ap_score_from_composite

https://ap-score-distributions-mcp.lipmichal.workers.dev/mcp

car-loan-interest-deduction-calculator-mcp

calculate_car_loan_interest_deduction, calculate_salt_deduction, get_tax_brackets_and_standard_deduction, calculate_child_tax_credit

https://car-loan-interest-deduction-calculator-mcp.lipmichal.workers.dev/mcp

estate-gift-tax-exemption-calculator-mcp

get_exemption_amounts, calculate_estate_tax, check_gift, compare_years

https://estate-gift-tax-exemption-calculator-mcp.lipmichal.workers.dev/mcp

recipe-nutrition-calculator-mcp

lookup_ingredient_nutrition, calculate_recipe_nutrition, round_nutrition_label, scale_recipe_nutrition

https://recipe-nutrition-calculator-mcp.lipmichal.workers.dev/mcp

retirement-contribution-limits-2027-mcp

get_contribution_limits, calculate_max_contribution, get_social_security_cola, compare_years

https://retirement-contribution-limits-2027-mcp.lipmichal.workers.dev/mcp

section-179-deduction-calculator-mcp

calculate_section_179, calculate_bonus_depreciation, get_vehicle_depreciation_limits, calculate_asset_loan_payment

https://section-179-deduction-calculator-mcp.lipmichal.workers.dev/mcp

student-loan-repayment-assistance-plan-calculator-mcp

calculate_rap_payment, compare_rap_vs_standard, get_federal_loan_limits, get_plan_transition_dates

https://student-loan-repayment-assistance-plan-calculator-mcp.lipmichal.workers.dev/mcp

subdomain-finder-mcp

find_subdomains, resolve_subdomains, get_certificate_history, summarize_attack_surface

https://subdomain-finder-mcp.lipmichal.workers.dev/mcp

uk-statutory-sick-pay-maternity-pay-calculator-mcp

calculate_statutory_sick_pay, calculate_statutory_maternity_pay, get_minimum_wage_rates, check_eligibility

https://uk-statutory-sick-pay-maternity-pay-calculator-mcp.lipmichal.workers.dev/mcp

The paid back-office collection (invoices, VAT, PDFs, spreadsheets) is at https://mcp.zovo.one

Available Tools

4 tools
calculate_uk_take_homeUK take-home payA
Read-onlyIdempotent
Inspect

Calculates UK take-home pay for an employee in tax year 2025/26 or 2026/27 from HMRC's published rates: income tax by band (England, Wales and NI, or the six Scottish bands incl. the 2026/27 Scottish starter and basic bands), employee Class 1 National Insurance (8% / 2%), student loan repayments (Plan 1, 2, 4, 5 and Postgraduate, with 2026/27 thresholds), and pension by salary sacrifice or relief at source. Applies the Personal Allowance taper above £100,000 (£1 per £2, the 60% trap) and reads tax codes such as 1257L, S1257L, K475, BR and D0. Returns net pay a year, a month and a week. Figures copied from gov.uk and HMRC in Oct 2026.

NameRequiredDescriptionDefault
regionNoWhere you live for tax. england, wales, northern_ireland (same bands) or scotland (six Scottish bands). Default england, or taken from an S or C tax code.
tax_codeNoPAYE tax code, default 1257L. Supports nnnnL/M/N/T, S and C prefixes, K codes, BR, D0, D1, SBR, SD0-SD3, 0T, NT and W1/M1/X suffixes.
tax_yearNoUK tax year, 6 April to 5 April. 2025/26 or 2026/27 (default 2026/27).
ni_categoryNoNational Insurance category letter, default A. C = over State Pension age (no employee NI).
gross_salaryYesAnnual gross salary in pounds (GBP), before any deductions.
pension_amountNoEmployee pension contribution in pounds a year (gross). Use this OR pension_percent.
pension_methodNorelief_at_source (you pay 80%, provider adds 20%, higher-rate relief claimed back) or salary_sacrifice (cuts pay before tax, NI and student loan). Default salary_sacrifice if a pension is given.
pension_percentNoEmployee pension contribution as a percent of gross salary, e.g. 5. For relief at source this is the gross (grossed-up) contribution.
student_loan_plansNoStudent loan plans you repay: plan_1, plan_2, plan_4 (Scotland), plan_5, postgraduate. Several are allowed, as gov.uk describes.

TDQS

A4.7/5.0
Behavior5/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive), and the description layers on real behavioral substance: the PA taper rule above £100,000, the 60% trap, region-specific band sets including 2026/27 Scottish starter/basic bands, 2026/27 student-loan thresholds, and the explicit return shape (net pay per year, month, week). It also discloses provenance and vintage ('Figures copied from gov.uk and HMRC in Oct 2026'), which matters for a tax calculator whose correctness is date-sensitive.

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

Conciseness4/5

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

It is a single front-loaded paragraph with zero filler; every clause carries either a calculation rule or an input/output fact. It is dense and slightly list-heavy in one sentence, which costs a point on readability, but nothing is extraneous.

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

Completeness5/5

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

For a 9-parameter, non-destructive calculation tool with no output schema, the description supplies what the structured data cannot: the return values (annual/monthly/weekly net), the rule set applied, the supported years and regions, and the data vintage. An agent has everything needed to call this correctly and interpret the result.

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

Parameters5/5

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

Schema coverage is 100%, so a baseline of 3 would apply, but the description adds genuine meaning beyond the schema: that pension_method=salary_sacrifice reduces pay before tax, NI and student loan while relief_at_source is grossed-up, that the PA taper is £1 per £2, and which tax-code families (1257L, S1257L, K475, BR, D0) are accepted. These are interactions the schema's per-field descriptions do not convey.

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?

States a specific verb and resource ('Calculates UK take-home pay for an employee in tax year 2025/26 or 2026/27') and enumerates the exact components computed: income tax by band, employee Class 1 NI, student loans, pensions. This clearly distinguishes it from get_uk_tax_bands (rate lookup), marginal_rate_at_income (single-point rate) and compare_salaries (comparison), so an agent can select it without opening the schema.

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 makes the use case explicit through the scope it claims: full net-pay computation for a given tax year, region, tax code, NI category, pension and loan plans. It does not name the sibling tools or state when to prefer them (e.g. use get_uk_tax_bands for raw band tables), so the routing is inferable rather than spelled out.

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

compare_salariesCompare UK salaries after taxA
Read-onlyIdempotent
Inspect

Compares 1 to 5 UK gross salaries after income tax, National Insurance, student loan and pension for 2025/26 or 2026/27, with the same region, tax code and options for each. Shows net pay a year, month and week, effective and marginal rates, and how much of each pay rise you keep compared with the first salary. Shows when a rise lands in the £100,000 to £125,140 Personal Allowance taper (60% in England, 69.5% in Scotland in 2026/27 with NI). Uses HMRC 2025/26 and 2026/27 rates fetched in Oct 2026.

NameRequiredDescriptionDefault
regionNoWhere you live for tax. england, wales, northern_ireland (same bands) or scotland (six Scottish bands). Default england, or taken from an S or C tax code.
salariesYes1 to 5 annual gross salaries in pounds. The first is the baseline.
tax_codeNoPAYE tax code, default 1257L. Supports nnnnL/M/N/T, S and C prefixes, K codes, BR, D0, D1, SBR, SD0-SD3, 0T, NT and W1/M1/X suffixes.
tax_yearNoUK tax year, 6 April to 5 April. 2025/26 or 2026/27 (default 2026/27).
ni_categoryNoNational Insurance category letter, default A. C = over State Pension age (no employee NI).
pension_amountNoEmployee pension contribution in pounds a year (gross). Use this OR pension_percent.
pension_methodNorelief_at_source (you pay 80%, provider adds 20%, higher-rate relief claimed back) or salary_sacrifice (cuts pay before tax, NI and student loan). Default salary_sacrifice if a pension is given.
pension_percentNoEmployee pension contribution as a percent of gross salary, e.g. 5. For relief at source this is the gross (grossed-up) contribution.
student_loan_plansNoStudent loan plans you repay: plan_1, plan_2, plan_4 (Scotland), plan_5, postgraduate. Several are allowed, as gov.uk describes.

TDQS

A4.3/5.0
Behavior5/5

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

Annotations already cover the safety profile (readOnly, idempotent, closed-world), yet the description still adds substantive context: the modelled deductions, the break-down of returned figures (net pay per year/month/week, effective and marginal rates, pay-rise retention), taper detection, and the data vintage ('HMRC 2025/26 and 2026/27 rates fetched in Oct 2026'). That vintage disclosure is unusually valuable for a tax tool where rate freshness affects trust.

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

Conciseness4/5

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

Front-loaded with the core capability, then the outputs, then the taper edge case and data source. Dense but each sentence carries information; the specific 60%/69.5% taper figures are borderline detail but do signal a headline feature of the tool.

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?

With 9 parameters, no output schema and no nested objects, the description does the heavy lifting well: it names the deductions modelled and the main returned figures. It stops short of describing the response structure or error behaviour, but an agent has enough to call it and read results correctly.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3, but the description adds a genuine cross-parameter semantic: region, tax code and all options apply uniformly to every salary in the array, and the first salary is the baseline for the 'how much of each pay rise you keep' calculation. That interpretation is not obvious from the schema alone.

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?

States a specific verb and resource ('compares 1 to 5 UK gross salaries after tax') with the exact deductions modelled. The multi-salary, shared-options framing clearly separates it from the single-salary sibling calculate_uk_take_home and the band/rate lookups get_uk_tax_bands and marginal_rate_at_income.

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

Usage Guidelines3/5

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

Usage is implied by the comparison framing and the 'same region, tax code and options for each' constraint, but the description never says when to prefer this over calculate_uk_take_home or when a single-salary call is enough. No exclusions or prerequisites are stated.

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

get_uk_tax_bandsUK income tax bands and thresholdsA
Read-onlyIdempotent
Inspect

Returns the official UK income tax bands for 2025/26 or 2026/27, for England, Wales and Northern Ireland or for Scotland (starter 19%, basic 20%, intermediate 21%, higher 42%, advanced 45%, top 48%), both as taxable-income bands from HMRC's employer tables and as gross-salary bands with the standard £12,570 allowance. Also returns the £100,000 allowance taper, Class 1 NI thresholds and employee rates by category letter, and student loan thresholds for each plan. A figure that is not published is marked unannounced, never guessed. Copied from gov.uk and HMRC in Oct 2026.

NameRequiredDescriptionDefault
regionYesengland, wales, northern_ireland, england_wales_ni or scotland.
tax_yearYesUK tax year: 2025/26 or 2026/27.

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare read-only, idempotent and non-open-world, so the bar is lower. The description still adds genuine value: it names the data source and retrieval date (gov.uk and HMRC, Oct 2026) and commits to a behavior — unpublished figures are marked 'unannounced, never guessed' — which is exactly the kind of trust/accuracy disclosure an agent needs for financial data.

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

Conciseness4/5

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

One dense, front-loaded paragraph that begins with the return value. The long parenthetical Scottish rate list is the only heavy element; it is informative but could be trimmed since the rates are returned data rather than invocation guidance.

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?

With no output schema, the description correctly carries the burden of describing return contents and does so thoroughly, including the two band representations and the 'unannounced' marker. The only meaningful gap is that it never tells the agent when to call a sibling calculator instead.

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

Parameters4/5

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

Schema coverage is 100% with both params enumerated, so the baseline would be 3. The description goes beyond the enum by explaining that the region choice is semantically meaningful — Scotland gets a distinct band set with different rates (19/20/21/42/45/48) while England/Wales/NI shares another — and that tax_year selects between two published table sets.

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

Purpose4/5

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

States a specific verb and resource ('Returns the official UK income tax bands') with the exact scope of data included (taxable-income bands, gross-salary bands, allowance taper, Class 1 NI, student loan thresholds). The implicit contrast with calculation siblings is clear from 'official ... bands' framing, though it never names them.

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

Usage Guidelines3/5

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

Usage is implied: an agent can infer this is the lookup tool for published bands rather than a calculator. But there is no explicit when-to-use, when-not-to-use, or pointer to marginal_rate_at_income / calculate_uk_take_home for the derived figures this tool stops short of computing.

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

marginal_rate_at_incomeUK marginal tax rate at a salaryA
Read-onlyIdempotent
Inspect

Returns the true UK marginal rate on the next pounds of salary in 2025/26 or 2026/27: income tax band rate, employee NI and student loan together, plus the Personal Allowance taper between £100,000 and £125,140 that makes it 60% plus NI in England, Wales and NI and 67.5% plus NI in Scotland's advanced band. Handles salary sacrifice, relief at source, Scottish bands and tax codes. Measured as the change in deductions over the next step pounds (default £100). Rates from gov.uk and HMRC, fetched Oct 2026.

NameRequiredDescriptionDefault
stepNoSize of the pay rise to measure over, in pounds (default 100).
regionNoWhere you live for tax. england, wales, northern_ireland (same bands) or scotland (six Scottish bands). Default england, or taken from an S or C tax code.
tax_codeNoPAYE tax code, default 1257L. Supports nnnnL/M/N/T, S and C prefixes, K codes, BR, D0, D1, SBR, SD0-SD3, 0T, NT and W1/M1/X suffixes.
tax_yearNoUK tax year, 6 April to 5 April. 2025/26 or 2026/27 (default 2026/27).
ni_categoryNoNational Insurance category letter, default A. C = over State Pension age (no employee NI).
gross_salaryYesAnnual gross salary in pounds (GBP), before any deductions.
pension_amountNoEmployee pension contribution in pounds a year (gross). Use this OR pension_percent.
pension_methodNorelief_at_source (you pay 80%, provider adds 20%, higher-rate relief claimed back) or salary_sacrifice (cuts pay before tax, NI and student loan). Default salary_sacrifice if a pension is given.
pension_percentNoEmployee pension contribution as a percent of gross salary, e.g. 5. For relief at source this is the gross (grossed-up) contribution.
student_loan_plansNoStudent loan plans you repay: plan_1, plan_2, plan_4 (Scotland), plan_5, postgraduate. Several are allowed, as gov.uk describes.

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already cover safety (readOnly, idempotent, non-destructive, closed-world), and the description adds genuinely new context: data provenance and staleness ('gov.uk and HMRC, fetched Oct 2026'), supported tax years, and the non-obvious 60%/67.5% PA-taper behaviour including the Scotland difference. The return shape is only partially implied — there is no output schema and no statement of whether the result is a single number or a component breakdown.

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

Conciseness4/5

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

Front-loaded with the core purpose and kept to a tight block with no filler sentences; the worked 60%/67.5% examples earn their space by pinning down the non-obvious behaviour. It is dense and clause-chained, which makes it slightly harder to scan than a cleanly bulleted spec, but nothing is padding.

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

Completeness5/5

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

For a 10-parameter domain calculator with no output schema, this covers what is needed: what is computed, which deductions are combined, the measurement convention (change over `step`), supported regions/years, and the data vintage. Return details are the only residual gap, and the description at least names the components that make up the rate.

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% and each of the 10 parameters is documented there in detail (enums, defaults, K/BR/S/D code support, pension method semantics), so the baseline is 3. The description adds only light framing — the meaning of `step` and the mention of salary sacrifice / relief at source — without new syntax or interaction rules beyond what the schema states.

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

Purpose4/5

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

States a precise verb and resource — 'returns the true UK marginal rate on the next pounds of salary' — and enumerates what the rate comprises (income tax, employee NI, student loan, PA taper). It never names the siblings (calculate_uk_take_home, get_uk_tax_bands, compare_salaries), so the contrast with 'total take-home' is left implicit rather than stated.

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

Usage Guidelines3/5

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

The framing 'marginal rate on the next pounds' implies the use case (rate on incremental pay, not total burden), and 'measured as the change in deductions over the next `step` pounds' clarifies the measurement model. However there is no explicit when-to-use statement, no when-not, and no routing to the alternative take-home or band tools for questions this tool does not answer.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 4 tool updatesv1.0.0
    • First observedcalculate_uk_take_home
    • First observedcompare_salaries
    • First observedget_uk_tax_bands
    • First observedmarginal_rate_at_income

TDQS

A4.1/5.0

Scored across 4 tools

Disambiguation4/5

The four tools have reasonably distinct outputs: raw band/threshold reference data, a point-in-time marginal rate, a full take-home breakdown, and a multi-salary comparison. However, calculate_uk_take_home, marginal_rate_at_income, and compare_salaries all compute overlapping deduction logic, so an agent could plausibly pick the wrong one for a given question (e.g., use compare_salaries when a single take-home is wanted). Descriptions do a good job of resolving this.

Naming Consistency4/5

Three of four names follow a verb_object pattern (get_uk_tax_bands, calculate_uk_take_home, compare_salaries) and all use snake_case. marginal_rate_at_income breaks the verb pattern as a noun phrase, but it is still readable and semantically accurate.

Tool Count5/5

Four tools is well-scoped for a focused UK salary tax server: reference data, marginal analysis, net pay calculation, and comparison each earn their place. Nothing appears redundant enough to remove, nor is anything obviously missing at this scope.

Completeness4/5

The surface covers lookups, marginal rates, net pay, and multi-salary comparison with NI, student loans, pensions, and allowance taper — solid coverage for the domain. Minor gaps remain, such as reverse gross-from-net calculation or employer-side NI/cost, which agents would have to work around manually.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    Calculate income tax (UK/US brackets), EU VAT, UK corporation tax, and capital gains tax. Provides estimates only - not professional tax advice.
    2 npm
    22 PyPI
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    Enables AI assistants to compute US take-home pay, self-employment taxes, and capital gains taxes for the 2026 tax year using the engine from statetakehome.com.
    3
    57 npm
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    Query current and historical UK official figures (tax bands, minimum wage, benefits, energy price cap and 100+ more) with effective dates and links to official government sources. Data refreshed whenever the official sources change.
    -
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables 1099 gig workers and freelancers to calculate 2026 quarterly federal estimates, self-employment tax, safe-harbor minimum payments, and mileage or actual-expense deductions, including the mid-year business mileage rate change from 72.5 to 76 cents. It also compares standard mileage against actual vehicle costs and exposes every tax constant with its source.
    MIT