Skip to content

TapTax

by taptax.co.uk · remote · no sign-in to list tools · v1.1.1 · published by uk.co.taptax

UK tax: take-home pay, self-employed and company tax, VAT, stamp duty, invoices and MTD.

Deletes · 3Final · 5Changes · 30

49 tools: 3 can delete or cancel things, 5 do something that can't be undone, 30 change things and 11 only read.

Scanned Oct 21, 2026

11 checks matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http taptax https://api.taptax.co.uk/mcp

Findings

Matches of fixed checks, with the text they matched.

11 warn
  • The server marks "calculate_take_home_pay" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false}; The name "calculate_take_home_pay" says "pay": a word that usually means money moves, which cannot be taken back.

    What this check looks for
  • The server marks "convert_hourly_rate_to_salary" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false}; The name "convert_hourly_rate_to_salary" says "convert": a word for a change.

    What this check looks for
  • The server marks "convert_salary_to_hourly_rate" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false}; The name "convert_salary_to_hourly_rate" says "convert": a word for a change.

    What this check looks for
  • The server marks "calculate_child_benefit_charge" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false}; The name "calculate_child_benefit_charge" says "charge": a word that usually means money moves, which cannot be taken back.

    What this check looks for
  • The server marks "plan_quarterly_tax_set_aside" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false}; The name "plan_quarterly_tax_set_aside" says "set": a word for a change.

    What this check looks for
  • The server marks "calculate_vat" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false}; The description's first verb is "add": a word for a change.

    What this check looks for
Show 5 more findings
  • The server marks "check_vat_reverse_charge" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false}; The name "check_vat_reverse_charge" says "charge": a word that usually means money moves, which cannot be taken back.

    What this check looks for
  • The server marks "calculate_late_payment_interest" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false}; The name "calculate_late_payment_interest" says "payment": a word that usually means money moves, which cannot be taken back.

    What this check looks for
  • The server marks "generate_invoice_numbers" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false}; The name "generate_invoice_numbers" says "generate": a word for a change.

    What this check looks for
  • The server marks "log_mileage_trip" as not read-only (readOnlyHint: false), and its words say it reads.

    Matched text

    annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false}; The name "log_mileage_trip" says "log": a word for reading.

    What this check looks for
  • The server marks "prepare_quarterly_update" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false}; The name "prepare_quarterly_update" says "update": a word for a change.

    What this check looks for

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

49 tools

Deletes or cancels 3Claude Code: deny
  • mark_invoice_paidRecord that the client has paid an invoice (dated today).No findings

    Why it is in this group

    • The name "mark_invoice_paid" says "mark": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Record that the client has paid an invoice (dated today). Stops any payment reminders.

    Annotations the server declares

    • title: Mark an invoice paid
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: true
    • openWorldHint: false
  • send_invoice_from_cardEmails the invoice shown on a TapTax send card to its client, when the person presses Send on that card.No findings

    Why it is in this group

    • The name "send_invoice_from_card" says "send": a word for sending, and what is sent cannot be taken back.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Emails the invoice shown on a TapTax send card to its client, when the person presses Send on that card. Needs the one-time token the card was given.

    Annotations the server declares

    • title: Send the invoice shown on the card
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: true
  • update_transactionChange a transaction the signed-in person owns: mark it business or personal (this is how the review queue is cleared), or correct its category, description, amount or date.No findings

    Why it is in this group

    • The name "update_transaction" says "update": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Change a transaction the signed-in person owns: mark it business or personal (this is how the review queue is cleared), or correct its category, description, amount or date.

    Annotations the server declares

    • title: Update or review a transaction
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: true
    • openWorldHint: false
