Estimate dividend and interest withholding-tax refunds, treaty rates and filing deadlines.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Estimate the reclaimable withholding tax for a whole dividend history in one call: send either a broker export as csv_text with its broker id, or a list of payments (ISIN, payment_date YYYY-MM-DD, gross_amount, currency, optional withheld_amount), max 500. Returns each payment with its source country, treaty rate, reclaimable amount in the residence currency, form and deadline, plus totals per source country. A payment whose source country cannot be resolved is returned as unresolved with no amount; withheld_is_estimated marks a withholding figure estimated from the statutory rate.
ISO alpha-2
One of: avanza, bux, degiro, etoro, freetrade, ibkr, ibkr_flex, nordnet, rabobank, revolut, saxo, schwab, swissquote, trade_republic, trading212, xtb, or generic (needs column_map)
Broker export as text
generic only: target field -> CSV column (asset_name, payment_date, gross_amount, ...)
ISO 4217
Estimate the reclaimable withholding tax for a whole dividend history in one call: send either a broker export as csv_text with its broker id, or a list of payments (ISIN, payment_date YYYY-MM-DD, gross_amount, currency, optional withheld_amount), max 500. Returns each payment with its source country, treaty rate, reclaimable amount in the residence currency, form and deadline, plus totals per source country. A payment whose source country cannot be resolved is returned as unresolved with no amount; withheld_is_estimated marks a withholding figure estimated from the statutory rate.
| Argument | Type | Description |
|---|---|---|
| broker | any | One of: avanza, bux, degiro, etoro, freetrade, ibkr, ibkr_flex, nordnet, rabobank, revolut, saxo, schwab, swissquote, trade_republic, trading212, xtb, or generic (needs column_map) |
| csv_text | any | Broker export as text |
| payments | any | |
| column_map | any | generic only: target field -> CSV column (asset_name, payment_date, gross_amount, ...) |
| residence_country* | string | ISO alpha-2 |
| residence_currency | string | ISO 4217 |
{
"type": "object",
"$defs": {
"Payment": {
"type": "object",
"title": "Payment",
"required": [
"isin",
"payment_date",
"gross_amount",
"currency"
],
"properties": {
"isin": {
"type": "string",
"title": "Isin",
"maxLength": 20,
"minLength": 1
},
"currency": {
"type": "string",
"title": "Currency",
"maxLength": 3,
"minLength": 3,
"description": "ISO 4217"
},
"asset_name": {
"anyOf": [
{
"type": "string",
"maxLength": 200
},
{
"type": "null"
}
],
"title": "Asset Name",
"default": null
},
"income_type": {
"enum": [
"dividend",
"interest"
],
"type": "string",
"title": "Income Type",
"default": "dividend"
},
"gross_amount": {
"type": "number",
"title": "Gross Amount",
"maximum": 1000000000000,
"minimum": 0
},
"payment_date": {
"type": "string",
"title": "Payment Date",
"format": "date"
},
"withheld_amount": {
"anyOf": [
{
"type": "number",
"maximum": 1000000000000,
"minimum": 0
},
{
"type": "null"
}
],
"title": "Withheld Amount",
"default": null,
"description": "Tax withheld at source; omit if unknown and it is estimated"
}
},
"additionalProperties": false
}
},
"title": "DividendsArgs",
"required": [
"residence_country"
],
"properties": {
"broker": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Broker",
"default": null,
"description": "One of: avanza, bux, degiro, etoro, freetrade, ibkr, ibkr_flex, nordnet, rabobank, revolut, saxo, schwab, swissquote, trade_republic, trading212, xtb, or generic (needs column_map)"
},
"csv_text": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Csv Text",
"default": null,
"description": "Broker export as text"
},
"payments": {
"anyOf": [
{
"type": "array",
"items": {
"$ref": "#/$defs/Payment"
},
"maxItems": 500,
"minItems": 1
},
{
"type": "null"
}
],
"title": "Payments",
"default": null
},
"column_map": {
"anyOf": [
{
"type": "object",
"additionalProperties": {
"type": "string"
}
},
{
"type": "null"
}
],
"title": "Column Map",
"default": null,
"description": "generic only: target field -> CSV column (asset_name, payment_date, gross_amount, ...)"
},
"residence_country": {
"type": "string",
"title": "Residence Country",
"maxLength": 2,
"minLength": 2,
"description": "ISO alpha-2"
},
"residence_currency": {
"type": "string",
"title": "Residence Currency",
"default": "EUR",
"maxLength": 3,
"minLength": 3,
"description": "ISO 4217"
}
},
"additionalProperties": false
}Estimate the reclaimable withholding tax on one dividend or interest payment for a source/residence country pair, with the treaty rate, filing form and deadline. Country codes are ISO alpha-2; payment_date is YYYY-MM-DD.
| Argument | Type | Description |
|---|---|---|
| is_franked | any | |
| entity_type | string | |
| holding_pct | any | |
| income_type | string | |
| gross_amount* | number | |
| payment_date* | string | ISO date YYYY-MM-DD |
| holding_months | any | |
| is_arms_length | any | |
| source_country* | string | |
| withheld_amount | any |
Get the withholding-tax reclaim deadline rule for a source country, optionally for a specific residence (treaty partner) country.
| Argument | Type | Description |
|---|---|---|
| country* | string | ISO alpha-2 source country |
| treaty_partner | any | ISO alpha-2 residence country, for treaty exceptions |
{
"type": "object",
"title": "DeadlineArgs",
"required": [
"country"
],
"properties": {
"country": {
"type": "string",
"title": "Country",
"maxLength": 2,
"minLength": 2,
"description": "ISO alpha-2 source country"
},
"treaty_partner": {
"anyOf": [
{
"type": "string",
"maxLength": 2,
"minLength": 2
},
{
"type": "null"
}
],
"title": "Treaty Partner",
"default": null,
"description": "ISO alpha-2 residence country, for treaty exceptions"
}
},
"additionalProperties": false
}List supported source and residence countries, domestic withholding rates and the payment years that may still be reclaimable.
No arguments.
{
"type": "object",
"title": "NoArgs",
"properties": {},
"additionalProperties": false
}| tax_payment_date | any | Authoritative withholding-tax payment date when the deadline runs from tax payment |
| residence_country* | string |
| withheld_rate_pct | any |
| is_portfolio_interest | any |
{
"type": "object",
"title": "RefundArgs",
"required": [
"source_country",
"residence_country",
"gross_amount",
"payment_date"
],
"properties": {
"is_franked": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Is Franked",
"default": null
},
"entity_type": {
"enum": [
"retail",
"corporate"
],
"type": "string",
"title": "Entity Type",
"default": "retail"
},
"holding_pct": {
"anyOf": [
{
"type": "number",
"maximum": 100,
"minimum": 0
},
{
"type": "null"
}
],
"title": "Holding Pct",
"default": null
},
"income_type": {
"enum": [
"dividend",
"interest"
],
"type": "string",
"title": "Income Type",
"default": "dividend"
},
"gross_amount": {
"type": "number",
"title": "Gross Amount",
"minimum": 0
},
"payment_date": {
"type": "string",
"title": "Payment Date",
"description": "ISO date YYYY-MM-DD"
},
"holding_months": {
"anyOf": [
{
"type": "integer",
"minimum": 0
},
{
"type": "null"
}
],
"title": "Holding Months",
"default": null
},
"is_arms_length": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Is Arms Length",
"default": null
},
"source_country": {
"type": "string",
"title": "Source Country",
"maxLength": 2,
"minLength": 2
},
"withheld_amount": {
"anyOf": [
{
"type": "number",
"minimum": 0
},
{
"type": "null"
}
],
"title": "Withheld Amount",
"default": null
},
"tax_payment_date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Tax Payment Date",
"default": null,
"description": "Authoritative withholding-tax payment date when the deadline runs from tax payment"
},
"residence_country": {
"type": "string",
"title": "Residence Country",
"maxLength": 2,
"minLength": 2
},
"withheld_rate_pct": {
"anyOf": [
{
"type": "number",
"maximum": 100,
"minimum": 0
},
{
"type": "null"
}
],
"title": "Withheld Rate Pct",
"default": null
},
"is_portfolio_interest": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Is Portfolio Interest",
"default": null
}
},
"additionalProperties": false
}