Deterministic Canadian CCPC rate stack: small business deduction and grinds, Part IV, RDTOH.
ccpcrate — Canadian CCPC corporate tax is a remote MCP server published at ccpcrate.ca. It has been probed 6 times since 9/12/2026. It answered in 6 of them (100.0%), a near-uninterrupted record. Median response time is 1,006 ms, a delay an agent will notice. It offers a narrow, focused set of 4 tools. On the protocol side it speaks the 2026-07-28 stateless spec.
Can an LLM agent pick the right tool here — names, descriptions and parameter clarity are assessed.
ccpcrate_resolve — Name does not clearly indicate it calculates tax rates and layersccpcrate_explain — Shares identical parameters with resolve tool, causing potential confusiontaxYear — Object type parameter lacks required structure definitiontools/list structure, inputSchema validity, and a functional smoke test — the components of the 0-100 score.
Tools the server advertised in the latest measurement — measured, not catalog-claimed.
ccpcrate_resolveCompute the federal Part I / Part IV / refundable / RDTOH / dividend-refund lines and the provincial layer for one CCPC and one taxation year. Returns a readable summary plus the structured result: lines (rounded, as printed), unrounded audit values, facts, warnings, layers, balances carried forward, the inputs still missing, engine and rules versions and a request hash. Deductions are negative, taxes positive. A missing required input is an error, not a default. Paid: 0.25 USD per call in USDC over x402 (Base); without a payment the call returns the x402 payment requirements.
taxYearobjectrequiredprovincestringrequiredprovincialProportionnumbertaxableIncomenumberactiveBusinessIncomenumberaggregateInvestmentIncomenumberforeignInvestmentIncomenumberforeignNonBusinessTaxCreditnumberforeignBusinessTaxCreditnumberbusinessLimitAllocatednumbergroupAaiiPriorYearnumbertaxableCapitalGroupPriorYearnumberdividendsReceivedPortfolioEligiblenumberdividendsReceivedPortfolioNonEligiblenumberdividendsReceivedConnectedarraynonCapitalLossesClaimedAgainstPartIVnumberdividendsPaidEligiblenumberdividendsPaidNonEligiblenumberdividendsPaidOfWhichConnectednumberrdtohOpeningobjectnetIncomeAccountingnumbernetIncomeForTaxnumberpropertyExpensesnumberotherPropertyIncomenumbercapitalGainsDividendsnumberccpcrate_groupCompute a whole associated group (s.256) in one call: federal line 417 as the sum of the members' prior-year adjusted investment income, the Schedule 23 allocation of the business limit, and every member's return in payer-before-recipient order so that a connected dividend's Part IV under s.186(1)(b) is filled in from the payer's own refund instead of being asked for. Returns each member's lines plus what the grind costs the group and which member causes it — the case a single-corporation computation cannot show. 0.25 USDC covers the group and its first 2 computed members, then 0.05 per additional member, never more than 1. Members that only contribute line 417 are free.
membersarrayrequiredgroupAaiiPriorYearnumbertaxYearobjectccpcrate_explainFree diagnostic pass over the same input as ccpcrate_resolve: which layers run, the defaults the engine would apply, every warning with its meaning (grind binding, provincial asymmetries, missing inputs), the rule rows in force for the year with sources and verification status, the open verifications, and what the paid computation would return. Contains no computed amounts — the numbers are in ccpcrate_resolve.
taxYearobjectrequiredprovincestringrequiredprovincialProportionnumbertaxableIncomenumberactiveBusinessIncomenumberaggregateInvestmentIncomenumberforeignInvestmentIncomenumberforeignNonBusinessTaxCreditnumberforeignBusinessTaxCreditnumberbusinessLimitAllocatednumbergroupAaiiPriorYearnumbertaxableCapitalGroupPriorYearnumberdividendsReceivedPortfolioEligiblenumberdividendsReceivedPortfolioNonEligiblenumberdividendsReceivedConnectedarraynonCapitalLossesClaimedAgainstPartIVnumberdividendsPaidEligiblenumberdividendsPaidNonEligiblenumberdividendsPaidOfWhichConnectednumberrdtohOpeningobjectnetIncomeAccountingnumbernetIncomeForTaxnumberpropertyExpensesnumberotherPropertyIncomenumbercapitalGainsDividendsnumberccpcrate_rulesThe statutory rates and parameters the engine uses (14 jurisdictions, effective dates, application modes, sources, verification status), filterable by jurisdiction, key and date. Free.
jurisdictionstringkeystringdatestringDerived by comparing consecutive probes — changes in era, protocol version, build and reachability.
Add this badge to your README — it updates automatically as measurements change.
[](https://mcpmetrics.io/servers/ca-ccpcrate-ccpcrate)<a href="https://mcpmetrics.io/servers/ca-ccpcrate-ccpcrate"><img src="https://mcpmetrics.io/badge/ca.ccpcrate/ccpcrate/era.svg" alt="mcpmetrics"></a>You are seeing the last 7 days. Sign up for the full history. Which check failed and why is in the dashboard.
Sign up free to seeThe catalog entries whose name and description are closest to this one, found with the same index the search box uses.
Free joined public records for small business and CRE: Twin Cities parcels, sales, licences
AI strategy, workflow automation, and process-improvement assessment for small businesses.
Virohana business catalogue, pricing, company info & quote intake. Bearer auth, rate-limited.
Hotel direct booking for VIP and corporate rates - upgrades and loyalty eligible, 100K+ hotels
Audited indie product business cases with source-backed pricing, revenue and pricing benchmarks.
61 x402 pay-per-call tools that chain: each answer names the next call. No API key, no account.
| Run | Era | Modern | ms | Legacy | ms | Versions |
|---|---|---|---|---|---|---|
| 2026-09-13 01:33:33 | Dual-era | 200 | 758 | 200 | 755 | 2026-07-28 |
| 2026-09-12 23:31:36 | Dual-era | 200 | 1006 | 200 | 986 | 2026-07-28 |
| 2026-09-12 21:29:15 | Dual-era | 200 | 1069 | 200 | 1090 | 2026-07-28 |
| 2026-09-12 19:27:29 | Dual-era | 200 | 546 | 200 | 554 | 2026-07-28 |
| 2026-09-12 17:24:09 | Dual-era | 200 | 1494 | 200 | 1370 | 2026-07-28 |
| 2026-09-12 15:21:42 | Dual-era | 200 | 1063 | 200 | 934 | 2026-07-28 |
Each block is one measurement round. Green: working response. Amber: responded but the server was returning errors (5xx). Red: no response at all.
Each cell is one probe run. Faded cells are incomplete probes — one leg did not answer, so the era is inconclusive.
The two probe legs separately: modern server/discover and legacy initialize.
Comments
Sign in to write a comment
No comments yet. Be the first.