Duck Tax

com.ducktaxPublished by ducktax.comOfficial publisherv1.0.0Updated Oct 24, 2026

Check micro-entity company accounts: raw figures in, validated balance sheet and deadlines out.

VerifiedStreamable HTTPWeb executableFinanceData & AnalyticsBusiness & Commerce

Overview

AI-generated overview

Lets an assistant validate UK micro-entity company accounts, convert figures for filing, and look up company records and deadlines.

What you can do
Derives and validates a small-company (UK micro-entity) balance sheet from raw figures, and converts categorised bank-statement totals into filing figures. It also looks up companies on public registers by number or name, reads prior-year filed figures, and computes late-filing penalties and extension deadlines. Saved filings can be listed, saved and deleted, company deadlines tracked, and figures explained in plain English.
When to use it
Use it when preparing or checking UK micro-entity accounts, turning categorised bank-statement totals into filing figures, looking up company register records, or assessing late-filing penalties and extension windows.
Requirements
Remote endpoint; no local runtime needed. Amounts are in major currency units. Some features depend on external public registers (Companies House for GB, ABN Lookup for AU) and on a model service, and are subject to daily quotas; server_status reports which integrations are configured and quota remaining.
Before you install
save_filing writes to the user's account and delete_filing permanently removes a filing with no undo, so confirm before calling. track_company_deadlines may actually send nothing; read the reply rather than assuming. explain_accounts sends the derived sheet to a model (no company name or number), and categorise_transactions should receive description strings only. Some tools are quota-charged.

Installation

In SourceWeft

  1. Open Duck Tax in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/com.ducktax%2Fducktax/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "duck-tax": {
      "type": "http",
      "url": "https://ducktax.com/api/mcp"
    }
  }
}

Tools

20

check_accounts

Check Accounts

Derive a small-company balance sheet (micro-entity, in UK terms) from raw figures and validate it. Returns the derived sheet for the current and prior year, the figures the authority would reject (negatives where it wants a positive, share capital left at nil), and whether they are complete enough to hand to a filing product. It does NOT check that the sheet balances and cannot: retained earnings is derived as the balancing figure, so both sides always agree. Do not tell anybody their sheet was checked for internal consistency. Free and instant: call it after every change to the figures. All money in major units (pounds not pence, dollars not cents). Pass lastFiledAs from lookup_company and it also warns when figures showing activity are about to be filed dormant again.

ParametersfiguresrequiredlastFiledAsjurisdictionrequired

dormant_figures

Dormant Figures

The complete set of figures for a dormant company: share capital, the matching cash, and zeros everywhere else. The register says when the last accounts were filed dormant, and for those companies this collapses the whole form to one call. Amounts in major units.

ParametersshareCapitalrequired

totals_to_figures

Totals To Figures

Turn categorised bank-statement totals into balance sheet figures, applying the rules that stop an import lying: only income categories reach turnover, only expense categories reach operating costs, and the owner topping up the account is never sales. Totals are signed major units per category code; get codes from categorise_transactions.

Parameterstotalsrequired

late_filing_penalty

Late Filing Penalty

What missing a Companies House accounts deadline costs. Given the due date, returns days remaining or overdue, the penalty band already incurred, and what the next band costs, the number that makes someone act today. UK private companies only.

ParametersaccountsDuerequired

list_jurisdictions

List Jurisdictions

The countries this server knows about and what it can actually do in each: which have a real accounts engine, which registers can be searched or looked up, the currency, and the identifiers each jurisdiction files under. Call this first when unsure.

Takes no parameters.

sample_accounts

Sample Accounts

A real worked example: nil turnover, a director loan, a near-empty bank account, the simplest accounts the UK regime permits. Use it to demonstrate check_accounts or as a template for a first-year company. Amounts in major units.

Takes no parameters.

lookup_company

Lookup Company

Look a company up on its public register (Companies House for GB, ABN Lookup for AU) by its registered number. Returns the full public record: name, status, registered office, officers, SIC codes, accounting period, plus both filing deadlines with days remaining and the late-filing penalty already incurred if overdue. Rate limited and quota-charged; cached results are free. Find the number first with search_companies.

ParametersjurisdictionrequiredcompanyNumberrequired

search_companies

Search Companies

Find a company by name on its public register and get back its registered number, status and address. This is how you reach lookup_company when the person only knows the name. Free of the daily quota; lightly rate limited.

Parametersqueryrequiredjurisdictionrequired

get_prior_year_figures

Get Prior Year Figures

Read last year's figures out of the company's last filed accounts at Companies House, ready to drop into the *Prior fields of check_accounts or save_filing. Saves typing seven numbers from a PDF and gets the comparatives exactly as filed. GB only, and only when the last accounts were filed digitally. Quota-charged; cached results are free.

