Alpaca Trading API integration for Model Context Protocol (MCP)
Duck Tax is installed from its publisher's own source and answers where it runs, so this marketplace is not in the path of a single call. There is no address here to send one to, and a panel that pretended otherwise would be showing you an answer we made up. Install it and call it from your own client — the Installation tab has the entry for each one.
What it does
Check micro-entity company accounts: raw figures in, validated balance sheet and deadlines out.
Quickstart
# 1 — add it to Claude Code
claude mcp add --scope user --transport http duck-tax-mcp https://ducktax.com/api/mcp
# 2 — ask your agent for something these tools do
# check_accounts, dormant_figures, totals_to_figures and 17 more
Duck Tax costs nothing on mcprush: there is no plan to choose here, no cap to set and nothing mcprush can bill you for.
Collected from a public index. Nobody has claimed this account, so nothing here was written by its author — claim it if it is yours.
Where are you running it?
Every route below installs the same thing and ends at the same approval screen. Nothing here runs on your machine and nothing runs on ours: this server answers at its publisher’s own address, and what you install is the connection straight to it.
This is a public server: it answers at its publisher’s own address and this marketplace is not in the path. Claude Code registers it in one command; --scope user makes it available in every project. The transport below is http, as the publisher's own manifest declares it.
claude mcp add --scope user --transport http duck-tax-mcp https://ducktax.com/api/mcpReconnect, or start a new session, and the tools appear in the model’s tool list.
One config entry pointing straight at the publisher’s own address — this marketplace is not in the path, and nothing from this listing executes on your machine.
20 tools, with what each one reads, writes and reaches shown before you agree — the same list on every route above. Read the tool surface.
Tool surface
What the model actually sees. Descriptions are diffed on every release — see version history.
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
| Parameter | Type | Required | Notes |
|---|---|---|---|
| jurisdiction | string | yes | ISO country code. GB is the only jurisdiction with full support. |
| figures | object | yes | The figures behind a small-company balance sheet. ALL amounts in major units. |
| lastFiledAs | string | no | What the last accounts were filed as, straight from lookup_company's company.lastAccountsType. Pass it through; do not guess it. |
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.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| shareCapital | number | yes | Issued share capital in major units. 1 is the overwhelmingly common figure. |
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.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| totals | object | yes | Signed totals per category code, major units, e.g. {"sales": 60000, "software": -1200}. |
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.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| accountsDue | string | yes | The accounts due date, from lookup_company or a Companies House letter. |
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.
No parameter schema on file.
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.
No parameter schema on file.
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 w
| Parameter | Type | Required | Notes |
|---|---|---|---|
| jurisdiction | string | yes | ISO country code. Register access exists for GB and AU. |
| companyNumber | string | yes | The register identifier: GB company number (e.g. 15379140) or AU ABN. |
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.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| jurisdiction | string | yes | ISO country code. Register access exists for GB and AU. |
| query | string | yes | The company name, as someone would say it. |
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.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| companyNumber | string | yes | The GB company number. |
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.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| figures | object | yes | The figures behind a small-company balance sheet. ALL amounts in major units. |
| jurisdiction | string | yes | ISO country code. Register access exists for GB and AU. |
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.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| tradingType | string | yes | What the company does, to resolve ambiguous merchants. One of: software, consulting, creative, retail, construction, property, hospitality, other. lookup_company suggests one from the SIC codes. |
| descriptions | array | yes | The raw description strings, one per transaction. |
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. Retu
| Parameter | Type | Required | Notes |
|---|---|---|---|
| jurisdiction | string | yes | ISO country code. Register access exists for GB and AU. |
| filing | string | yes | Which deadline. Only accounts can be extended; ask about the other and it says so. |
| companyNumber | string | no | Read the deadline and period end off the register. Omit if you supply the dates. |
| filingDeadline | string | no | The normal filing deadline, if you already have it. Skips the register request. |
| periodEnd | string | no | The accounting reference date. Bounds how much extra time could be granted. |
| alreadyExtended | boolean | yes | True if this deadline has been extended once already. Do not guess it, ask. |
| today | string | no | Defaults to the server's date. Supply it to test a boundary. |
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
| Parameter | Type | Required | Notes |
|---|---|---|---|
| jurisdiction | string | yes | ISO country code. Register access exists for GB and AU. |
| circumstances | string | yes | What actually happened, in the person's own words, with dates. Facts only. If you do not have this, ask them for it rather than writing it. |
| whyItStoppedTheAccounts | string | no | How the event stopped the accounts being prepared, if they have said. |
| expectedReadyBy | string | no | When they expect the accounts to be ready, if they have said. Never estimate it. |
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".
No parameter schema on file.
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.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| id | integer | no | Omit to create. Pass an id from list_saved_filings to update that filing. |
| jurisdiction | string | yes | — |
| label | string | no | A name for the filing, e.g. "SparkGames year to 31 Dec 2025". |
| identifiers | object | no | Register identifiers, e.g. {"companyNumber": "15379140"}. Tax references (UTR, EIN, TFN) are never stored and are silently dropped. |
| figures | object | yes | The figures behind a small-company balance sheet. ALL amounts in major units. |
| categoryTotals | object | no | Where the figures came from, when a bank statement fed them: signed major-unit totals per category code from categorise_transactions. |
Delete one saved filing by id, permanently. Confirm with the person before calling this; there is no undo and no trash.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| id | integer | yes | The id from list_saved_filings. |
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 bef
| Parameter | Type | Required | Notes |
|---|---|---|---|
| jurisdiction | string | yes | ISO country code. Deadline reminders exist where the register publishes deadlines. |
| companyNumber | string | yes | The register identifier: GB company number (e.g. 15379140) or AU ABN. |
| boolean | yes | Send reminders to the account email address. | |
| push | boolean | yes | Send reminders as web push to signed-in browsers. |
| remindDaysBefore | array | no | Days before the deadline to warn, e.g. [60, 14, 1]. Omit to use this server’s default ladder. Only the tightest rung that applies is ever sent, so a long ladder does not mean a burst of messages. |
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.
No parameter schema on file.
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.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| jurisdiction | string | yes | ISO country code. Deadline reminders exist where the register publishes deadlines. |
| companyNumber | string | yes | The register identifier, as in track_company_deadlines. |
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.
No parameter schema on file.
- Every tool — any call limit is its publisher’s, not ours
- No card, and mcprush charges nothing for it
- Runs at its publisher’s own address — this marketplace is not in the path
- Nothing to cap, because mcprush bills nothing
What counts against your monthly calls
| Tool | Unit | Calls used | Out of the allowance |
|---|
Nothing here is billable: mcprush charges nothing to install Duck Tax or to call it, at any volume.
Two independent axes, because powerful and malicious are different questions. The grade is threat only. The capability level is blast radius, and it is never a penalty on the grade — it is priced as one subtract-only term in the score, where you can see it.
This listing is an address its publisher runs, and you connect to it directly — this marketplace is not in the path. The scanner reads packages and public source, and an address is neither. So there is no grade — not a withheld one, an unmeasured one.
Release history
This is an address its publisher runs: which release it serves is theirs to choose, so there is nothing here to pin. The history below is for reading; the current release on file is 1.0.0.
No release note was published with this version.
One review per account, from a signed-in account that does not publish this listing. Nothing else is asked — you can say what you think before you install it. Publishers can reply once per review, and a review can be edited or deleted by whoever wrote it.
Any signed-in account that does not publish Duck Tax can review it, once — before installing it or after. A review from an account that has installed it is marked as one.
Nobody has reviewed this listing. The rating on the card is the mean of the reviews written here and nothing else, so there is no rating until somebody writes the first — which takes a signed-in account that does not publish it, and nothing else.