# FreelancerTax — Canadian self-employed tax math (remote · freelancertax.ca)

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

- Trust score: 65/100 (medium)
- Change this week: +3
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-03

## Components

- remote · `freelancertax.ca`: 65/100 (this document), [markdown](https://verifymcp.io/servers/ca-freelancertax-freelancertax/freelancertax.md), [page](https://verifymcp.io/servers/ca-freelancertax-freelancertax/freelancertax)

## Channel facts

- Endpoint: `https://freelancertax.ca/mcp`
- Transports: `streamable-http`
- Auth: `none`
- Version: `1.0.0`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-08-03.

- **Endpoint Security**: 57/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - Authorisation not fully verified: no authorisation is required to call this server, and 6 tool(s) never declared a destructiveHint. The MCP spec treats an absent hint as destructive by default, so we cannot call this surface safe.
  - HTTPS is enforced; there's no plaintext access path.
  - HSTS check failed: the Strict-Transport-Security header is absent.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 69/100
  - AI-judged instruction clarity (excellent).
  - Context-footprint check failed: tool/resource definitions use about 956 tokens (~159/item across 6 items; 6 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 27/100
  - Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 98/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 94% of tool parameters carry a description.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### Claude

```bash
claude mcp add --transport http ca-freelancertax-freelancertax https://freelancertax.ca/mcp
```

### Codex

```toml
[mcp_servers.ca-freelancertax-freelancertax]
url = "https://freelancertax.ca/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "ca-freelancertax-freelancertax": {
      "type": "remote",
      "url": "https://freelancertax.ca/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add ca-freelancertax-freelancertax --url https://freelancertax.ca/mcp --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  ca-freelancertax-freelancertax:
    url: "https://freelancertax.ca/mcp"
```

### Other

```json
{
  "mcpServers": {
    "ca-freelancertax-freelancertax": {
      "type": "http",
      "url": "https://freelancertax.ca/mcp"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-08-02 (score 65, +1)

No change was recorded against any check on this day. Stability & Change Management went from 20 to 23. That category is still filling its 30-day observation window: 6 days of observed history at the previous scan, 7 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-07-31 (score 64, 0)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-30 (score 64, +1)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-28 (score 63, +1)

No change was recorded against any check on this day. Stability & Change Management went from 3 to 7. That category is still filling its 30-day observation window: 1 days of observed history at the previous scan, 2 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-07-27 (score 62, +1)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-26 (score 61)

First indexed and scored.

## MCP tools (6)

### `estimate_self_employed_tax` (~139 tokens)

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 parameters:

- `net_self_employment_income` (number, required): Net self-employment income (after expenses), CAD
- `province` (string, required): Two-letter province/territory code
- `year` (integer, required): Tax year

### `cpp_self_employed` (~100 tokens)

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 parameters:

- `net_self_employment_income` (number, required): Net self-employment income, CAD
- `year` (integer, required)

### `gst_hst_registration_check` (~121 tokens)

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 parameters:

- `is_rideshare` (boolean): Taxi or commercial ride-share driver
- `quarterly_revenues` (array, required): Worldwide taxable revenue per calendar quarter, oldest first (up to 8 quarters), CAD

### `gst_quick_method_compare` (~168 tokens)

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 parameters:

- `business_type` (string): Free-text business type, e.g. 'services', 'consultant', 'retail goods', 'bookkeeper' (used for the excluded-professions test; goods vs services rate)
- `itc_eligible_expenses_incl_tax` (number): Annual ITC-eligible operating expenses INCLUDING tax, CAD (for the regular-method comparison)
- `province` (string, required): Two-letter province code of the permanent establishment (e.g. ON, BC, QC)
- `revenue` (number, required): Annual taxable revenue BEFORE tax, CAD

### `instalment_plan` (~351 tokens)

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 parameters:

- `cpp_payable` (number): 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 amount…
- `current_year_estimate` (number, required): 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…
- `prior_year_owing` (number, required): Net tax owing for the prior year, CAD (same chart basis: excludes CPP/EI payable)
- `quebec` (boolean): Quebec resident (lower federal threshold; amounts cover the FEDERAL side only — Revenu Québec runs a separate instalment system, form TP-1026)
- `second_prior_year_owing` (number, required): Net tax owing two years ago, CAD (same chart basis: excludes CPP/EI payable)

### `get_tax_deadlines` (~77 tokens)

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 parameters:

- `limit` (integer): Max deadlines to return (default 10)

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/ca-freelancertax-freelancertax/freelancertax#diagnostics

## Score history

- 2026-08-03: 65
- 2026-08-02: 65
- 2026-08-01: 64
- 2026-07-31: 64
- 2026-07-30: 64
- 2026-07-29: 63
- 2026-07-28: 63
- 2026-07-27: 62
- 2026-07-26: 61

## Links

- Remote endpoint: https://freelancertax.ca/mcp
- Website: https://freelancertax.ca/
- Changelog RSS feed: https://verifymcp.io/servers/ca-freelancertax-freelancertax/freelancertax/changelog.xml
- Changelog JSON feed: https://verifymcp.io/servers/ca-freelancertax-freelancertax/freelancertax/changelog.json
- HTML version of this page: https://verifymcp.io/servers/ca-freelancertax-freelancertax/freelancertax