Can't be undone 5Claude Code: ask
  • calculate_child_benefit_chargeCalculate the High Income Child Benefit Charge on an adjusted net income and the Child Benefit received in a tax year: the charge, the benefit kept, and the income the charge start…1 finding

    Why it is in this group

    • The name "calculate_child_benefit_charge" says "charge": a word that usually means money moves, which cannot be taken back.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "calculate_child_benefit_charge" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false}; The name "calculate_child_benefit_charge" says "charge": a word that usually means money moves, which cannot be taken back.

      What this check looks for
    Description, as the server wrote it
    Calculate the High Income Child Benefit Charge on an adjusted net income and the Child Benefit received in a tax year: the charge, the benefit kept, and the income the charge starts from.

    Annotations the server declares

    • title: Calculate the High Income Child Benefit Charge
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
  • calculate_late_payment_interestCalculate the statutory interest (Bank of England base rate plus 8%) and fixed compensation a business can claim on a late-paid commercial invoice under the Late Payment of Commerc…1 finding

    Why it is in this group

    • The name "calculate_late_payment_interest" says "payment": a word that usually means money moves, which cannot be taken back.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "calculate_late_payment_interest" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false}; The name "calculate_late_payment_interest" says "payment": a word that usually means money moves, which cannot be taken back.

      What this check looks for
    Description, as the server wrote it
    Calculate the statutory interest (Bank of England base rate plus 8%) and fixed compensation a business can claim on a late-paid commercial invoice under the Late Payment of Commercial Debts Act, from the amount, the due date and the payment date.

    Annotations the server declares

    • title: Calculate late payment interest on an invoice
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
  • calculate_take_home_payCalculate take-home pay from a UK salary for a tax year: income tax by band (England, Wales and Northern Ireland, or Scotland), employee National Insurance, student loan repayment …1 finding

    Why it is in this group

    • The name "calculate_take_home_pay" says "pay": a word that usually means money moves, which cannot be taken back.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "calculate_take_home_pay" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false}; The name "calculate_take_home_pay" says "pay": a word that usually means money moves, which cannot be taken back.

      What this check looks for
    Description, as the server wrote it
    Calculate take-home pay from a UK salary for a tax year: income tax by band (England, Wales and Northern Ireland, or Scotland), employee National Insurance, student loan repayment and pension contributions, with yearly, monthly and weekly take-home and the employer National Insurance and total cost to the employer.

    Annotations the server declares

    • title: Calculate take-home pay
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
  • check_vat_reverse_chargeWork out whether the domestic VAT reverse charge for construction services applies to an invoice, by HMRC's decision steps.1 finding

    Why it is in this group

    • The name "check_vat_reverse_charge" says "charge": a word that usually means money moves, which cannot be taken back.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "check_vat_reverse_charge" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false}; The name "check_vat_reverse_charge" says "charge": a word that usually means money moves, which cannot be taken back.

      What this check looks for
    Description, as the server wrote it
    Work out whether the domestic VAT reverse charge for construction services applies to an invoice, by HMRC's decision steps. Takes the yes or no answers known so far and returns the next question to answer, or the outcome with what the invoice must say.

    Annotations the server declares

    • title: Check the construction VAT reverse charge
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
  • send_invoiceGet one of the signed-in person’s invoices ready to email, with its PDF, to the client address on it from their business name.No findings

    Why it is in this group

    • The name "send_invoice" says "send": a word for sending, and what is sent cannot be taken back.
    Description, as the server wrote it
    Get one of the signed-in person’s invoices ready to email, with its PDF, to the client address on it from their business name. It opens a card showing exactly what the client will receive (who it goes to, the lines and the total) with a Send button. Nothing is emailed until the person presses Send on that card.

    Annotations the server declares

    • title: Show an invoice ready to send
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
Changes things 30Claude Code: ask
  • add_transactionRecord a business income or expense in the signed-in person's TapTax, such as a receipt or a payment.No findings

    Why it is in this group

    • The name "add_transaction" says "add": a word for a change.
    Description, as the server wrote it
    Record a business income or expense in the signed-in person's TapTax, such as a receipt or a payment. The category is the HMRC self-employment box it belongs in. The same entry added twice within 10 minutes is recorded once.

    Annotations the server declares

    • title: Add income or an expense
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • calculate_capital_gains_taxCalculate UK Capital Gains Tax on selling an asset (residential property, shares, a business qualifying for Business Asset Disposal Relief, or other assets) for a tax year: the gai…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Calculate UK Capital Gains Tax on selling an asset (residential property, shares, a business qualifying for Business Asset Disposal Relief, or other assets) for a tax year: the gain after costs, losses and the annual exempt amount, tax at each rate given other income, and the payment deadline.

    Annotations the server declares

    • title: Calculate Capital Gains Tax
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
  • calculate_cis_deductionCalculate the Construction Industry Scheme deduction on a payment (labour only, materials excluded) at the registered, unregistered or gross-payment rate, the amount received, and …No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Calculate the Construction Industry Scheme deduction on a payment (labour only, materials excluded) at the registered, unregistered or gross-payment rate, the amount received, and whether the year's deductions are likely to be more or less than the tax actually due.

    Annotations the server declares

    • title: Calculate a CIS deduction
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
  • calculate_contractor_day_rateTurn a contractor day rate into annual and monthly income, an hourly equivalent, and take-home pay as a sole trader, through a company outside IR35 and inside IR35, with the best r…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Turn a contractor day rate into annual and monthly income, an hourly equivalent, and take-home pay as a sole trader, through a company outside IR35 and inside IR35, with the best route and the PAYE salary that would take home as much, for a tax year.

    Annotations the server declares

    • title: Calculate contractor day rate income
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
  • calculate_corporation_taxCalculate UK corporation tax on a company's taxable profit for a tax year, including marginal relief between the small profits and main rates, with profit after tax and the effecti…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Calculate UK corporation tax on a company's taxable profit for a tax year, including marginal relief between the small profits and main rates, with profit after tax and the effective rate.

    Annotations the server declares

    • title: Calculate corporation tax
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
  • calculate_dividend_taxCalculate UK tax on dividends for a tax year, given the dividends and other income: the dividend allowance, tax at the basic, higher and additional dividend rates, and the effectiv…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Calculate UK tax on dividends for a tax year, given the dividends and other income: the dividend allowance, tax at the basic, higher and additional dividend rates, and the effective rate.

    Annotations the server declares

    • title: Calculate dividend tax
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
  • calculate_gross_salary_for_take_homeWork out the gross UK salary needed to take home a given amount a year after income tax, employee National Insurance, student loan and a pension percentage, for a tax year (net to …No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Work out the gross UK salary needed to take home a given amount a year after income tax, employee National Insurance, student loan and a pension percentage, for a tax year (net to gross).

    Annotations the server declares

    • title: Work out the salary for a take-home figure
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
  • calculate_invoice_due_dateCalculate the date an invoice is due from its date and the payment terms (on receipt, a number of days, end of month, days after month end, a day of the following month, or the sta…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Calculate the date an invoice is due from its date and the payment terms (on receipt, a number of days, end of month, days after month end, a day of the following month, or the statutory 30-day default), with the weekday and whether the terms exceed the statutory limit.

    Annotations the server declares

    • title: Calculate an invoice due date
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
  • calculate_markupCalculate the selling price, profit and the equivalent profit margin from a cost and a markup percentage.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Calculate the selling price, profit and the equivalent profit margin from a cost and a markup percentage.

    Annotations the server declares

    • title: Calculate a price from a markup
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
  • calculate_mileage_allowanceCalculate the tax-free business mileage allowance for a year at HMRC's approved mileage rates for a car or van, motorcycle or bicycle, including the passenger rate, and the tax it …No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Calculate the tax-free business mileage allowance for a year at HMRC's approved mileage rates for a car or van, motorcycle or bicycle, including the passenger rate, and the tax it saves at the basic or higher rate.

    Annotations the server declares

    • title: Calculate the mileage allowance
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
  • calculate_pro_rata_salaryWork out a part-time salary from the full-time salary and the hours or days worked compared with full time, with the take-home pay on the pro rata salary for a tax year.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Work out a part-time salary from the full-time salary and the hours or days worked compared with full time, with the take-home pay on the pro rata salary for a tax year.

    Annotations the server declares

    • title: Calculate a pro rata salary
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
  • calculate_profit_marginCalculate the profit margin and markup from a cost and a selling price, or the selling price needed for a target margin.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Calculate the profit margin and markup from a cost and a selling price, or the selling price needed for a target margin.

    Annotations the server declares

    • title: Calculate a profit margin
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
  • calculate_rental_income_taxCalculate UK income tax on rental profit for a landlord in a tax year, given rent, allowable expenses, mortgage interest (relieved as a 20% tax credit) and other income.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Calculate UK income tax on rental profit for a landlord in a tax year, given rent, allowable expenses, mortgage interest (relieved as a 20% tax credit) and other income.

    Annotations the server declares

    • title: Calculate tax on rental income
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
  • calculate_savings_interest_taxCalculate UK tax on savings interest for a tax year, given the interest, any tax already deducted and other income: the starting rate for savings, the Personal Savings Allowance an…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Calculate UK tax on savings interest for a tax year, given the interest, any tax already deducted and other income: the starting rate for savings, the Personal Savings Allowance and the tax due.

    Annotations the server declares

    • title: Calculate tax on savings interest
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
  • calculate_stamp_dutyCalculate the tax on buying property: Stamp Duty Land Tax in England and Northern Ireland, Land and Buildings Transaction Tax in Scotland or Land Transaction Tax in Wales, by band,…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Calculate the tax on buying property: Stamp Duty Land Tax in England and Northern Ireland, Land and Buildings Transaction Tax in Scotland or Land Transaction Tax in Wales, by band, with first-time buyer relief, the additional property surcharge and the non-resident surcharge where they apply.

    Annotations the server declares

    • title: Calculate Stamp Duty
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
  • calculate_student_loan_repaymentCalculate yearly, monthly and weekly UK student loan repayments on an income for a repayment plan (Plan 1, 2, 4 or the postgraduate loan) in a tax year.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Calculate yearly, monthly and weekly UK student loan repayments on an income for a repayment plan (Plan 1, 2, 4 or the postgraduate loan) in a tax year.

    Annotations the server declares

    • title: Calculate student loan repayments
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
  • calculate_tax_on_multiple_incomesCalculate the combined UK tax on income from several sources in one tax year (employment, self-employment, rental profit, dividends and savings interest), allowing for PAYE tax alr…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Calculate the combined UK tax on income from several sources in one tax year (employment, self-employment, rental profit, dividends and savings interest), allowing for PAYE tax already deducted: income tax, National Insurance, student loan, what is left to pay and take-home.

    Annotations the server declares

    • title: Calculate tax on several incomes
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
  • calculate_vatAdd VAT to a net price or take it out of a gross price at the standard (20%), reduced (5%) or any other rate, with the net, VAT and gross amounts.1 finding

    Why it is in this group

    • The description's first verb is "add": a word for a change.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "calculate_vat" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false}; The description's first verb is "add": a word for a change.

      What this check looks for
    Description, as the server wrote it
    Add VAT to a net price or take it out of a gross price at the standard (20%), reduced (5%) or any other rate, with the net, VAT and gross amounts.

    Annotations the server declares

    • title: Add or remove VAT
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
  • check_tax_codeCheck whether a UK PAYE tax code (e.g.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Check whether a UK PAYE tax code (e.g. 1257L, BR, K475, 1257L W1/M1) looks right for a salary and circumstances, explain what it means, and estimate any over- or under-payment. Flat-rate codes (BR, D0, D1) are only judged when hasMultipleJobs is known; without it the verdict is needs_info. Returns a verdict tier; refund figures are estimates, not amounts owed.

    Annotations the server declares

    • title: Check a PAYE tax code
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
  • check_vat_registrationCheck whether a turnover is over the UK VAT registration threshold for a tax year, and compare VAT payable under the standard scheme with the Flat Rate Scheme for the business's se…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Check whether a turnover is over the UK VAT registration threshold for a tax year, and compare VAT payable under the standard scheme with the Flat Rate Scheme for the business's sector rate, including the first-year discount, with the cheaper scheme and the difference.

    Annotations the server declares

    • title: Check VAT registration and the Flat Rate Scheme
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
  • convert_hourly_rate_to_salaryConvert an hourly rate to the annual salary it adds up to for the hours a week and paid weeks a year given, with take-home pay on that salary for a tax year.1 finding

    Why it is in this group

    • The name "convert_hourly_rate_to_salary" says "convert": a word for a change.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "convert_hourly_rate_to_salary" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false}; The name "convert_hourly_rate_to_salary" says "convert": a word for a change.

      What this check looks for
    Description, as the server wrote it
    Convert an hourly rate to the annual salary it adds up to for the hours a week and paid weeks a year given, with take-home pay on that salary for a tax year.

    Annotations the server declares

    • title: Convert an hourly rate to a salary
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
  • convert_salary_to_hourly_rateConvert an annual salary to its gross hourly rate and the take-home pay per hour, for the hours a week and paid weeks a year given, in a tax year.1 finding

    Why it is in this group

    • The name "convert_salary_to_hourly_rate" says "convert": a word for a change.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "convert_salary_to_hourly_rate" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false}; The name "convert_salary_to_hourly_rate" says "convert": a word for a change.

      What this check looks for
    Description, as the server wrote it
    Convert an annual salary to its gross hourly rate and the take-home pay per hour, for the hours a week and paid weeks a year given, in a tax year.

    Annotations the server declares

    • title: Convert a salary to an hourly rate
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
  • create_invoiceCreate and save a draft invoice in the signed-in person's TapTax account from a client name and one or more line items.No findings

    Why it is in this group

    • The name "create_invoice" says "create": a word for a change.
    Description, as the server wrote it
    Create and save a draft invoice in the signed-in person's TapTax account from a client name and one or more line items. No saved client, earlier invoice or client email is needed to create it; an email is only needed later, to send it. It is numbered in their sequence, uses their saved business details, and is not sent. Free plans include 3 invoices; paid plans are unlimited.

    Annotations the server declares

    • title: Create an invoice
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • estimate_self_assessment_penaltiesEstimate Self Assessment late filing penalties, late payment penalties and late payment interest on the tax due, from how many days late the return was filed and the tax was paid.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Estimate Self Assessment late filing penalties, late payment penalties and late payment interest on the tax due, from how many days late the return was filed and the tax was paid.

    Annotations the server declares

    • title: Estimate Self Assessment penalties
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
  • estimate_self_employed_taxEstimate UK income tax and Class 4 National Insurance for a sole trader from turnover and allowable expenses, with the take-home figure, effective and marginal rates, payments on a…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Estimate UK income tax and Class 4 National Insurance for a sole trader from turnover and allowable expenses, with the take-home figure, effective and marginal rates, payments on account and tailored tips, from HMRC's published rates for the tax year. Works from the figures given, without a TapTax account.

    Annotations the server declares

    • title: Estimate self-employed tax
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
  • generate_invoice_numbersGenerate invoice numbers: the next number after a given one (keeping its prefix and zero padding), or a run of numbers in a chosen format (prefix, separator, optional year or month…1 finding

    Why it is in this group

    • The name "generate_invoice_numbers" says "generate": a word for a change.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "generate_invoice_numbers" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false}; The name "generate_invoice_numbers" says "generate": a word for a change.

      What this check looks for
    Description, as the server wrote it
    Generate invoice numbers: the next number after a given one (keeping its prefix and zero padding), or a run of numbers in a chosen format (prefix, separator, optional year or month, number of digits) from a starting number.

    Annotations the server declares

    • title: Generate invoice numbers
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
  • log_mileage_tripRecord a business journey in the signed-in person's mileage log.1 finding

    Why it is in this group

    • The name "log_mileage_trip" says "log": a word for reading.
    • The server marks it as not read-only (readOnlyHint: false).

    Findings

    • Warn

      The server marks "log_mileage_trip" as not read-only (readOnlyHint: false), and its words say it reads.

      Matched text

      annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false}; The name "log_mileage_trip" says "log": a word for reading.

      What this check looks for
    Description, as the server wrote it
    Record a business journey in the signed-in person's mileage log. TapTax prices it at the approved mileage rate for the tax year (tiered after 10,000 car miles). Commuting to a permanent workplace is not business mileage. Mileage tracking is on the Pro plan.

    Annotations the server declares

    • title: Log a business trip
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • plan_quarterly_tax_set_asidePlan how much to set aside for tax as a sole trader under Making Tax Digital, from the year's profit or each quarter's profit: the income tax, Class 4 National Insurance and studen…1 finding

    Why it is in this group

    • The name "plan_quarterly_tax_set_aside" says "set": a word for a change.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "plan_quarterly_tax_set_aside" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false}; The name "plan_quarterly_tax_set_aside" says "set": a word for a change.

      What this check looks for
    Description, as the server wrote it
    Plan how much to set aside for tax as a sole trader under Making Tax Digital, from the year's profit or each quarter's profit: the income tax, Class 4 National Insurance and student loan due, monthly and weekly amounts to put away, running totals by quarter with each update deadline, and any first payment on account.

    Annotations the server declares

    • title: Plan how much tax to set aside
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
  • prepare_business_documentPrepare an invoice, quote, receipt, credit note or pro forma invoice in TapTax's free document generator, without a TapTax account.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Prepare an invoice, quote, receipt, credit note or pro forma invoice in TapTax's free document generator, without a TapTax account. Returns the totals and a link that opens the generator with the document filled in, where the person checks it, adds a logo if they like, and downloads the PDF. The details travel in the link itself and are not stored by TapTax.

    Annotations the server declares

    • title: Prepare an invoice, quote or receipt to download
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
  • prepare_quarterly_updateGet the signed-in person's Making Tax Digital quarterly update ready: the cumulative income, expenses and profit from 6 April to the end of the quarter, what still needs reviewing,…1 finding

    Why it is in this group

    • The name "prepare_quarterly_update" says "update": a word for a change.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "prepare_quarterly_update" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":false}; The name "prepare_quarterly_update" says "update": a word for a change.

      What this check looks for
    Description, as the server wrote it
    Get the signed-in person's Making Tax Digital quarterly update ready: the cumulative income, expenses and profit from 6 April to the end of the quarter, what still needs reviewing, and a card with a button that opens TapTax to check and file it. Filing itself always happens in the TapTax app, never from the chat, so HMRC receives the details of the device the person files from.

    Annotations the server declares

    • title: Prepare my quarterly update
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
Only reads 11Claude Code: allow
  • calculate_pension_tax_reliefCompare a self-employed person's tax with their current and a higher personal pension contribution in a tax year: the basic-rate relief added to the pension, the reduction in the t…No findings

    Why it is in this group

    • The description's first verb is "compare": a word for reading.
    Description, as the server wrote it
    Compare a self-employed person's tax with their current and a higher personal pension contribution in a tax year: the basic-rate relief added to the pension, the reduction in the tax bill, and the net cost of the extra contribution.

    Annotations the server declares

    • title: Calculate pension tax relief
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
  • calculate_salary_sacrificeCompare pay before and after a salary sacrifice for a pension or an electric company car: income tax, National Insurance and student loan saved, employer National Insurance saved a…No findings

    Why it is in this group

    • The description's first verb is "compare": a word for reading.
    Description, as the server wrote it
    Compare pay before and after a salary sacrifice for a pension or an electric company car: income tax, National Insurance and student loan saved, employer National Insurance saved and passed back, benefit-in-kind tax for a car, the drop in take-home pay, and for a pension the cost per pound added and the saving against paying in from net pay.

    Annotations the server declares

    • title: Calculate salary sacrifice savings
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
  • check_mtd_statusSay whether and when Making Tax Digital for Income Tax applies to someone, from their qualifying income: self-employment turnover plus property income, before expenses, as on their…No findings

    Why it is in this group

    • The name "check_mtd_status" says "status": a word for reading.
    Description, as the server wrote it
    Say whether and when Making Tax Digital for Income Tax applies to someone, from their qualifying income: self-employment turnover plus property income, before expenses, as on their Self Assessment return. Employment and pension income do not count.

    Annotations the server declares

    • title: Check if Making Tax Digital applies
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
  • compare_inside_and_outside_ir35Compare a contractor's take-home pay working inside IR35 (deemed employment payment, employer National Insurance) with working outside IR35 through a limited company, from the day …No findings

    Why it is in this group

    • The name "compare_inside_and_outside_ir35" says "compare": a word for reading.
    Description, as the server wrote it
    Compare a contractor's take-home pay working inside IR35 (deemed employment payment, employer National Insurance) with working outside IR35 through a limited company, from the day rate and working days, for a tax year. It compares pay; it does not decide IR35 status.

    Annotations the server declares

    • title: Compare inside and outside IR35
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
  • compare_limited_company_and_sole_traderCompare take-home pay as a sole trader with running the same profit through a limited company (salary plus dividends, corporation tax and accountancy cost) for a tax year, with the…No findings

    Why it is in this group

    • The name "compare_limited_company_and_sole_trader" says "compare": a word for reading.
    Description, as the server wrote it
    Compare take-home pay as a sole trader with running the same profit through a limited company (salary plus dividends, corporation tax and accountancy cost) for a tax year, with the annual difference and an approximate break-even profit.

    Annotations the server declares

    • title: Compare a limited company and sole trader
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
  • compare_salary_and_dividendsFor a limited company director, work out take-home pay from a chosen salary plus dividends paid from the remaining profit after employer National Insurance and corporation tax, wit…No findings

    Why it is in this group

    • The name "compare_salary_and_dividends" says "compare": a word for reading.
    Description, as the server wrote it
    For a limited company director, work out take-home pay from a chosen salary plus dividends paid from the remaining profit after employer National Insurance and corporation tax, with every tax and the effective rate, for a tax year.

    Annotations the server declares

    • title: Compare salary and dividends
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
  • get_mileage_summaryRead the signed-in person's own mileage log in their TapTax account for a tax year: total miles, the deductible amount at the approved rates, and the most recent trips.No findings

    Why it is in this group

    • The name "get_mileage_summary" says "get": a word for reading.
    Description, as the server wrote it
    Read the signed-in person's own mileage log in their TapTax account for a tax year: total miles, the deductible amount at the approved rates, and the most recent trips.

    Annotations the server declares

    • title: Get my mileage
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
  • get_mtd_deadlinesList the standard Making Tax Digital quarterly update periods and deadlines for a tax year, and which one is next.No findings

    Why it is in this group

    • The name "get_mtd_deadlines" says "get": a word for reading.
    Description, as the server wrote it
    List the standard Making Tax Digital quarterly update periods and deadlines for a tax year, and which one is next. Updates are cumulative from 6 April.

    Annotations the server declares

    • title: Making Tax Digital deadlines
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
  • get_tax_positionRead the signed-in person's own TapTax account: their tax year so far, as their dashboard shows it: business income, expenses and profit counted by the filing rule, the estimated i…No findings

    Why it is in this group

    • The name "get_tax_position" says "get": a word for reading.
    Description, as the server wrote it
    Read the signed-in person's own TapTax account: their tax year so far, as their dashboard shows it: business income, expenses and profit counted by the filing rule, the estimated income tax and Class 4 NI, how many transactions still need a business-or-personal decision, which quarterly updates they have filed through TapTax, and the next deadline. Needs no figures from the person: everything comes from their records.

    Annotations the server declares

    • title: Get my tax position
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
  • list_invoicesRead the signed-in person's own invoices from their TapTax account, newest first, with each one's live status (a sent invoice past its due date reads as overdue) and the totals out…No findings

    Why it is in this group

    • The name "list_invoices" says "list": a word for reading.
    Description, as the server wrote it
    Read the signed-in person's own invoices from their TapTax account, newest first, with each one's live status (a sent invoice past its due date reads as overdue) and the totals outstanding and overdue. Needs no details from the person.

    Annotations the server declares

    • title: List my invoices
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false
  • list_transactionsRead and search the signed-in person's own income and expense records in their TapTax account, newest first.No findings

    Why it is in this group

    • The name "list_transactions" says "list": a word for reading.
    Description, as the server wrote it
    Read and search the signed-in person's own income and expense records in their TapTax account, newest first. Filter by tax year or dates, type, text in the description, or needsReview=true for the ones still waiting for a business-or-personal decision (the review queue). Needs no details from the person beyond what to look for.

    Annotations the server declares

    • title: List my transactions
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: false

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 1.1.1. Values in angle brackets are yours to fill in.

