Server Details
Expatriation Tax Calculator: the site's own MCP server — calculator, enquiry (enquiry = a human...
- Status
- Healthy
- Uptime
- 99.8% over 38 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 5 tools
The five tools split cleanly along two resources: the calculator (calculate, calculator_describe) and the enquiry (enquiry_describe, enquiry_fields, submit_enquiry). The only mild overlap is between enquiry_describe and enquiry_fields, both of which describe the enquiry surface, but one covers behavior and the other covers fields, so an agent can choose correctly.
Conventions are mixed: 'calculate' is a bare verb, 'submit_enquiry' is verb_noun, while 'calculator_describe', 'enquiry_describe' and 'enquiry_fields' use a noun_verb grouping prefix. The noun-first grouping is readable and predictable within each resource, but the inconsistent verb placement and the lone bare verb keep it from being consistent.
Five tools is lean but proportional for a single-purpose tax calculator plus an enquiry flow, and each tool maps to a distinct step (compute, describe, list fields, submit). Nothing feels redundant or padded, though it sits at the sparse end of the ideal 3-15 range.
The surface covers the full lifecycle: run the calculation, inspect its inputs/outputs/assumptions, learn the enquiry contract, retrieve fields, and submit with a two-step consent/token flow. There is no obvious gap for the stated purpose, though a status/lookup tool for an already-submitted enquiry would round it out.
Available Tools
5 toolscalculateSection 877A exit tax calculatorBInspect
Run the Section 877A exit tax calculator calculator: Covered expatriate status; Test met (first that applies); Section 877A(a)(3) exclusion applied; Gain subject to the exit tax. Missing inputs fall back to their documented defaults.
| Name | Required | Description | Default |
|---|---|---|---|
| gain | No | Net unrealized gain on worldwide property | |
| rate | No | Assumed federal rate on the deemed gain | |
| avgTax | No | Average annual net income tax, 5 years before expatriation | |
| netWorth | No | Net worth on the expatriation date | |
| certified | No | Can you certify 5 years of federal tax compliance on Form 8854? | 1 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the behavioral burden. It does disclose that missing inputs fall back to documented defaults and lists the calculation stages the tool will produce. It does not specify the return format, whether the operation is purely computational, or how results are structured, leaving some behavioral ambiguity.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact, front-loads the action ('Run the Section 877A exit tax calculator'), and uses a clean list for the output stages. The 'calculator calculator' typo is a minor flaw but does not materially hurt clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a calculation tool with five fully documented optional parameters and no output schema, the description names the main computed outputs and the default-fallback behavior, which supports a basic invocation. It does not describe the output container, labeling, or return value shape, so an agent still has to infer part of the response contract.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, documenting all five parameters with defaults, ranges, and descriptions. The description adds no new parameter semantics beyond noting that missing inputs fall back to documented defaults, which largely restates what the schema already expresses. The baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as 'Run the Section 877A exit tax calculator' and enumerates the specific computed outcomes: covered expatriate status, applicable test, exclusion applied, and gain subject to the exit tax. This separates it from the sibling describe/enquiry tools by making its calculation role explicit, though it does not name those alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies this tool is for running the exit tax calculation and that missing inputs will use defaults, which gives some sense of when to call it. However, it gives no explicit guidance about when not to use it or when to prefer siblings like calculator_describe or enquiry_describe.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculator_describeWhat Section 877A exit tax calculator computesAInspect
The inputs this calculator takes (with units, ranges and defaults), the outputs it returns, and the assumptions and tables behind it.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden of disclosure. It does inform the agent that the tool returns information about inputs, outputs, assumptions, and tables, which gives some behavioral transparency. However, it does not explicitly state that the tool performs no calculation or side effects, or describe how the output is presented.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that efficiently enumerates the full scope of the tool's output: inputs, outputs, assumptions, and tables. There is no wasted wording or redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a parameterless describe tool with no output schema, the description adequately captures what an agent will receive. It names the major content categories without promising excessive detail. It could be slightly stronger by noting when to call it relative to calculate, but overall it is sufficiently complete for the tool's simple nature.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and the schema confirms an empty properties object, so there is nothing for the description to clarify. The description does promise to explain inputs with units, ranges, and defaults, which is accurate and helpful context for the tool's overall purpose.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource (Section 877A exit tax calculator) and specifies what the tool covers: inputs, outputs, assumptions, and tables. It is distinguishable from sibling tools like calculate and enquiry_describe because it focuses on describing the calculator's behavior rather than performing a calculation. It lacks an explicit verb like 'returns' or 'describes,' but the intent is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to use this tool versus alternatives such as calculate or enquiry_describe. An agent must infer that this tool is useful before invoking calculate or for understanding calculator internals, but the description does not state this explicitly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
enquiry_describeWhat you get: an ENQUIRY with a human (not a purchase, not a guaranteed quote)AInspect
Read first. States plainly what submit_enquiry does on Expatriation Tax Calculator: it starts an enquiry with human providers who quote directly. Nothing is bought, ordered or paid; no quote is guaranteed; it is free. Also returns who receives the details, the consent wording, and how the person confirms.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of behavioral disclosure. It provides useful transparency about what submit_enquiry does (not a purchase, no guaranteed quote, free) and what the response contains (recipient details, consent wording, confirmation method), but it does not explicitly state that this tool itself is read-only or has no side effects, though the 'describe' verb strongly implies it.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences and front-loads the most important guidance ('Read first') while covering purpose, scope, and output contents. It is efficient, though the phrase 'States plainly' is slightly redundant and the title is longer than necessary.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description does a good job explaining what the tool returns and clarifying the enquiry context (no purchase, no guaranteed quote, free, confirmation process). It could be more explicit about when not to use it or what it does not cover, but for a descriptive companion tool it is adequately complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and empty schema properties, so the schema provides no parameter information. The description compensates by explaining what the returned information will cover, which is sufficient for a parameterless informational tool; per the baseline for zero-parameter tools, this is a solid 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: it 'States plainly what submit_enquiry does' and returns key information about the enquiry process. It differentiates itself from siblings like calculate and enquiry_fields by explicitly being the descriptive companion to submit_enquiry, with no calculation or field-listing focus.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The opening 'Read first' gives a clear instruction to consult this tool before proceeding, implying it should be used before submit_enquiry. It does not explicitly name alternatives or exclusions, but the intended ordering and informational role are evident from the description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
enquiry_fieldsThe questions the enquiry asksAInspect
Every field of the Expatriation Tax Calculator enquiry: key, label, type, whether required, help text and the allowed options where there are any. Pass answers to submit_enquiry keyed by field key.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral disclosure burden. It does a good job by specifying exactly what data is exposed and the expected relationship with submit_enquiry. It does not explicitly state that the operation is read-only, but for a zero-parameter metadata listing this is a minor omission rather than a significant transparency gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that front-loads the core purpose, enumerates the included attributes, and ends with an actionable pointer to submit_enquiry. Every clause earns its place with no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter, no-output-schema tool, the description gives a solid picture of what the agent receives and how to apply it. It lacks an explicit statement of the output structure (e.g., array of objects), but the enumeration of field attributes sufficiently conveys the shape of the data for most use cases.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has no parameters, so the baseline is 4. The description adds relevant context by explaining that the returned field keys are meaningful for submit_enquiry, even though there are no input parameters to document.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource—the field definitions of the Expatriation Tax Calculator enquiry—and enumerates the exact attributes exposed (key, label, type, required, help text, options). It is distinguishable from siblings like calculator_describe and enquiry_describe, though it stops short of using an explicit verb such as 'returns' or 'lists'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a clear downstream usage instruction: 'Pass answers to submit_enquiry keyed by field key.' This implies when the tool is useful, but it does not explicitly contrast it with sibling tools like enquiry_describe or calculator_describe, nor does it state when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
submit_enquirySubmit an ENQUIRY to human providers (two steps; not a purchase)AInspect
Submits an enquiry to Expatriation Tax Calculator — NOT a purchase, NOT a guaranteed quote. Step 1: call with the answers (keyed by field key from enquiry_fields) and consent=true; it validates and returns a summary, the consent line and a confirmation token — show the person the summary and the consent line. Step 2: only if the person agrees, call again with the same answers, consent=true and the confirmation token; the enquiry is then submitted, and the person receives an email with a link they must click before any provider sees it. Consent means the person has read and agreed to: "Send my contact details to up to three relevant cross-border tax advisers, chosen by Expatriation Tax Calculator, who'll contact me directly. I'll be emailed each firm's name as my details go to it, and can stop any more firms getting them."
| Name | Required | Description | Default |
|---|---|---|---|
| answers | Yes | the person's answers, keyed by field key | |
| consent | Yes | true only when the person has agreed to: Send my contact details to up to three relevant cross-border tax advisers, chosen by Expatriation Tax Calculator, who'll contact me directly. I'll be emailed each firm's name as my details go to it, and can stop any more firms getting them. | |
| confirmation | No | the confirmation token from step 1, after the person has approved the summary |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden and does so: it discloses validation behavior, that step 1 returns a summary/consent line/token rather than submitting, that the person must approve before submission, and that an email link must be clicked before any provider sees the data. It also spells out the exact consent semantics, which is essential side-effect context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is long and runs on, but every sentence is load-bearing for a two-step consent-gated workflow, and the critical 'NOT a purchase' constraint is front-loaded. Slightly denser than ideal, but not padded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having no output schema, the description explains what each call returns (summary, consent line, confirmation token) and the downstream consequences (email with a click-through link before providers see details). For a complex nested-object tool with a two-phase protocol, nothing an agent needs is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents all three parameters, but the description still adds workflow meaning: answers are keyed by field key from enquiry_fields, consent must be true, and confirmation is the step-1 token passed in a second call after approval. That temporal/role guidance goes beyond the schema field text.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource (submits an enquiry to human providers) and immediately scopes what it is NOT (not a purchase, not a guaranteed quote), which cleanly separates it from the calculate/calculator_describe siblings. An agent can identify the operation without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives explicit two-step usage: step 1 call with answers + consent=true to validate and get a token, step 2 only if the person agrees, calling again with the same answers plus the confirmation token. It also names the source of answer keys (enquiry_fields), so the conditions selecting each call are unambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
1 tool update
- Changed
submit_enquiry1 field changed- changed
Input schema / properties / consent / descriptionPrevious value: -"true only when the person has agreed to: Happy for my details to go to a relevant cross-border tax adviser, who'll contact me directly."New value: +"true only when the person has agreed to: Send my contact details to up to three relevant cross-border tax advisers, chosen by Expatriation Tax Calculator, who'll contact me directly. I'll be emailed each firm's name as my details go to it, and can stop any more firms getting them."
5 tool updates
- First observed
calculate - First observed
calculator_describe - First observed
enquiry_describe - First observed
enquiry_fields - First observed
submit_enquiry
Related MCP Connectors
Cyprus Non-Dom Calculator: the site's own MCP server — calculator, enquiry (enquiry = a human...
Contractor Pay Calculator: the site's own MCP server — calculator, enquiry (enquiry = a human...
Exit Tax Estimator: the site's own MCP server — checker, enquiry (enquiry = a human handoff, not...
IT Support Cost Calculator: the site's own MCP server — calculator, enquiry (enquiry = a human...
Related MCP Servers
- AlicenseAqualityCmaintenanceMCP server exposing UK financial adviser calculations (tax, IHT, pensions, portfolios) to any MCP-capable client.6MIT
- AlicenseNot gradedqualityBmaintenancePublic, no-login MCP server exposing SmartMoney77's financial calculators: compound interest, FIRE number, credit-card payoff, emergency fund, inflation, fees and the cost of waiting. Also computes historical "what if I had invested" returns from real yearly price data, and builds deep links and share packs for calculators in 6 localized editions.MIT
- FlicenseNot gradedqualityBmaintenanceA public, no-auth remote MCP server that exposes Arc & Ledger's free tax calculators and intake funnel as tools inside AI assistants. Provides tools for IRS notice explanation, FBAR/FATCA, LLC vs S-Corp comparison, quarterly tax estimates, and more.-
- AlicenseAqualityAmaintenanceThe most comprehensive everyday calculator MCP server — 501 tools across 22 categories covering 8 countries' tax systems (FR, BE, CH, CA, US, UK, MA, SN). Finance, health, math, science, construction, conversions, education, sport, cooking, travel, and more. Free, no API key required. Streamable HTTP transport.1517 npm1MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.