Koskamo

GetAccountED Tax MCP

A South African tax calculation and validation server providing PAYE, UIF, VAT, and SARS due date checks. It uses official SARS tables and the Value-Added Tax Act to provide cited, read-only answers for payroll and tax compliance.

Endpoint and access

No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.

GetAccountED Tax MCP logo, by GetAccountEDVendor evidenceStreamable HTTPNo sign-inEndpoint checked 2026-11-07Operated by GetAccountED
You need:No key needed to try it: 50 calls a dayA free key with just your email gives 200 a dayGetAccountED subscribers can use the connector key from their own GetAccountED account
MCP endpoint (Streamable HTTP)
https://getaccounted.co.za/api/mcp/tax
Vendor documentation

What its tools do

6 tools, grouped by the hints the server advertises. Hints are self-declared, not verified behavior.

6 of 6 have a description · 6 of 6 declare behavior hints · 6 of 6 with parameters document them all

Checks and signals

Each line is separate evidence, not a trust score.

  • Passed Endpoint answered the live check ·
  • Passed Official MCP Registry namespace is tied to getaccounted.co.za ·
  • Passed Endpoint is on the registry namespace domain ·
  • Availability 1 of 1 checks passed in 30 days

What you can do with it

  • Calculate PAYE, UIF, and net pay based on SARS tables
  • Validate South African ID, tax, and VAT numbers
  • Classify VAT treatment for supplies and input claims
  • Retrieve SARS due dates for various tax returns

Source and maintenance

Vendor evidenceRegistry 1.0.0

Protocol and capabilities

Server
getaccounted-sa-tax 1.0.0
MCP protocol negotiated in check
2025-06-18
Tools
6 advertised
Resources
Not advertised
Resource templates
Not advertised
Prompts
Not advertised
Server-advertised capabilities
{
  "tools": {
    "listChanged": false
  }
}

Server-provided instructions

Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.

GetAccountED — South African tax & accounting tools. Deterministic calculators and checks built on the SARS tables GetAccountED payroll uses: PAYE/UIF/SDL and net pay (sa_paye_calculate), VAT inclusive/exclusive (sa_vat_calculate), whether a supply is standard-rated, zero-rated or exempt and whether input VAT can be claimed (sa_vat_classify), SARS due dates with public holidays (sa_tax_calendar), SA ID / income tax / VAT / employer reference / company number checks (sa_validate_reference), and tax rates and thresholds by tax year (sa_tax_rates). Every result cites its SARS table or Act section — quote it. South African tax years run 1 March to end February and are named by the February they end in (2027 = 1 March 2026 – 28 February 2027). Results are a guide for the user and their accountant, not a SARS ruling or tax advice. For more calls, or to build this into your own software, see https://getaccounted.co.za/ai.html or email support@getkonnekted.com. Source: GetAccountED (getaccounted.co.za).

Tools

6 advertised

sa_paye_calculate — Calculate South African PAYE, UIF and net pay
Advertised by the server during the last successful anonymous check.
Advertised read-only

Employees' tax (PAYE), UIF (employee and employer, with the monthly ceiling), SDL and net pay for one South African employee and pay period, using the SARS tax deduction tables (or the exact statutory-rates formula) for the right tax year. Handles age rebates, the medical scheme fees tax credit, retirement-fund deductions (s11F cap), travel allowance (80%/20%), bonuses (annual-payment method), commission and fringe benefits.

