MCP 서버

TaxCompass — Italian tax tools

it.taxcompass/taxcompass
금융 및 투자 법률 및 컴플라이언스 공개 · 연결 가능 MCP 2025-11-25

이 MCP로 할 수 있는 일

Calculates and compares Italian tax regimes and searches cited Italian tax and company-law sources.

calculate_italian_tax
Compute exact Italian tax for one regime at a given annual revenue. Deterministic calculation (not an estimate): substitute/income tax, INPS social contributions, net income, and effective rate. `breakdown.eligible` is False when the regime doesn't apply to the inputs (e.g. forfettario above the €85k cap) — present that as "not eligible", not as a real option. Args: revenue_eur: Gross annual revenue in EUR. regime: One of `forfettario_5`, `forfettario_15`, `ordinario`, `ordinario_impatriati`. coefficient: Forfettario coefficiente di redditività (0.40–0.86, set by the activity's ATECO group). Omit for the professional-services default (0.78). Ignored by non-forfettario regimes. cost_ratio: Deductible costs as a fraction of revenue (0–1), used by ordinario/impatriati. Ignored by forfettario.
읽기 전용 멱등성
입력 스키마
{'type': 'object', 'title': 'calculate_italian_taxArguments', 'required': ['revenue_eur'], 'properties': {'regime': {'type': 'string', 'title': 'Regime', 'default': 'forfettario_15'}, 'cost_ratio': {'type': 'number', 'title': 'Cost Ratio', 'default': 0.0}, 'coefficient': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Coefficient', 'default': None}, 'revenue_eur': {'type': 'number', 'title': 'Revenue Eur'}}}
출력 스키마
{'type': 'object', '$defs': {'Breakdown': {'type': 'object', 'title': 'Breakdown', 'required': ['country', 'regime', 'revenue_local', 'revenue_eur', 'currency'], 'properties': {'notes': {'type': 'array', 'items': {'type': 'string'}, 'title': 'Notes', 'default': []}, 'regime': {'type': 'string', 'title': 'Regime'}, 'country': {'type': 'string', 'title': 'Country'}, 'net_eur': {'type': 'number', 'title': 'Net Eur', 'default': 0.0}, 'currency': {'enum': ['EUR', 'PLN', 'RON'], 'type': 'string', 'title': 'Currency'}, 'eligible': {'type': 'boolean', 'title': 'Eligible', 'default': True}, 'net_local': {'type': 'number', 'title': 'Net Local', 'default': 0.0}, 'income_tax': {'type': 'number', 'title': 'Income Tax', 'default': 0.0}, 'assumptions': {'type': 'array', 'items': {'type': 'string'}, 'title': 'Assumptions', 'default': []}, 'revenue_eur': {'type': 'number', 'title': 'Revenue Eur'}, 'revenue_local': {'type': 'number', 'title': 'Revenue Local'}, 'effective_rate': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Effective Rate', 'default': None}, 'substitute_tax': {'type': 'number', 'title': 'Substitute Tax', 'default': 0.0}, 'other_deductions': {'type': 'number', 'title': 'Other Deductions', 'default': 0.0}, 'health_contribution': {'type': 'number', 'title': 'Health Contribution', 'default': 0.0}, 'social_contributions': {'type': 'number', 'title': 'Social Contributions', 'default': 0.0}, 'contributions_are_stand_in': {'type': 'boolean', 'title': 'Contributions Are Stand In', 'default': False}}}}, 'title': 'CalcResult', 'required': ['breakdown', 'disclaimer'], 'properties': {'breakdown': {'$ref': '#/$defs/Breakdown', 'description': 'Full numeric breakdown (taxes, contributions, net, effective rate).'}, 'disclaimer': {'type': 'string', 'title': 'Disclaimer'}}, 'description': 'A single deterministic tax calculation.'}
compare_italian_regimes
Compare all Italian regimes side by side at one revenue level. Runs forfettario (5% & 15%), ordinario, and ordinario + impatriati through the deterministic engine and returns them sorted by net income (best first), each with its full breakdown and eligibility. Args: revenue_eur: Gross annual revenue in EUR. coefficient: Forfettario coefficiente di redditività (0.40–0.86); omit for the professional-services default (0.78). cost_ratio: Deductible costs as a fraction of revenue (0–1) for the ordinario regimes.
읽기 전용 멱등성
입력 스키마
{'type': 'object', 'title': 'compare_italian_regimesArguments', 'required': ['revenue_eur'], 'properties': {'cost_ratio': {'type': 'number', 'title': 'Cost Ratio', 'default': 0.0}, 'coefficient': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Coefficient', 'default': None}, 'revenue_eur': {'type': 'number', 'title': 'Revenue Eur'}}}
출력 스키마
{'type': 'object', '$defs': {'Breakdown': {'type': 'object', 'title': 'Breakdown', 'required': ['country', 'regime', 'revenue_local', 'revenue_eur', 'currency'], 'properties': {'notes': {'type': 'array', 'items': {'type': 'string'}, 'title': 'Notes', 'default': []}, 'regime': {'type': 'string', 'title': 'Regime'}, 'country': {'type': 'string', 'title': 'Country'}, 'net_eur': {'type': 'number', 'title': 'Net Eur', 'default': 0.0}, 'currency': {'enum': ['EUR', 'PLN', 'RON'], 'type': 'string', 'title': 'Currency'}, 'eligible': {'type': 'boolean', 'title': 'Eligible', 'default': True}, 'net_local': {'type': 'number', 'title': 'Net Local', 'default': 0.0}, 'income_tax': {'type': 'number', 'title': 'Income Tax', 'default': 0.0}, 'assumptions': {'type': 'array', 'items': {'type': 'string'}, 'title': 'Assumptions', 'default': []}, 'revenue_eur': {'type': 'number', 'title': 'Revenue Eur'}, 'revenue_local': {'type': 'number', 'title': 'Revenue Local'}, 'effective_rate': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'title': 'Effective Rate', 'default': None}, 'substitute_tax': {'type': 'number', 'title': 'Substitute Tax', 'default': 0.0}, 'other_deductions': {'type': 'number', 'title': 'Other Deductions', 'default': 0.0}, 'health_contribution': {'type': 'number', 'title': 'Health Contribution', 'default': 0.0}, 'social_contributions': {'type': 'number', 'title': 'Social Contributions', 'default': 0.0}, 'contributions_are_stand_in': {'type': 'boolean', 'title': 'Contributions Are Stand In', 'default': False}}}}, 'title': 'RegimeComparison', 'required': ['revenue_eur', 'results', 'disclaimer'], 'properties': {'results': {'type': 'array', 'items': {'$ref': '#/$defs/Breakdown'}, 'title': 'Results', 'description': 'One breakdown per regime, best net income first.'}, 'disclaimer': {'type': 'string', 'title': 'Disclaimer'}, 'revenue_eur': {'type': 'number', 'title': 'Revenue Eur', 'description': 'Gross annual revenue (EUR) the regimes were evaluated at.'}}, 'description': 'Deterministic side-by-side of the Italian regimes at one revenue level.'}
list_tax_sources
List the primary sources the corpus can search, and what each covers. Use this to discover the valid `sources` filter values for `search_italian_tax_sources` and to understand the corpus's coverage.
읽기 전용
입력 스키마
{'type': 'object', 'title': 'list_tax_sourcesArguments', 'properties': {}}
출력 스키마
{'type': 'object', '$defs': {'TaxSourceInfo': {'type': 'object', 'title': 'TaxSourceInfo', 'required': ['key', 'label', 'description'], 'properties': {'key': {'type': 'string', 'title': 'Key', 'description': 'Filter value for `search_italian_tax_sources`.'}, 'label': {'type': 'string', 'title': 'Label', 'description': 'Human-readable source name.'}, 'description': {'type': 'string', 'title': 'Description', 'description': 'What this source covers / when to use it.'}}, 'description': 'A retrievable source and what it covers.'}}, 'title': 'SourcesCatalogue', 'required': ['sources', 'disclaimer'], 'properties': {'sources': {'type': 'array', 'items': {'$ref': '#/$defs/TaxSourceInfo'}, 'title': 'Sources'}, 'disclaimer': {'type': 'string', 'title': 'Disclaimer'}}, 'description': 'The set of primary sources the corpus can search.'}
search_italian_tax_sources
Search TaxCompass's primary-source corpus and return passages to cite. Hybrid semantic + keyword retrieval over Italian tax & company-law primary sources: Normattiva (statute), Agenzia delle Entrate (circolari & guidance), INPS (social security), pinned tax-year tables (IRPEF brackets, INPS rates, forfettario thresholds & coefficienti di redditività), the ATECO 2025 code catalogue, and EU/treaty sources. Each result carries a `chunk_id`, `source`, and (usually) a `url`. Cite the `url` and quote the `text`; do not assert Italian tax facts the passages don't support. Queries work in any language, but Italian keywords improve recall against the (Italian) legal corpus. Args: query: What to search for. Keyword-dense Italian phrasing works best. sources: Optional subset to restrict to (see `list_tax_sources` for keys). Omit to search everything. Unknown keys are ignored. k: Max passages to return (1–12).
읽기 전용 외부 접근 가능
입력 스키마
{'type': 'object', 'title': 'search_italian_tax_sourcesArguments', 'required': ['query'], 'properties': {'k': {'type': 'integer', 'title': 'K', 'default': 6}, 'query': {'type': 'string', 'title': 'Query'}, 'sources': {'anyOf': [{'type': 'array', 'items': {'type': 'string'}}, {'type': 'null'}], 'title': 'Sources', 'default': None}}}
출력 스키마
{'type': 'object', '$defs': {'SourcePassage': {'type': 'object', 'title': 'SourcePassage', 'required': ['chunk_id', 'source', 'source_label', 'text', 'similarity'], 'properties': {'url': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Url', 'default': None, 'description': 'Link to the primary source â\x80\x94 cite this URL.'}, 'text': {'type': 'string', 'title': 'Text', 'description': 'The passage text. Quote/paraphrase only what this supports.'}, 'title': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Title', 'default': None, 'description': 'Document/section title, if known.'}, 'source': {'type': 'string', 'title': 'Source', 'description': "Source key, e.g. 'normattiva', 'ade', 'inps', 'tables', 'ateco'."}, 'chunk_id': {'type': 'string', 'title': 'Chunk Id', 'description': 'Stable citation id for this passage (cite this).'}, 'similarity': {'type': 'number', 'title': 'Similarity', 'description': 'Hybrid relevance score in ~[0,1]; higher is closer.'}, 'source_label': {'type': 'string', 'title': 'Source Label', 'description': 'Human-readable source name.'}}, 'description': 'One retrieved passage from a primary source, with everything needed to cite it.'}}, 'title': 'SearchResponse', 'required': ['query', 'sources_searched', 'count', 'passages', 'disclaimer'], 'properties': {'count': {'type': 'integer', 'title': 'Count', 'description': 'Number of passages returned.'}, 'query': {'type': 'string', 'title': 'Query', 'description': 'The query that was run.'}, 'passages': {'type': 'array', 'items': {'$ref': '#/$defs/SourcePassage'}, 'title': 'Passages', 'description': 'Retrieved passages, most relevant first.'}, 'disclaimer': {'type': 'string', 'title': 'Disclaimer', 'description': 'Usage + citation guidance.'}, 'sources_searched': {'type': 'array', 'items': {'type': 'string'}, 'title': 'Sources Searched', 'description': 'Source keys actually searched (after filtering).'}}, 'description': 'Result of a primary-source search.'}
변경됨
compare_italian_regimes
2026년 9월 21일 2:57 AM
변경됨
calculate_italian_tax
2026년 9월 21일 2:57 AM
추가됨
compare_italian_regimes
2026년 9월 17일 12:54 PM
추가됨
calculate_italian_tax
2026년 9월 17일 12:54 PM
추가됨
list_tax_sources
2026년 9월 17일 12:54 PM
추가됨
search_italian_tax_sources
2026년 9월 17일 12:54 PM