About ccpcrate — Canadian CCPC corporate tax
Deterministic Canadian CCPC rate stack: small business deduction and grinds, Part IV, RDTOH
Configuration
Remote servers need no local install. Pick your client, then copy the config or install in one click.
https://ccpcrate.ca/mcpclaude mcp add --transport http ca-ccpcrate-ccpcrate https://ccpcrate.ca/mcp{"mcpServers":{"ca-ccpcrate-ccpcrate":{"type":"http","url":"https://ccpcrate.ca/mcp"}}}Open in Cursor{"servers":{"ca-ccpcrate-ccpcrate":{"type":"http","url":"https://ccpcrate.ca/mcp"}}}Open in VS Code{"mcpServers":{"ca-ccpcrate-ccpcrate":{"type":"http","url":"https://ccpcrate.ca/mcp"}}}{"mcpServers":{"ca-ccpcrate-ccpcrate":{"serverUrl":"https://ccpcrate.ca/mcp"}}}Run commands in a terminal; paste JSON into the client’s MCP config and restart. Servers that need sign-in will prompt on first connect.
Tools
4| Parameter | Type | Required | Description |
|---|---|---|---|
| qc | object | No | Québec inputs (CO-771) |
| qc.instalmentsPaid | number | No | Acomptes provisionnels paid (CO-17 line 440) — enables the balance lines |
| qc.taxableIncomeQc | number | No | CO-17 taxable income when it differs from federal |
| qc.hours07aCurrentYear | number | No | CO-771 line 07a: remunerated hours, current year (required with 07b for the CO-771 layer) |
| qc.plafondGroupAllocated | number | No | CO-771 plafond allocated to this corporation (defaults to businessLimitAllocated) |
| qc.hours07bGroupPriorYear | number | No | CO-771 line 07b: remunerated hours, associated group, prior year |
| qc.capitalVerseGroupPriorYear | number | No | Capital versé of the associated group, prior year (CO-17 line 426a) |
| taxYear | object | Yes | |
| taxYear.end | string | Yes | Last day of the taxation year |
| taxYear.start | string | Yes | First day of the taxation year |
| province | enum | Yes | Province of the permanent establishment (two-letter code)AB | BC | MB | NB | NL | NS | NT | NU | ON | PE | QC | SK | YT |
| cdaOpening | number | No | Capital dividend account opening balance (returns cda_closing) |
| rdtohOpening | object | No | Opening ERDTOH / NERDTOH in T2 terms. Omitted = 0 with a warning when it matters |
| rdtohOpening.erdtohLine520 | number | No | Prior year's closing ERDTOH, T2 line 530 (printed before that year's refund) |
| rdtohOpening.nerdtohLine535 | number | No | Prior year's closing NERDTOH, T2 line 545 |
| rdtohOpening.erdtohRefundPrev | number | No | Prior year's dividend refund out of ERDTOH (line 570) |
| rdtohOpening.nerdtohRefundPrev | number | No | Prior year's dividend refund out of NERDTOH (line 575) |
| taxableIncome | number | No | Part I taxable income (T2 line 360). Omit for a holdco and supply the income lines instead; the engine derives it |
| netIncomeForTax | number | No | Holdco: net income for tax purposes (Sch 1 result) — overrides the derivation |
| propertyExpenses | number | No | Holdco: deductible property expenses of the year (total) |
| groupAaiiPriorYear | number | No | T2 line 417: Σ Sch 7 line 745 of the associated group for taxation years ending in the preceding calendar year. REQUIRED whenever a business limit is claimed |
| netIncomeAccounting | number | No | Holdco: net income per financial statements |
| otherPropertyIncome | number | No | Holdco: property income other than dividends and capital-gains dividends |
| taxableCapitalGains | number | No | Sch 6: taxable capital gains (the included half) |
| activeBusinessIncome | number | No | T2 line 400: income from an active business carried on in Canada |
| lossesByYearOfOrigin | object | No | Sch 4 Part 6: opening balances by year of origin, e.g. {"2011": 263564} |
| provincialProportion | number | No | Share of taxable income allocated to the province (Reg. 402). Default 1 |
| capitalGainsDividends | number | No | Capital-gains dividends received (full amount; half to CDA) |
| dividendsPaidEligible | number | No | Eligible dividends paid (designated) in the year |
| allowableCapitalLosses | number | No | Sch 6: allowable capital losses of the year |
| businessLimitAllocated | number | No | Business limit allocated to this corporation (Sch 23 line 410 if associated, else the statutory limit). 0 = allocation zero |
| foreignInvestmentIncome | number | No | T2 line 445: foreign investment income |
| nonCapitalLossesOpening | number | No | Sch 4: non-capital loss pool at the start of the year |
| dividendsPaidNonEligible | number | No | Non-eligible taxable dividends paid in the year |
| foreignBusinessTaxCredit | number | No | T2 line 636: foreign business income tax credit |
| aggregateInvestmentIncome | number | No | T2 line 440: aggregate investment income (s.129(4)) |
| dividendsReceivedConnected | array | No | Dividends from connected corporations (s.186(4)) — Part IV only through the payer's refund |
| foreignNonBusinessTaxCredit | number | No | T2 line 632: foreign non-business income tax credit |
| taxableCapitalGroupPriorYear | number | No | T2 line 415: taxable capital employed in Canada of the group, prior year. Omit when under 10 M |
| dividendsPaidOfWhichConnected | number | No | How much OF the dividends paid above went to connected corporations — a portion of dividendsPaidEligible + dividendsPaidNonEligible, never an amount on top of them. Raises the cascade warning on the payer side. In a ccpcrate_group call the recipients' own dividendsReceivedConnected amounts govern the 186(1)(b) share; this field is then cross-checked against them |
| dividendsReceivedPortfolioEligible | number | No | Eligible taxable dividends from non-connected payers (Part IV → ERDTOH) |
| nonCapitalLossesClaimedAgainstPartI | number | No | Non-capital losses claimed against Part I income |
| nonCapitalLossesClaimedAgainstPartIV | number | No | Non-capital / farm losses claimed against Part IV (s.186(1)(c),(d)) — the loss amount |
| dividendsReceivedPortfolioNonEligible | number | No | Non-eligible taxable dividends from non-connected payers (Part IV → NERDTOH) |
Details
The maintainer has not added details yet. Check the README in the repository.
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.