FreelancerTax — Canadian self-employed tax math

Verified Canadian self-employed tax math: SE tax, CPP, GST/HST, instalments, CRA deadlines. Free.

Should I use this

Quality & Safety

A
Description quality
85%
Schema completeness
97%
Naming quality
83%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Findings (1)

  • LOWTool 'estimate_self_employed_tax' description lacks action verbin estimate_self_employed_tax

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~1,265Tokens (tool definitions)
~1.5 KBTypical response size
Moderate attention impact (0.99% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "freelancertax": {
      "url": "https://freelancertax.ca/mcp"
    }
  }
}

Remote endpoints

https://freelancertax.ca/mcpstreamable-http

What it can do

Tool inventory

Tools (6)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
⚪estimate_self_employed_tax(year, province, net_self_employment_income)

Estimate a Canadian self-employed (sole proprietor) person's full tax bill: federal tax, provincial tax, CPP/QPP (incl. CPP2/QPP + QPIP for Quebec), total, after-tax income and effective rate. Fully verified provinces: ON, BC, AB, MB, SK, NS, NB, QC. Other provinces/territories return an honest federal+CPP-only partial estimate flagged supported:false.

Input Schema

{
  "type": "object",
  "properties": {
    "year": {
      "type": "integer",
      "enum": [
        2025,
        2026
      ],
      "description": "Tax year"
    },
    "province": {
      "type": "string",
      "enum": [
        "ON",
        "BC",
        "AB",
        "MB",
        "SK",
        "NS",
        "NB",
        "QC",
        "PE",
        "NL",
        "YT",
        "NT",
        "NU"
      ],
      "description": "Two-letter province/territory code"
    },
    "net_self_employment_income": {
      "type": "number",
      "minimum": 0,
      "description": "Net self-employment income (after expenses), CAD"
    }
  },
  "required": [
    "year",
    "province",
    "net_self_employment_income"
  ]
}
🟢cpp_self_employed(year, net_self_employment_income)

Compute self-employed CPP contributions for a given year: base + enhanced contributions, CPP2 (second ceiling), total payable, and the tax-deduction vs tax-credit split that goes on the T1 (Schedule 8). Quebec residents pay QPP instead — use estimate_self_employed_tax with province QC for QPP.

Input Schema

{
  "type": "object",
  "properties": {
    "year": {
      "type": "integer",
      "enum": [
        2025,
        2026
      ]
    },
    "net_self_employment_income": {
      "type": "number",
      "minimum": 0,
      "description": "Net self-employment income, CAD"
    }
  },
  "required": [
    "year",
    "net_self_employment_income"
  ]
}
🟡gst_hst_registration_check(quarterly_revenues, is_rideshare)

Check whether a Canadian small business / freelancer must register for GST/HST under the $30,000 small-supplier tests (single-quarter test and rolling four-quarter test), with the exact mechanics of when to charge and the registration deadline. Set is_rideshare true for taxi/ride-share drivers (they must register from the first fare).

Input Schema

{
  "type": "object",
  "properties": {
    "quarterly_revenues": {
      "type": "array",
      "items": {
        "type": "number",
        "minimum": 0
      },
      "minItems": 1,
      "maxItems": 8,
      "description": "Worldwide taxable revenue per calendar quarter, oldest first (up to 8 quarters), CAD"
    },
    "is_rideshare": {
      "type": "boolean",
      "description": "Taxi or commercial ride-share driver"
    }
  },
  "required": [
    "quarterly_revenues"
  ]
}
⚪gst_quick_method_compare(province, revenue, itc_eligible_expenses_incl_tax, business_type)

Compare the GST/HST Quick Method against the regular method for a Canadian small business: eligibility (revenue ceiling + excluded professions), remittance under each method, and which one keeps more money. Annual figures.

Input Schema

{
  "type": "object",
  "properties": {
    "province": {
      "type": "string",
      "description": "Two-letter province code of the permanent establishment (e.g. ON, BC, QC)"
    },
    "revenue": {
      "type": "number",
      "minimum": 0,
      "description": "Annual taxable revenue BEFORE tax, CAD"
    },
    "itc_eligible_expenses_incl_tax": {
      "type": "number",
      "minimum": 0,
      "description": "Annual ITC-eligible operating expenses INCLUDING tax, CAD (for the regular-method comparison)"
    },
    "business_type": {
      "type": "string",
      "description": "Free-text business type, e.g. 'services', 'consultant', 'retail goods', 'bookkeeper' (used for the excluded-professions test; goods vs services rate)"
    }
  },
  "required": [
    "province",
    "revenue"
  ]
}
🟢instalment_plan(current_year_estimate, prior_year_owing, second_prior_year_owing, cpp_payable, quebec)

Determine whether a Canadian individual must pay quarterly income-tax instalments (the $3,000 / $1,800-Quebec net-tax-owing tests) and compute all three CRA payment options (no-calculation, prior-year, current-year) as quarterly schedules with a suggested no-interest choice. Per the CRA's instalment calculation chart, 'net tax owing' EXCLUDES CPP contributions and EI premiums payable — pass those separately as cpp_payable and they are added to the instalment amounts only (chart line 24), never to the threshold test.

Input Schema

{
  "type": "object",
  "properties": {
    "current_year_estimate": {
      "type": "number",
      "minimum": 0,
      "description": "Estimated NET TAX OWING for the CURRENT year, CAD — per the CRA calculation chart: income tax minus amounts withheld, EXCLUDING CPP/EI payable on self-employment income (pass those in cpp_payable, do NOT include them here)"
    },
    "prior_year_owing": {
      "type": "number",
      "minimum": 0,
      "description": "Net tax owing for the prior year, CAD (same chart basis: excludes CPP/EI payable)"
    },
    "second_prior_year_owing": {
      "type": "number",
      "minimum": 0,
      "description": "Net tax owing two years ago, CAD (same chart basis: excludes CPP/EI payable)"
    },
    "cpp_payable": {
      "type": "number",
      "minimum": 0,
      "description": "OPTIONAL: current-year CPP contributions and EI premiums payable on self-employment income, CAD. The CRA chart excludes this from the net-tax-owing threshold test but ADDS it to the instalment amounts (chart line 24). Ignored for Quebec residents — QPP/QPIP are billed by Revenu Québec, not the CRA."
    },
    "quebec": {
      "type": "boolean",
      "description": "Quebec resident (lower federal threshold; amounts cover the FEDERAL side only — Revenu Québec runs a separate instalment system, form TP-1026)"
    }
  },
  "required": [
    "current_year_estimate",
    "prior_year_owing",
    "second_prior_year_owing"
  ]
}
🟢get_tax_deadlines(limit)

Upcoming CRA tax deadlines for Canadian freelancers / self-employed individuals (filing, payment, GST/HST, RRSP, quarterly instalments), each on its CRA effective date with the weekend next-business-day rule applied. Also available as a subscribable calendar feed.

Input Schema

{
  "type": "object",
  "properties": {
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 40,
      "description": "Max deadlines to return (default 10)"
    }
  }
}

Recommended Prompts

fetch_info
Fetch [information type] using FreelancerTax — Canadian self-employed tax math
Expected tools: get_tax_deadlines
retrieve_data
Get details about [item] from FreelancerTax — Canadian self-employed tax math
Expected tools: get_tax_deadlines

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded6 tools
verifiedversion not recorded6 tools
verifiedversion not recorded6 tools
verifiedversion not recorded6 tools
verifiedversion not recorded6 tools
verifiedversion not recorded6 tools