Skip to main content
Glama

Estimate Sole Trader Tax

estimate_sole_trader_tax
Read-onlyIdempotent

Estimate the income tax and National Insurance a UK sole trader should set aside, and any payments on account, from their profit. An estimate for the current UK tax year. Needs no account.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "profit": "<profit>"
    },
    "name": "estimate_sole_trader_tax"
  }
}

Input Schema

NameRequiredDescriptionDefault
profitYesAnnual profit before tax, in pounds.
companyNoWhich company to read, by name or id, when the account has more than one (see list_companies). Leave it out to use the only company, or the default.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description still adds real value beyond them: the output is an estimate (not a filing), it covers payments on account, it is tied to the current tax year, and it requires no linked account. It does not mention rate sources or precision limits, which would have completed the picture.

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

Conciseness5/5

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

Three short sentences, roughly 35 words, with the core action and output front-loaded and the two scoping facts (tax year, no account needed) following immediately. Nothing is redundant with the title or annotations.

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

Completeness4/5

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

With no output schema, the description usefully names the returned figures: income tax, National Insurance, and payments on account. It also fixes the tax year, which an agent needs to interpret the result. Only the source of the tax rates and any precision caveats are left unstated.

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

Parameters3/5

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

Schema coverage is 100%, so both parameters are already documented and the baseline is 3. The description reinforces that the calculation is driven by profit and that no account is needed, which implicitly downplays the optional 'company' parameter, but it also creates mild tension with the schema's 'Which company to read' wording. No extra syntax or formatting detail is added.

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

Purpose4/5

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

States a specific verb and resource: estimate income tax and National Insurance for a UK sole trader, including payments on account, from profit. It also scopes the output to the current UK tax year and flags 'Needs no account,' which separates it from account-reading tools like get_balance or check_company. It stops short of naming its closest sibling, compare_sole_trader_vs_ltd, so the differentiation is implicit rather than explicit.

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

Usage Guidelines3/5

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

'An estimate for the current UK tax year. Needs no account.' implies the context of use: a quick personal tax set-aside figure with no company data required. There is no explicit when-not guidance or named alternative, so an agent weighing this against compare_sole_trader_vs_ltd or calculate_vat_period must infer the boundary itself.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.