accueil / serveurs / Finance & Paiement / com.ai2fin/ai2fin-tax-mcp
com.ai2fin/ai2fin-tax-mcp
serveur MCP (Model Context Protocol) · ai2fin-tax 0.6.0
Référencé dans l'annuaire. Seul le pentest comportemental fait foi, et il n'a pas encore été exécuté sur ce serveur.
Est-ce que com.ai2fin/ai2fin-tax-mcp est sûr ?
Au dernier audit MCP Hub, le serveur MCP « com.ai2fin/ai2fin-tax-mcp » est classé « Non encore testé ». Référencé dans l'annuaire. Seul le pentest comportemental fait foi, et il n'a pas encore été exécuté sur ce serveur. Le verdict est réévalué en continu ; consultez la fiche pour l'état à jour.
Méthode : MCP Hub analyse la description de chaque outil (couche 1) et, pour le verdict fort, exécute le serveur dans une micro-VM isolée avec leurres et réseau bloqué (couche 2). On publie des noms et des compteurs, jamais le contenu brut renvoyé par un outil.
Les 10 outils
- cgt_estimate≈ 2491 tokens
Estimate capital gains tax on one sale of shares or property by a resident individual, for 71 countries (AE, AR, AT, AU, BE, BG, BR, CA, CH, CL, CN, CO, CY, CZ, DE, DK, EE, EG, ES, FI, FR, GB, GH, GR, GT, HK, HR, HU, ID, IE, IL, IN, IS, IT, JM, JP, KE, KR, LI, LK, LT, LU, LV, MT, MU, MX, MY, NG, NL, NO, NZ, PH, PK, PL, PT, QA, RO, RS, RU, SA, SE, SG, SI, SK, TR, TW, TZ, UA, UG, US, ZA). Where the country's rule can be computed the answer is a figure; where it depends on facts the engine cannot model, the answer is the rule itself (rate, holding period, annual exemption, main residence) with the reason — never a borrowed number. Any other country returns 'not covered'. Pass income (other taxable income for the year) where the gain is taxed at marginal rates, and heldMoreThan12Months or holdingMonths where the holding period matters (the Australian 50% discount, the US long-term rate). capitalLosses apply before any discount. Finland (FI) adds its own detail: the better of the actual cost or the deemed acquisition cost (hankintameno-olettama: 20% of the price, 40% after 10 years), the 1 000 € small-disposals rule and 30%/34% capital income tax — pass yearsHeld, and otherCapitalIncome if there is any; costBase may be omitted there. Each answer cites the capital-gains source and date for that country — not the GST/VAT one. For pay without an asset sale use income_tax_estimate. Non-resident rules are out of scope. Results may include one sourced background fact (relatedFact); the figures do not depend on it.
Paramètres, retour & exemple (13)
Paramètresasset· string · optionnel · shares | property
What was sold: 'shares' (shares and funds) or 'property' (real estate). Rules differ by asset in many countriesincome· number · optionnel
Other taxable income for the year, in local currency — sets the marginal rate where the gain is taxed as income (e.g. AU, US short-term). Required where the rule needs it; the answer says socountry· string · optionnel · AE | AR | AT | AU | BE | BG | BR | CA
2-letter ISO code of a covered country (upper case); defaults to AUtaxYear· string · optionnel
FI: calendar tax year like '2026'; omit for the current yearcostBase· number · optionnel
What the asset cost, in local currency, including eligible incidental costs. Required except for FI, where omitting it uses the deemed acquisition cost (pass FI buying and selling costs as saleExpenses)proceeds· number · requis
Sale price of the asset, in local currencyyearsHeld· number · optionnel
FI: whole years owned — 10 or more raises the deemed acquisition cost from 20% to 40% of the pricesaleExpenses· number · optionnel
FI: brokerage, fees and other costs of buying and sellingcapitalLosses· number · optionnel
Capital losses to offset — applied before any discount; FI: from this year or carried forward (five years)holdingMonths· integer · optionnel
Whole months the asset was held; overrides heldMoreThan12MonthsotherCapitalIncome· number · optionnel
FI: other capital income this year (dividends, rent, other gains) — decides how much of the gain falls above the 30 000 € thresholdheldMoreThan12Months· boolean · optionnel
True when the asset was held at least 12 months (e.g. the AU 50% discount, the US long-term rate). Shorthand for holdingMonths: true = 12, false = 0totalProceedsThisYear· number · optionnel
FI: the year's total sale prices, this sale included, for the 1 000 € small-disposals rule; omit when this is the only sale
Exemple d'appel{"name": "cgt_estimate", "arguments": {"proceeds": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"loss": 1, "rule": {}, "step": "texte", "notes": [], "method": "actual", "reason": "texte", "source": "texte", "status": "computed", "country": "texte", "taxYear": "texte", "currency": "texte", "grossGain": 1}} - company_tax_estimate≈ 1542 tokens
Estimate company/corporate income tax on an annual profit at the headline rate for 139 countries (28 verified against the national authority; the rest are indicative OECD headline rates, and the answer says "not verified — confirm with" the authority). Use it for company profit questions; individuals belong to income_tax_estimate. smallBusiness applies the small-company rate only where it covers all of the company's income (AU, IN); where the reduced rate is a profit band (UK small profits, the Canadian small-business deduction and similar) it is noted, not applied. Headline-rate arithmetic only: state and provincial tax, surcharges and marginal relief are named in the note, not computed. Each answer cites the company-tax source and date — not the GST/VAT one. A negative profit returns an explanation (losses carry forward), never a negative tax; a country not covered says so. Results may include one sourced background fact (relatedFact); the figures do not depend on it.
Paramètres, retour & exemple (3)
Paramètresprofit· number · requis
Annual taxable profit in local currency; a negative value (a loss) returns an explanatory message instead of taxcountry· string · requis · AD | AE | AG | AL | AM | AO | AR | AT
2-letter ISO code of a covered country (upper case)smallBusiness· boolean · optionnel
Apply the small-company rate — honoured only where it covers all income (AU, IN); elsewhere the reduced rate is noted instead
Exemple d'appel{"name": "company_tax_estimate", "arguments": {"profit": 1, "country": "AD"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"tax": 1, "note": "texte", "source": "texte", "country": "texte", "afterTax": 1, "taxLabel": "texte", "sourceUrl": "texte", "disclaimer": "texte", "mayBeStale": true, "rateApplied": 1, "relatedFact": {}, "standardRate": 1}} - compare_countries≈ 2003 tokens
Compare headline tax rates — GST/VAT, top personal income tax and company tax — across several countries at once. Use it to shortlist or contrast jurisdictions (relocation, expansion, pricing); for one country's full detail use tax_rate_lookup, and to apply a rate to an amount use compute_gst_vat. Pass income to add, per country, the income_tax_estimate result for that income (income tax, total tax, take-home, average rate, with its own source). The same number is read in each country's own currency and is not converted between currencies. Income tax is estimated for 57 countries; any other row reports 'not covered' for that part and still shows its headline rates. Codes the dataset does not cover are reported back in unmatchedCodes rather than silently dropped; every matched row cites its national tax authority. Results may include one sourced background fact (relatedFact); the figures do not depend on it.
Paramètres, retour & exemple (3)
Paramètresincome· number · optionnel
Optional gross annual income, before tax. The same number is applied in EACH country's own local currency — it is NOT converted (120000 means AUD 120,000 in AU, GBP 120,000 in GB and SGD 120,000 in SG). When given, each row adds an income-tax estimate for that incometaxYear· string · optionnel
Optional, only with income: the tax-year label passed to the income-tax estimate for every country, e.g. '2025-26' (AU/NZ/GB/IN) or '2026' (calendar-year countries). Labels differ by country; a country without that year reports the years it has instead of a figure. Omit for each country's current tax yearcountries· array · requis
Countries to compare — two or more makes a meaningful comparison
Exemple d'appel{"name": "compare_countries", "arguments": {"countries": []}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"rows": [], "source": "texte", "sourceUrl": "texte", "disclaimer": "texte", "mayBeStale": true, "relatedFact": {}, "dataVerifiedOn": "texte", "unmatchedCodes": []}} - compute_gst_vat≈ 1410 tokens
Add or remove a country's GST/VAT — or its other national consumption tax, such as Japan's consumption tax or Malaysia's SST — on a monetary amount, returning the net / tax / gross split. Use it to convert between tax-exclusive and tax-inclusive prices (invoices, quotes, receipts); for the rates themselves use tax_rate_lookup. Pure arithmetic on the current standard rate, rounded to 2 decimals, in the local currency. Pass region for a state or provincial rate (CA, US): in Canada that is GST plus the provincial tax, in the US the state sales tax. A country with no national rate (the US without a region, or a country with no consumption tax) returns an explanatory error instead of a wrong number. Results may include one sourced background fact (relatedFact); the figures do not depend on it.
Paramètres, retour & exemple (4)
Paramètresmode· string · optionnel · add | remove
'add' puts tax on top of a net amount; 'remove' extracts the tax already inside a gross amountamount· number · requis
The monetary amount in the local currency — tax-exclusive when mode=add, tax-inclusive when mode=removeregion· string · optionnel
Optional state or province code, for sub-national sales tax. Held for CA (13 provinces and territories), US (51 states incl. DC). E.g. 'ON' (Ontario) with country CA, or 'CA' (California) with country US. Answered from that state's or province's own cited rate; US figures are the state rate only — local sales taxes are not included.country· string · requis
2-letter ISO 3166-1 code of the country whose GST/VAT rate applies (case-insensitive)
Exemple d'appel{"name": "compute_gst_vat", "arguments": {"amount": 1, "country": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"net": 1, "tax": 1, "code": "texte", "mode": "add", "rate": 1, "gross": 1, "region": "texte", "source": "texte", "country": "texte", "sourceUrl": "texte", "disclaimer": "texte", "mayBeStale": true}} - income_tax_estimate≈ 2665 tokens
Estimate personal income tax and take-home pay from gross annual income for 57 countries, using the engine's effective-dated brackets with each country's own levies, offsets and social contributions as its scheme defines them. Covered: AE, AR, AT, AU, BD, BE, BR, CA, CH, CL, CN, CO, CR, CZ, DE, DK, EE, EG, ES, FI, FR, GB, GR, GT, HU, ID, IE, IL, IN, IS, IT, JM, JP, KE, KR, LU, LV, MX, MY, NG, NL, NO, NZ, PH, PK, PL, PT, SA, SE, SG, SI, SK, TH, TR, US, VN, ZA. Any other country returns 'not covered' rather than a guess; its headline rates live in tax_rate_lookup. Pass region for a state, province or nation where the scheme has one (CA: 13 regions, e.g. AB, BC, MB; ES: 3 regions, e.g. AN, CT, MD; GB: SCT (Scotland); US: 51 regions, e.g. AK, AL, AR); without it the answer is national only and says so in its assumptions. For Finland pass `municipality` (Finnish or Swedish name, e.g. 'Tampere' or 'Helsingfors') for that municipality's own rate — otherwise the national average is used and the answer says so — plus `church` for a parish member and `age` where it changes the contributions; Finland also returns the tax-card rate (veroprosentti). The figure is for EMPLOYMENT income (salary or wages) wherever a country applies an employee-only item — India's salary standard deduction, UK Class 1 National Insurance, US FICA — and the first assumption says so. For freelance or self-employed profit pass incomeType "self-employed": India and the UK compute it, countries where it is taxed the same answer it, and the rest refuse with what differs rather than return a salaried figure. This is a resident-individual estimate, not a filing calculation: relay the assumptions it returns. Each answer cites the income-tax source and date for that country — not the GST/VAT one. For AU HELP/HECS use student_loan_repayment. Results may include one sourced background fact (relatedFact); the figures do not depend on it.
Paramètres, retour & exemple (8)
Paramètresage· integer · optionnel
Finland only: age at the end of the tax year. Changes the employee pension and unemployment contributions and, from 66, the earned-income credit; omit to assume a working age (18–64 from 2026, when the 53–62 pension surcharge ended; 18–52 for 2025)church· string · optionnel · none | evangelical-lutheran | orthodox
Finland only: parish membership, for church tax. Needs `municipality`, because each parish sets its own rateincome· number · requis
Gross annual income in local currency, before taxregion· string · optionnel
Optional state, province or nation code, where the country's scheme has one: CA: 13 regions, e.g. AB, BC, MB; ES: 3 regions, e.g. AN, CT, MD; GB: SCT (Scotland); US: 51 regions, e.g. AK, AL, ARcountry· string · requis · AE | AR | AT | AU | BD | BE | BR | CA
2-letter ISO code of a covered country (upper case)taxYear· string · optionnel
Tax year as people write it, e.g. '2026-27' or '2026/27' (AU/NZ/GB/IN), '2026' (calendar-year countries), 'YA 2027' (Singapore), 'Tax Year 2027' (Pakistan, which names a year by its end); omit for the current tax year. A year not on file is refused with the years on fileincomeType· string · optionnel · employment | self-employed
What the income is: "employment" (salary or wages, the default) or "self-employed" (freelance or sole-trader profit after business expenses). Countries that do not model self-employed income refuse it with what differs instead of returning the employment figuremunicipality· string · optionnel
Finland only: the municipality (kunta) of residence on 31 December of the previous year, in Finnish or Swedish, e.g. 'Helsinki', 'Espoo', 'Tampere', 'Åbo'. Sets the municipal and parish tax rates; omit to use the national average municipal rate
Exemple d'appel{"name": "income_tax_estimate", "arguments": {"income": 1, "country": "AE"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"lito": 1, "gross": 1, "levies": [], "region": "texte", "source": "texte", "country": "texte", "offsets": [], "taxYear": "texte", "taxable": 1, "currency": "texte", "takeHome": 1, "totalTax": 1}} - student_loan_repayment≈ 1160 tokens
Estimate the compulsory annual study or training loan repayment (HELP, HECS, VSL, SFSS, SSL, AASL) for an Australian resident from their repayment income, using the marginal system introduced in 2025-26 with effective-dated thresholds that roll over each financial year. Use it for "how much HELP/HECS will I repay" questions in AU; it does not cover the loan balance, indexation or voluntary repayments, and applies to Australia only. Repayment income is broader than taxable income — it adds back reportable super contributions, reportable fringe benefits, net investment loss and exempt foreign income; pass that combined figure. Results may include one sourced background fact (relatedFact); the figures do not depend on it.
Paramètres, retour & exemple (2)
ParamètrestaxYear· string · optionnel
Financial-year label like '2025-26'; omit to use the current Australian financial yearrepaymentIncome· number · requis
ATO repayment income in AUD (taxable income + reportable super + reportable fringe benefits + net investment loss + exempt foreign income)
Exemple d'appel{"name": "student_loan_repayment", "arguments": {"repaymentIncome": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"source": "texte", "country": "AU", "taxYear": "texte", "repayment": 1, "sourceUrl": "texte", "disclaimer": "texte", "mayBeStale": true, "relatedFact": {}, "minThreshold": 1, "effectiveRate": 1, "dataVerifiedOn": "texte", "repaymentIncome": 1}} - superannuation_estimate≈ 1618 tokens
Estimate Australian superannuation for an employee: the compulsory Superannuation Guarantee contribution (12% from 2025-26), concessional (before-tax) contributions cap usage, the 15% in-fund contributions tax, and the Division 293 high-earner surcharge — all effective-dated so a future budget year is picked automatically. Use it for "how much super will I get / can I contribute / will I be taxed" questions in AU; it does not model fund fees, insurance, investment returns, non-concessional contributions or carry-forward caps, and applies to Australia only. Salary sacrifice reduces salary; a personal deductible contribution is a deduction against total assessable income. Both add to the concessional total. The Division 293 threshold is tested against taxable income plus LOW-TAX contributions — that is, concessional contributions excluding any excess over the cap, since the excess is already counted inside taxable income. ordinaryEarnings therefore counts toward the threshold; pass otherTaxableIncome only for income beyond salary, such as investment or business income. Results may include one sourced background fact (relatedFact); the figures do not depend on it.
Paramètres, retour & exemple (5)
ParamètrestaxYear· string · optionnel
Financial-year label like '2025-26'; omit to use the current Australian financial yearsalarySacrifice· number · optionnel
Voluntary before-tax (concessional) contributions in AUDordinaryEarnings· number · requis
Ordinary time earnings the Superannuation Guarantee applies to, in AUD (usually salary/wages)otherTaxableIncome· number · optionnel
Other taxable income in AUD — only used to test the Division 293 high-earner thresholdpersonalDeductible· number · optionnel
Personal contributions claimed as a tax deduction in AUD (also concessional)
Exemple d'appel{"name": "superannuation_estimate", "arguments": {"ordinaryEarnings": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"sgRate": 1, "source": "texte", "country": "AU", "taxYear": "texte", "div293Tax": 1, "sourceUrl": "texte", "assumption": "texte", "disclaimer": "texte", "mayBeStale": true, "relatedFact": {}, "div293Applies": true, "dataVerifiedOn": "texte"}} - tax_facts≈ 878 tokens
Sourced facts about a country's tax system: when and why its GST/VAT was introduced, what it replaced, and memorable, true stories (court cases, elections, odd rulings) — each fact linked to its own source. Omit country for a primer on what a consumption tax is plus famous tax stories from history. Pass topic to keep only facts about one tax (each fact lists its topics). Use it for background, explainers, teaching or a conversation opener; for any rate or amount use tax_rate_lookup, compute_gst_vat or the estimate tools, because facts are dated stories, not live figures. Countries without curated facts return the list of countries that have them rather than an invented one.
Paramètres, retour & exemple (2)
Paramètrestopic· string · optionnel · gst | income | company | cgt | super | studentloan | general
Optional: only facts about this tax — 'gst' (GST/VAT and other consumption taxes), 'income', 'company', 'cgt', 'super', 'studentloan' or 'general'. Omit for every factcountry· string · optionnel
2-letter ISO code, e.g. AU, GB, JP. Omit for the global primer and famous tax stories
Exemple d'appel{"name": "tax_facts", "arguments": {"topic": "gst", "country": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"code": "texte", "facts": [], "scope": "country", "topic": "gst", "primer": "texte", "country": "texte", "replaced": "texte", "disclaimer": "texte", "originYear": "texte", "originStory": "texte", "countriesWithFacts": []}} - tax_rate_as_of≈ 1324 tokens
Look up the GST/VAT standard rate that applied in a country ON A GIVEN DATE, rather than today's rate. Use it when reconciling or amending a past transaction, invoice or return — several countries changed rate recently (Estonia twice since 2024, Finland, Kazakhstan, Russia, Romania, Slovakia, Ghana, Israel, Ecuador), so the rate today is not the rate that applied then. For the current rate use tax_rate_lookup. The answer states plainly whether a real dated change backs it or whether only the present rate is on record. Results may include one sourced background fact (relatedFact); the figures do not depend on it.
Paramètres, retour & exemple (2)
Paramètresdate· string · requis
The date to resolve the rate for, as YYYY-MM-DD, e.g. '2024-06-30'country· string · requis
2-letter ISO country code, e.g. FI, EE, KZ
Exemple d'appel{"name": "tax_rate_as_of", "arguments": {"date": "texte", "country": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"date": "texte", "source": "texte", "country": "texte", "isCurrent": true, "rateSince": "texte", "rateUntil": "texte", "sourceUrl": "texte", "disclaimer": "texte", "mayBeStale": true, "datedChange": true, "effectiveTo": "texte", "relatedFact": {}}} - tax_rate_lookup≈ 1658 tokens
Look up one country's headline tax rates: GST/VAT standard and reduced rates, top personal income tax rate, and company tax rate — national rates for 193 countries, plus state and provincial sales tax for CA and US when you pass region. Use it for a single country; to see several countries side by side use compare_countries, and to apply GST/VAT to an amount use compute_gst_vat. Rates come from a fixed dataset verified against the national tax authority — every answer names its source and verification date, and an unsupported country returns a clear error rather than a guess. Results may include one sourced background fact (relatedFact); the figures do not depend on it.
Paramètres, retour & exemple (2)
Paramètresregion· string · optionnel
Optional state or province code, for sub-national sales tax. Held for CA (13 provinces and territories), US (51 states incl. DC). E.g. 'ON' (Ontario) with country CA, or 'CA' (California) with country US. Answered from that state's or province's own cited rate; US figures are the state rate only — local sales taxes are not included.country· string · requis
2-letter ISO 3166-1 code of the country to look up (case-insensitive)
Exemple d'appel{"name": "tax_rate_lookup", "arguments": {"country": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"code": "texte", "region": {}, "source": "texte", "country": "texte", "sourceUrl": "texte", "taxFamily": "texte", "disclaimer": "texte", "mayBeStale": true, "companyRate": "texte", "relatedFact": {}, "reducedRates": [], "standardRate": 1}}
C'est votre serveur ?
Revendiquez-le sur l'espace créateur (preuve GitHub, domaine ou npm) pour afficher le badge « propriétaire vérifié » et lancer un pentest comportemental à la demande afin d'obtenir le badge « Vérifié ».