MCP 服务器

TapTax

uk.co.taptax/taptax

此 MCP 可以做什么

Tracks UK self-employed income, expenses, mileage, invoices and tax estimates, and prepares Making Tax Digital updates.

add_transaction
Add income or an expense
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.
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['type', 'amount', 'date', 'description', 'category'], 'properties': {'date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'The date on the receipt or of the payment'}, 'type': {'enum': ['income', 'expense'], 'type': 'string'}, 'amount': {'type': 'number', 'maximum': 10000000, 'description': 'In pounds, VAT included', 'exclusiveMinimum': 0}, 'category': {'enum': ['costOfGoods', 'constructionIndustryScheme', 'staffCosts', 'travelCosts', 'premisesRunningCosts', 'maintenanceCosts', 'adminCosts', 'advertisingCosts', 'businessEntertainmentCosts', 'interest', 'financialCharges', 'badDebt', 'professionalFees', 'depreciation', 'other', 'turnover'], 'type': 'string', 'description': 'For an expense, its HMRC self-employment box (SA103F): costOfGoods: materials, parts and stock used in the work or sold on, e.g. trade and building suppliers such as Screwfix, Toolstation, City Electrical Factors, Edmundson Electrical, Travis Perkins, Wickes; constructionIndustryScheme: payments to subcontractors under the Construction Industry Scheme; staffCosts: wages, salaries and pension contributions for employees, and payments to non-CIS subcontractors; travelCosts: car, van and travel: fuel, vehicle insurance, servicing and repairs, road tax, parking, tolls, public transport and taxi fares, and hotels and meals on overnight business trips; premisesRunningCosts: rent, business rates, power, heating, water, insurance and security for business premises (never vehicles); maintenanceCosts: repairs and maintenance of business premises, machinery and equipment; adminCosts: phone, broadband, postage, stationery, printing, small office items, and software and app subscriptions such as accounting or tax software (TapTax, Xero, QuickBooks); advertisingCosts: advertising, marketing and website costs; businessEntertainmentCosts: entertaining clients or customers; interest: interest on business loans and overdrafts; financialCharges: bank, overdraft, card and payment-processing charges; badDebt: money owed to the business that will not be paid and was counted as income; professionalFees: accountants, solicitors and other professional fees, and professional indemnity insurance; depreciation: depreciation of equipment (rare in a bank transaction); other: other allowable business costs, e.g. protective clothing, trade and professional body memberships, public liability insurance. For income: turnover (sales and fees) or other (other business income).'}, 'personal': {'type': 'boolean', 'default': False, 'description': 'True for a personal (non-business) payment'}, 'description': {'type': 'string', 'maxLength': 500, 'minLength': 1, 'description': 'Supplier or client, and what it was for'}}}
check_mtd_status
Check if Making Tax Digital applies
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.
只读
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['selfEmploymentTurnover'], 'properties': {'propertyIncome': {'type': 'number', 'default': 0, 'maximum': 100000000, 'minimum': 0}, 'selfEmploymentTurnover': {'type': 'number', 'maximum': 100000000, 'minimum': 0}}}
check_tax_code
Check a PAYE tax code
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.
只读
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['taxCode', 'grossSalary'], 'properties': {'taxCode': {'type': 'string', 'maxLength': 20, 'minLength': 1, 'description': 'The code as printed on a payslip or P45'}, 'taxYear': {'enum': ['2026-27', '2025-26', '2024-25', '2023-24', '2022-23'], 'type': 'string', 'description': 'Tax year the code applies to; defaults to the current one'}, 'scotland': {'type': 'boolean', 'description': 'True for a Scottish taxpayer'}, 'grossSalary': {'type': 'number', 'maximum': 1000000, 'minimum': 0, 'description': 'Annual gross pay from this job, in pounds'}, 'monthsOnCode': {'type': 'integer', 'maximum': 12, 'minimum': 1, 'description': 'For emergency codes: how many monthly payslips were paid on it so far'}, 'hasCompanyCar': {'type': 'boolean'}, 'hasMultipleJobs': {'type': 'boolean', 'description': 'Whether the person has another job or pension; omitted when unknown'}, 'hasPrivateMedical': {'type': 'boolean'}, 'hasMarriageAllowance': {'type': 'boolean'}, 'receivesStatePension': {'type': 'boolean'}, 'marriageAllowanceDirection': {'enum': ['transferring', 'receiving'], 'type': 'string'}}}
create_invoice
Create an invoice
Create a draft invoice in the signed-in person's TapTax, numbered in their sequence and using their saved business details. The invoice is created as a draft and is not sent. Free plans include 3 invoices; paid plans are unlimited.
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['clientName', 'items'], 'properties': {'items': {'type': 'array', 'items': {'type': 'object', 'required': ['description', 'unitPrice'], 'properties': {'quantity': {'type': 'number', 'default': 1, 'maximum': 99999, 'exclusiveMinimum': 0}, 'unitPrice': {'type': 'number', 'maximum': 10000000, 'minimum': 0, 'description': 'In pounds, before VAT'}, 'description': {'type': 'string', 'maxLength': 500, 'minLength': 1}}}, 'maxItems': 50, 'minItems': 1}, 'notes': {'type': 'string', 'maxLength': 2000}, 'dueDate': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Exact due date; otherwise dueInDays applies'}, 'dueInDays': {'type': 'integer', 'default': 30, 'maximum': 120, 'minimum': 0, 'description': 'Payment terms in days when no dueDate is given (0 = due on receipt)'}, 'issueDate': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'Defaults to today'}, 'clientName': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'clientEmail': {'type': 'string', 'format': 'email', 'pattern': "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$", 'description': 'The client email; required to send the invoice'}, 'clientAddress': {'type': 'string', 'maxLength': 500}, 'vatRatePercent': {'type': 'number', 'maximum': 100, 'minimum': 0, 'description': 'VAT rate for a VAT-registered business, e.g. 20'}}}
estimate_self_employed_tax
Estimate self-employed tax
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.
只读
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['turnover'], 'properties': {'taxYear': {'enum': ['2024-25', '2025-26', '2026-27'], 'type': 'string', 'description': 'UK tax year, e.g. "2026-27" (6 April 2026 to 5 April 2027). Defaults to the current one.'}, 'expenses': {'type': 'number', 'default': 0, 'maximum': 10000000, 'minimum': 0, 'description': 'Allowable business expenses, in pounds (excluding mileage if businessMiles is given)'}, 'turnover': {'type': 'number', 'maximum': 10000000, 'minimum': 0, 'description': 'Self-employed income before expenses, in pounds'}, 'otherIncome': {'type': 'number', 'maximum': 10000000, 'minimum': 0, 'description': 'Other taxable income such as a salary or pension, in pounds'}, 'businessMiles': {'type': 'number', 'maximum': 200000, 'minimum': 0, 'description': 'Business miles driven in a car or van, claimed at the approved mileage rate'}, 'studentLoanPlan': {'enum': ['none', 'plan1', 'plan2', 'plan4', 'postgrad'], 'type': 'string'}, 'taxDeductedAtSource': {'type': 'number', 'maximum': 10000000, 'minimum': 0, 'description': 'Tax already paid through PAYE or CIS deductions this year'}, 'pensionContributions': {'type': 'number', 'maximum': 1000000, 'minimum': 0, 'description': 'Personal pension contributions paid (relief at source), in pounds'}}}
get_mileage_summary
Get my mileage
The signed-in person's business mileage for a tax year: total miles, the deductible amount at the approved rates, and the most recent trips.
只读
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'taxYear': {'enum': ['2024-25', '2025-26', '2026-27'], 'type': 'string'}}}
get_mtd_deadlines
Making Tax Digital deadlines
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.
只读
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'taxYear': {'enum': ['2024-25', '2025-26', '2026-27'], 'type': 'string', 'description': 'Defaults to the current tax year'}}}
get_tax_position
Get my tax position
The signed-in person's tax year so far, as the TapTax 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.
只读
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'taxYear': {'enum': ['2024-25', '2025-26', '2026-27'], 'type': 'string', 'description': 'Defaults to the current tax year'}}}
list_invoices
List my invoices
The signed-in person's invoices, newest first, with each one's live status (a sent invoice past its due date reads as overdue) and the totals outstanding and overdue.
只读
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'limit': {'type': 'integer', 'default': 25, 'maximum': 100, 'minimum': 1}, 'status': {'enum': ['all', 'unpaid', 'overdue', 'paid', 'draft'], 'type': 'string', 'default': 'all', 'description': 'unpaid = sent, viewed or overdue'}}}
list_transactions
List my transactions
Search the signed-in person's income and expense transactions, 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).
只读
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'to': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'On or before this date'}, 'from': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$', 'description': 'On or after this date'}, 'type': {'enum': ['income', 'expense'], 'type': 'string'}, 'limit': {'type': 'integer', 'default': 25, 'maximum': 100, 'minimum': 1}, 'search': {'type': 'string', 'maxLength': 100, 'minLength': 2, 'description': 'Text to find in the description'}, 'taxYear': {'enum': ['2024-25', '2025-26', '2026-27'], 'type': 'string'}, 'needsReview': {'type': 'boolean'}}}
log_mileage_trip
Log a business trip
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.
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['date', 'from', 'to', 'miles', 'purpose'], 'properties': {'to': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$'}, 'from': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'miles': {'type': 'number', 'maximum': 99999, 'description': 'Business miles for this trip', 'exclusiveMinimum': 0}, 'purpose': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'vehicle': {'enum': ['car', 'motorcycle', 'bicycle'], 'type': 'string', 'default': 'car', 'description': 'Vans count as car'}}}
mark_invoice_paid
Mark an invoice paid
Record that the client has paid an invoice (dated today). Stops any payment reminders.
可能执行破坏性操作 幂等
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['invoiceId'], 'properties': {'invoiceId': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}}}
prepare_quarterly_update
Prepare my quarterly update
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.
只读
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'quarter': {'type': 'integer', 'maximum': 4, 'minimum': 1, 'description': '1 = to 5 July, 2 = to 5 October, 3 = to 5 January, 4 = to 5 April'}, 'taxYear': {'enum': ['2024-25', '2025-26', '2026-27'], 'type': 'string', 'description': 'Defaults to the current tax year'}}}
send_invoice
Email an invoice to the client
Email an invoice with its PDF to the client address on it, from the person's business name. This sends a real email to the client.
可能执行破坏性操作 可访问外部资源
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['invoiceId'], 'properties': {'invoiceId': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}}}
update_transaction
Update or review a transaction
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.
可能执行破坏性操作 幂等
输入模式
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['id'], 'properties': {'id': {'type': 'string', 'format': 'uuid', 'pattern': '^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$'}, 'date': {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2}$'}, 'amount': {'type': 'number', 'maximum': 10000000, 'exclusiveMinimum': 0}, 'category': {'enum': ['costOfGoods', 'constructionIndustryScheme', 'staffCosts', 'travelCosts', 'premisesRunningCosts', 'maintenanceCosts', 'adminCosts', 'advertisingCosts', 'businessEntertainmentCosts', 'interest', 'financialCharges', 'badDebt', 'professionalFees', 'depreciation', 'other', 'turnover'], 'type': 'string'}, 'description': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'businessOrPersonal': {'enum': ['business', 'personal'], 'type': 'string'}}}
已添加
prepare_quarterly_update
2026年10月4日 02:40
已添加
mark_invoice_paid
2026年10月4日 02:40
已添加
send_invoice
2026年10月4日 02:40
已添加
create_invoice
2026年10月4日 02:40
已添加
list_invoices
2026年10月4日 02:40
已添加
log_mileage_trip
2026年10月4日 02:40
已添加
update_transaction
2026年10月4日 02:40
已添加
add_transaction
2026年10月4日 02:40
已添加
get_mileage_summary
2026年10月4日 02:40
已添加
list_transactions
2026年10月4日 02:40
已添加
get_tax_position
2026年10月4日 02:40
已添加
get_mtd_deadlines
2026年10月4日 02:40
已添加
check_mtd_status
2026年10月4日 02:40
已添加
check_tax_code
2026年10月4日 02:40
已添加
estimate_self_employed_tax
2026年10月4日 02:40