ParameterscompanyNumberrequired

explain_accounts

Explain Accounts

A plain-English reading of a set of figures, written for a director who is not an accountant: what the derived balance sheet says about the company and anything that needs attention before filing. Only the derived sheet is sent to the model, no company name or number. Quota-charged; identical figures are answered from cache free.

Parametersfiguresrequiredjurisdictionrequired

categorise_transactions

Categorise Transactions

Categorise bank-statement transaction descriptions into the fixed vocabulary this product maps to balance sheet lines (sales, software, owner-in, …). Send description strings only, never amounts or dates. Sum the amounts per returned category yourself, then call totals_to_figures. One statement import is one quota unit; previously seen descriptions are answered from a shared cache free.

ParameterstradingTyperequireddescriptionsrequired

check_filing_extension

Check Filing Extension

Whether a company can still apply to its registrar for more time to file, how many days are left to apply, and what being late costs if that window is missed. This is usually the most useful thing to tell somebody who has just found a deadline: applying is free, takes about 15 minutes, and has to be done BEFORE the deadline it extends, so the option expires on the same day the penalty starts. Returns nextAction first. It PREPARES an application and can never submit one: the application is made by a director on the registrar’s own service, which this tool links to. It does not file accounts. Give a company number to read the deadline off the register (quota-charged, cached results free), or give the dates yourself and it costs nothing.

ParameterstodayfilingrequiredperiodEndjurisdictionrequiredcompanyNumberfilingDeadlinealreadyExtendedrequired

draft_extension_reason

Draft Extension Reason

Turn a short factual account of what went wrong into the reason text for an application for more time to file accounts, framed in the terms the registrar actually applies. It uses only the facts you give it: it will not invent circumstances, and where something is missing it leaves a bracketed placeholder rather than filling it in. The person must check every sentence before using it, because they are certifying it to the registrar. Ask them what happened, do not supply it yourself. This tool does not submit the application and does not file accounts. Quota-charged as an explanation; identical input is answered from cache free.

ParametersjurisdictionrequiredcircumstancesrequiredexpectedReadyBywhyItStoppedTheAccounts

list_saved_filings

List Saved Filings

The user's saved filings, most recently touched first, with every figure in major units. This is the same list the website dashboard shows. Start here when asked about "my accounts" or "my company".

Takes no parameters.

save_filing

Save Filing

Save a set of figures to the user's account, or update a saved one by passing its id from list_saved_filings. Figures in major units. The filing is saved even when validation finds problems, because a work in progress is worth keeping, and the problems come back in the response so you can raise them.

ParametersidlabelfiguresrequiredidentifiersjurisdictionrequiredcategoryTotals

delete_filing

Delete Filing

Delete one saved filing by id, permanently. Confirm with the person before calling this; there is no undo and no trash.

Parametersidrequired

track_company_deadlines

Track Company Deadlines

Watch a company by its register number and get reminded before its filing deadlines. Which channels are actually available depends on the server: the reply reports what will really be sent, and it can be nothing at all, so read it rather than assuming. No saved filing is needed: this is for the deadline itself, which matters months before any figures exist. Reminders go out on a ladder of days before the deadline (default 90, 60, 30, 14, 7, 1), and each one states the company, the deadline, the date, the days remaining and the penalty for missing it. Calling this again updates the settings and un-mutes a company that was untracked.

ParameterspushrequiredemailrequiredjurisdictionrequiredcompanyNumberrequiredremindDaysBefore

list_tracked_companies

List Tracked Companies

Every company this user gets deadline reminders about, including the ones implied by their saved filings. Shows the next accounts deadline and days remaining where a register record is already cached. Free: this never contacts a register.

Takes no parameters.

untrack_company_deadlines

Untrack Company Deadlines

Stop sending deadline reminders about a company. This mutes rather than forgets, which is the only thing that holds: a company implied by a saved filing would otherwise be re-added by the next scan. track_company_deadlines un-mutes it again.

ParametersjurisdictionrequiredcompanyNumberrequired

server_status

Server Status

What this deployment can actually do right now: which integrations are configured, whether your token is valid, and how much of each daily quota you have left. Call it when a tool refuses and you want to know whether the feature is off or used up.

Takes no parameters.

Version history

1
  1. v1.0.0LatestSep 16, 2026

Score

83% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts

    Declare a GitHub repository with a README, or serve resource_documentation in the OAuth protected-resource metadata.

  • LicenseNot applicable

    A hosted service is used under its provider's terms, so no license is expected here. This check is left out of the percentage.