sa_paye_calculate input schema
{
  "type": "object",
  "required": [
    "salary"
  ],
  "properties": {
    "age": {
      "type": "number",
      "description": "Age on the last day of the tax year (65+ and 75+ get extra rebates). Or give date_of_birth / id_number."
    },
    "bonus": {
      "type": "number",
      "description": "Bonus / annual payment paid in this period (3605), taxed by the SARS annual-payment method"
    },
    "method": {
      "enum": [
        "tables",
        "formula"
      ],
      "type": "string",
      "description": "tables = SARS monthly tax deduction tables (default); formula = exact statutory-rates calculation"
    },
    "period": {
      "enum": [
        "monthly",
        "annual",
        "fortnightly",
        "weekly"
      ],
      "type": "string",
      "description": "What the amounts are per (default monthly). Non-monthly amounts are converted to a monthly equivalent."
    },
    "salary": {
      "type": "number",
      "description": "Basic salary/wage for the pay period, in rand (before deductions)"
    },
    "overtime": {
      "type": "number",
      "description": "Overtime (3607)"
    },
    "pay_date": {
      "type": "string",
      "description": "Pay date / period end, YYYY-MM-DD (default today). Decides the tax year: March onwards → next year (2026-11-30 → 2027 tax year)."
    },
    "tax_year": {
      "type": "string",
      "description": "Tax year instead of pay_date, e.g. \"2027\" (1 March 2026 – 28 February 2027)"
    },
    "id_number": {
      "type": "string",
      "description": "SA ID number (only used to read the date of birth; not stored)"
    },
    "commission": {
      "type": "number",
      "description": "Commission (3606)"
    },
    "date_of_birth": {
      "type": "string",
      "description": "YYYY-MM-DD"
    },
    "employer_pension": {
      "type": "number",
      "description": "Employer pension fund contribution (fringe benefit 3817)"
    },
    "other_deductions": {
      "type": "number",
      "description": "Other non-tax deductions from net pay (loans, union fees…)"
    },
    "travel_allowance": {
      "type": "number",
      "description": "Travel allowance (3701): 80% taxed through PAYE, or 20% if at least 80% business use"
    },
    "taxable_allowance": {
      "type": "number",
      "description": "Other taxable allowance — cell phone, housing, tools (3713)"
    },
    "employer_provident": {
      "type": "number",
      "description": "Employer provident fund contribution (fringe benefit 3825)"
    },
    "retirement_annuity": {
      "type": "number",
      "description": "Retirement annuity paid through payroll (4006)"
    },
    "travel_business_80": {
      "type": "boolean",
      "description": "True when the employer is satisfied the vehicle is used at least 80% for business"
    },
    "medical_aid_members": {
      "type": "number",
      "description": "People on the medical aid including the employee (for the s6A tax credit)"
    },
    "employer_medical_aid": {
      "type": "number",
      "description": "Medical aid paid by the employer for the employee (fringe benefit 3810)"
    },
    "pension_contribution": {
      "type": "number",
      "description": "Employee pension fund contribution (4001)"
    },
    "provident_contribution": {
      "type": "number",
      "description": "Employee provident fund contribution (4003)"
    },
    "medical_aid_contribution": {
      "type": "number",
      "description": "Employee's own medical aid contribution deducted from pay (source code 4005)"
    }
  }
}
sa_paye_calculate annotations
{
  "title": "Calculate South African PAYE, UIF and net pay",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
sa_vat_calculate — Calculate South African VAT
Advertised by the server during the last successful anonymous check.
Advertised read-only

Split a VAT-inclusive amount into VAT and the exclusive price, or add VAT to an exclusive amount, at the South African VAT rate in force on the date (15% since 1 April 2018). One amount or a list of lines, with per-line and total figures.

sa_vat_calculate input schema
{
  "type": "object",
  "properties": {
    "date": {
      "type": "string",
      "description": "Supply date YYYY-MM-DD (default today) — picks the rate from the rate history"
    },
    "lines": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "amount"
        ],
        "properties": {
          "vat": {
            "enum": [
              "standard",
              "zero",
              "exempt"
            ],
            "type": "string",
            "description": "Treatment of this line (default standard)"
          },
          "amount": {
            "type": "number"
          },
          "quantity": {
            "type": "number"
          },
          "inclusive": {
            "type": "boolean"
          },
          "description": {
            "type": "string"
          }
        }
      },
      "description": "Several lines instead of amount"
    },
    "amount": {
      "type": "number",
      "description": "One amount in rand"
    },
    "inclusive": {
      "type": "boolean",
      "description": "true = amount(s) include VAT (default); false = amount(s) exclude VAT"
    }
  }
}
sa_vat_calculate annotations
{
  "title": "Calculate South African VAT",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
sa_vat_classify — Classify a supply for South African VAT
Advertised by the server during the last successful anonymous check.
Advertised read-only

Is a supply standard-rated, zero-rated or exempt under the South African VAT Act, and can the buyer claim the input VAT (s17(2): entertainment, club subscriptions, motor cars…)? Answers from a curated rules table with the VAT Act section for each rule, plus related official material from the GetLawED library. Says plainly when no rule matches.

sa_vat_classify input schema
{
  "type": "object",
  "required": [
    "description"
  ],
  "properties": {
    "side": {
      "enum": [
        "sale",
        "purchase",
        "both"
      ],
      "type": "string",
      "description": "sale = output VAT treatment; purchase = can input VAT be claimed; both (default)"
    },
    "description": {
      "type": "string",
      "description": "What is being sold or bought, in plain words (e.g. \"client lunch at a restaurant\", \"brown bread\", \"double cab bakkie\")"
    },
    "include_library": {
      "type": "boolean",
      "description": "Also search the GetLawED library for related official material (default true)"
    }
  }
}
sa_vat_classify annotations
{
  "title": "Classify a supply for South African VAT",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
sa_tax_calendar — South African tax due dates
Advertised by the server during the last successful anonymous check.
Advertised read-only

SARS (and CIPC) due dates in a date range: EMP201 (7th, earlier when that is a weekend or public holiday), VAT201 by VAT category A–E (eFiling: last business day of the month after the period), provisional tax IRP6, EMP501 reconciliation windows, ITR14 and CIPC annual returns. Uses South African public holidays.

sa_tax_calendar input schema
{
  "type": "object",
  "properties": {
    "to": {
      "type": "string",
      "description": "YYYY-MM-DD (default 3 months after from; at most 2 years)"
    },
    "from": {
      "type": "string",
      "description": "YYYY-MM-DD (default today)"
    },
    "payroll": {
      "type": "boolean",
      "description": "Registered employer (EMP201/EMP501) — default true"
    },
    "entity_type": {
      "enum": [
        "individual",
        "company",
        "close_corporation",
        "npc",
        "trust",
        "partnership"
      ],
      "type": "string",
      "description": "Default individual"
    },
    "vat_category": {
      "enum": [
        "A",
        "B",
        "C",
        "D",
        "E",
        "none"
      ],
      "type": "string",
      "description": "VAT category: A = 2-monthly ending odd months, B = 2-monthly ending even months, C = monthly, D = 6-monthly, E = annual; none (default) = not VAT registered"
    },
    "year_end_month": {
      "type": "number",
      "description": "Financial year-end month 1-12 (default 2 = February, the individual tax year)"
    },
    "incorporation_date": {
      "type": "string",
      "description": "Companies/CCs: YYYY-MM-DD, for the CIPC annual return"
    },
    "provisional_taxpayer": {
      "type": "boolean",
      "description": "Provisional taxpayer (IRP6) — default true"
    },
    "vat_period_end_month": {
      "type": "number",
      "description": "Category D/E only: month (1-12) a period ends"
    }
  }
}
sa_tax_calendar annotations
{
  "title": "South African tax due dates",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
sa_validate_reference — Check a South African ID, tax, VAT or company number
Advertised by the server during the last successful anonymous check.
Advertised read-only

Format and check-digit checks for South African numbers: ID number (Luhn check digit, date of birth, gender, citizenship), income tax reference, VAT number (10 digits starting with 4), PAYE/SDL/UIF employer references and CIPC company registration numbers. Offline checks only — they do not confirm the number is registered.

sa_validate_reference input schema
{
  "type": "object",
  "required": [
    "value"
  ],
  "properties": {
    "type": {
      "enum": [
        "auto",
        "id_number",
        "income_tax",
        "vat",
        "paye_ref",
        "sdl_ref",
        "uif_ref",
        "company_registration"
      ],
      "type": "string",
      "description": "What kind of number (default auto-detect)"
    },
    "value": {
      "type": "string",
      "description": "The number to check"
    }
  }
}
sa_validate_reference annotations
{
  "title": "Check a South African ID, tax, VAT or company number",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
sa_tax_rates — South African tax rates and thresholds
Advertised by the server during the last successful anonymous check.
Advertised read-only

Individual income tax brackets, rebates, tax thresholds, medical scheme fees tax credits, retirement deduction cap, UIF rate and ceiling, SDL rate and exemption threshold, and the VAT rate — for a tax year (current and prior years), from the tables GetAccountED payroll uses.

sa_tax_rates input schema
{
  "type": "object",
  "properties": {
    "tax_year": {
      "type": "string",
      "description": "e.g. \"2027\" = 1 March 2026 – 28 February 2027 (default: current tax year)"
    },
    "compare_previous": {
      "type": "boolean",
      "description": "Also show the previous tax year (default false)"
    }
  }
}
sa_tax_rates annotations
{
  "title": "South African tax rates and thresholds",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}

Prompts

Not advertised

No prompt definitions available.

Resources

Not advertised

No resource definitions available.

90-day uptime

A lightweight connection check about every six hours, sampled on hosts with many listings. It shows the server answered, not that its tools work.

Too few checks for a percentage yet (2 of 2 answered).

  1. 2026-11-07: 1 of 1 checks answered
  2. 2026-11-09: 1 of 1 checks answered

30-day availability

Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.

Successful checks
1 of 1 (100%)
Average latency
1156 ms
95th percentile latency
1156 ms

Maintenance history

Public check and source-refresh events. Editorial and ownership records remain private.

  • · probe · passed · 1156 ms · metadata changed · 6 tool(s)

Connect from your client

Each snippet registers the same endpoint; pick the client you use.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Claude Code

Run this once in a terminal. It registers the remote server. Use --scope project to write .mcp.json for the repo.
Claude Code configuration
claude mcp add --transport http getaccounted-tax-mcp https://getaccounted.co.za/api/mcp/tax

Codex

Run this once. Codex stores MCP servers in ~/.codex/config.toml (or .codex/config.toml in a trusted project).
Codex configuration
codex mcp add getaccounted-tax-mcp --url https://getaccounted.co.za/api/mcp/tax

Cursor

Merge this server into .cursor/mcp.json in your project, then enable getaccounted-tax-mcp in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "getaccounted-tax-mcp": {
      "url": "https://getaccounted.co.za/api/mcp/tax"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "getaccounted-tax-mcp": {
      "type": "streamableHttp",
      "url": "https://getaccounted.co.za/api/mcp/tax",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start getaccounted-tax-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "getaccounted-tax-mcp": {
      "type": "http",
      "url": "https://getaccounted.co.za/api/mcp/tax"
    }
  }
}

Gemini CLI

Run this once. It writes .gemini/settings.json in the current project; pass --scope user for ~/.gemini/settings.json.
Gemini CLI configuration
gemini mcp add --transport http getaccounted-tax-mcp https://getaccounted.co.za/api/mcp/tax

Claude Desktop

Open Claude Settings > Connectors > Add custom connector, enter this server URL and enable it for the conversation. This is a manual remote-connector handoff, not a desktop JSON configuration.
Claude Desktop configuration
https://getaccounted.co.za/api/mcp/tax

Windsurf

Merge this into ~/.codeium/windsurf/mcp_config.json, then refresh MCP in Cascade. Windsurf remote servers use serverUrl, not url.
Windsurf configuration
{
  "mcpServers": {
    "getaccounted-tax-mcp": {
      "serverUrl": "https://getaccounted.co.za/api/mcp/tax"
    }
  }
}

Let your agent find its tools

Find servers like GetAccountED Tax MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.

Do you run GetAccountED Tax MCP?

Prove ownership with a DNS record, a well-known file, or your Official MCP Registry entry, and your edits publish immediately. Proofs are re-checked weekly; admins can still hide or remove a listing.

Claim this listing