claude mcp add --transport http taptax https://api.taptax.co.uk/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__taptax__check_mtd_status",
      "mcp__taptax__get_mtd_deadlines",
      "mcp__taptax__calculate_salary_sacrifice",
      "mcp__taptax__calculate_pension_tax_relief",
      "mcp__taptax__compare_salary_and_dividends",
      "mcp__taptax__compare_limited_company_and_sole_trader",
      "mcp__taptax__compare_inside_and_outside_ir35",
      "mcp__taptax__get_tax_position",
      "mcp__taptax__list_transactions",
      "mcp__taptax__get_mileage_summary",
      "mcp__taptax__list_invoices"
    ],
    "ask": [
      "mcp__taptax__estimate_self_employed_tax",
      "mcp__taptax__check_tax_code",
      "mcp__taptax__calculate_take_home_pay",
      "mcp__taptax__calculate_gross_salary_for_take_home",
      "mcp__taptax__calculate_pro_rata_salary",
      "mcp__taptax__convert_hourly_rate_to_salary",
      "mcp__taptax__convert_salary_to_hourly_rate",
      "mcp__taptax__calculate_student_loan_repayment",
      "mcp__taptax__calculate_child_benefit_charge",
      "mcp__taptax__calculate_tax_on_multiple_incomes",
      "mcp__taptax__calculate_dividend_tax",
      "mcp__taptax__calculate_corporation_tax",
      "mcp__taptax__calculate_contractor_day_rate",
      "mcp__taptax__calculate_cis_deduction",
      "mcp__taptax__plan_quarterly_tax_set_aside",
      "mcp__taptax__calculate_mileage_allowance",
      "mcp__taptax__estimate_self_assessment_penalties",
      "mcp__taptax__calculate_vat",
      "mcp__taptax__check_vat_registration",
      "mcp__taptax__check_vat_reverse_charge",
      "mcp__taptax__calculate_markup",
      "mcp__taptax__calculate_profit_margin",
      "mcp__taptax__calculate_invoice_due_date",
      "mcp__taptax__calculate_late_payment_interest",
      "mcp__taptax__calculate_capital_gains_tax",
      "mcp__taptax__calculate_rental_income_tax",
      "mcp__taptax__calculate_savings_interest_tax",
      "mcp__taptax__calculate_stamp_duty",
      "mcp__taptax__prepare_business_document",
      "mcp__taptax__generate_invoice_numbers",
      "mcp__taptax__add_transaction",
      "mcp__taptax__log_mileage_trip",
      "mcp__taptax__create_invoice",
      "mcp__taptax__send_invoice",
      "mcp__taptax__prepare_quarterly_update"
    ],
    "deny": [
      "mcp__taptax__update_transaction",
      "mcp__taptax__send_invoice_from_card",
      "mcp__taptax__mark_invoice_paid"
    ]
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as taptax. Review it before you use it.