Koskamo

CukaiMax MCP

A community MCP server that provides AI agents with citable, versioned Malaysian individual tax authority data from LHDN sources. It supports deterministic agent evaluation, tax deduction tracking, and e-Filing readiness checks without storing user data or submitting forms to MyTax.

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.

CukaiMax MCP logo, by CukaiMaxCommunity listingStreamable HTTPNo sign-inEndpoint checked 2026-11-06Published by CukaiMax
MCP endpoint (Streamable HTTP)
https://www.cukaimax.com/.well-known/mcp
Vendor documentation

What its tools do

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

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

Checks and signals

Each line is separate evidence, not a trust score.

  • Passed Endpoint answered the live check ·
  • Availability 1 of 1 checks passed in 30 days

What you can do with it

  • Retrieve versioned LHDN tax regulations and deduction caps
  • Check e-Filing readiness for Form BE or Form B
  • Run deterministic cross-agent tax evaluation scenarios
  • Access structured tax authority data via Streamable HTTP

Source and maintenance

Community listingRegistry 1.0.0
Maintenance checked

Protocol and capabilities

Server
cukaimax-tax-authority 2026-07-31
MCP protocol negotiated in check
2025-11-25
Tools
5 advertised
Resources
8 advertised
Resource templates
0 advertised
Prompts
Not advertised
Server-advertised capabilities
{
  "tools": {
    "listChanged": true
  },
  "resources": {
    "listChanged": true
  }
}

Server-provided instructions

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

Use this server for source-linked Malaysian individual tax rules. YA2025 Form BE is source-verified by CukaiMax and supports deterministic drafts; YA2025 Form B is source-verified for authority search and preparation-readiness checks, not calculation; YA2026 contains source-verified planning changes but no return fields until official forms exist. Every tool result includes a privacy-safe audit event with immutable release, rule, and source references. Pass the returned event ID into the next audit context to create a replayable chain. Source verification is not official HASiL approval and output is never filed or submitted to MyTax.

Tools

5 advertised

list_tax_authority_releases — List Malaysian tax authority releases
Advertised by the server during the last successful anonymous check.
Advertised read-only

Discover supported years, forms, versions, statuses, capabilities, and limitations before selecting a release.

list_tax_authority_releases input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "audit": {
      "type": "object",
      "required": [
        "runId",
        "sequence"
      ],
      "properties": {
        "runId": {
          "type": "string",
          "maxLength": 128,
          "minLength": 8
        },
        "sequence": {
          "type": "integer",
          "maximum": 9007199254740991,
          "exclusiveMinimum": 0
        },
        "previousEventId": {
          "type": "string",
          "maxLength": 128,
          "minLength": 8
        }
      }
    }
  }
}
list_tax_authority_releases annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_tax_authority_release — Get Malaysian tax authority release
Advertised by the server during the last successful anonymous check.
Advertised read-only

Return a supported Form BE or Form B release, its official sources, validation result, review status, and known limitations.

get_tax_authority_release input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "audit": {
      "type": "object",
      "required": [
        "runId",
        "sequence"
      ],
      "properties": {
        "runId": {
          "type": "string",
          "maxLength": 128,
          "minLength": 8
        },
        "sequence": {
          "type": "integer",
          "maximum": 9007199254740991,
          "exclusiveMinimum": 0
        },
        "previousEventId": {
          "type": "string",
          "maxLength": 128,
          "minLength": 8
        }
      }
    },
    "taxYear": {
      "type": "integer",
      "default": 2026,
      "maximum": 9007199254740991,
      "minimum": -9007199254740991
    },
    "formType": {
      "anyOf": [
        {
          "type": "string",
          "const": "BE"
        },
        {
          "type": "string",
          "const": "B"
        }
      ],
      "default": "BE"
    }
  }
}
get_tax_authority_release annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
search_tax_authority — Search Malaysian tax rules
Advertised by the server during the last successful anonymous check.
Advertised read-only

Search cited Form BE or Form B rules by topic, field ID, rule ID, or TaxBrain category. Returns official source records with every match.

search_tax_authority input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "query"
  ],
  "properties": {
    "audit": {
      "type": "object",
      "required": [
        "runId",
        "sequence"
      ],
      "properties": {
        "runId": {
          "type": "string",
          "maxLength": 128,
          "minLength": 8
        },
        "sequence": {
          "type": "integer",
          "maximum": 9007199254740991,
          "exclusiveMinimum": 0
        },
        "previousEventId": {
          "type": "string",
          "maxLength": 128,
          "minLength": 8
        }
      }
    },
    "query": {
      "type": "string",
      "minLength": 1,
      "description": "Tax topic, Form BE field, or TaxBrain category"
    },
    "taxYear": {
      "type": "integer",
      "default": 2026,
      "maximum": 9007199254740991,
      "minimum": -9007199254740991
    },
    "formType": {
      "anyOf": [
        {
          "type": "string",
          "const": "BE"
        },
        {
          "type": "string",
          "const": "B"
        }
      ],
      "default": "BE"
    }
  }
}
search_tax_authority annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
prepare_be_2025_draft — Prepare Form BE 2025 draft
Advertised by the server during the last successful anonymous check.
Advertised read-only

Compile reviewed taxpayer inputs and a deterministic TaxBrain relief evaluation into source-linked Form BE fields. This tool never stores data or submits to MyTax, and output remains review-gated.

prepare_be_2025_draft input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "assessmentType",
    "income",
    "reliefEvaluation"
  ],
  "properties": {
    "audit": {
      "type": "object",
      "required": [
        "runId",
        "sequence"
      ],
      "properties": {
        "runId": {
          "type": "string",
          "maxLength": 128,
          "minLength": 8
        },
        "sequence": {
          "type": "integer",
          "maximum": 9007199254740991,
          "exclusiveMinimum": 0
        },
        "previousEventId": {
          "type": "string",
          "maxLength": 128,
          "minLength": 8
        }
      }
    },
    "income": {
      "type": "object",
      "required": [
        "employmentIncome"
      ],
      "properties": {
        "rentalIncome": {
          "type": "number",
          "minimum": 0
        },
        "employmentCount": {
          "type": "integer",
          "maximum": 9007199254740991,
          "minimum": 0
        },
        "employmentIncome": {
          "type": "number",
          "minimum": 0
        },
        "otherMalaysiaIncome": {
          "type": "number",
          "minimum": 0
        },
        "spouseAggregateIncome": {
          "type": "number",
          "minimum": 0
        },
        "spouseTransferredIncome": {
          "type": "number",
          "minimum": 0
        },
        "catalystInvestmentDeduction": {
          "type": "number",
          "minimum": 0
        },
        "spouseDividendStatutoryIncome": {
          "type": "number",
          "minimum": 0
        },
        "foreignIncomeReceivedInMalaysia": {
          "type": "number",
          "minimum": 0
        },
        "malaysiaDividendStatutoryIncome": {
          "type": "number",
          "minimum": 0
        }
      }
    },
    "credits": {
      "type": "object",
      "properties": {
        "section110Other": {
          "type": "number",
          "minimum": 0
        },
        "section132ForeignTaxRelief": {
          "type": "number",
          "minimum": 0
        },
        "section133ForeignTaxRelief": {
          "type": "number",
          "minimum": 0
        }
      }
    },
    "rebates": {
      "type": "object",
      "properties": {
        "zakatAndFitrah": {
          "type": "number",
          "minimum": 0
        },
        "spouseRebateEligible": {
          "type": "boolean"
        },
        "qualifyingDepartureLevy": {
          "type": "number",
          "minimum": 0
        }
      }
    },
    "taxYear": {
      "type": "integer",
      "default": 2025,
      "maximum": 9007199254740991,
      "minimum": -9007199254740991
    },
    "payments": {
      "type": "object",
      "properties": {
        "cp500": {
          "type": "number",
          "minimum": 0
        },
        "mtdPcb": {
          "type": "number",
          "minimum": 0
        },
        "section107d": {
          "type": "number",
          "minimum": 0
        }
      }
    },
    "donations": {
      "type": "object",
      "properties": {
        "government": {
          "type": "number",
          "minimum": 0
        },
        "wakafOrEndowment": {
          "type": "number",
          "minimum": 0
        },
        "libraryFacilities": {
          "type": "number",
          "minimum": 0
        },
        "approvedInstitution": {
          "type": "number",
          "minimum": 0
        },
        "approvedSportsActivity": {
          "type": "number",
          "minimum": 0
        },
        "artifactsOrManuscripts": {
          "type": "number",
          "minimum": 0
        },
        "approvedMedicalEquipment": {
          "type": "number",
          "minimum": 0
        },
        "projectOfNationalInterest": {
          "type": "number",
          "minimum": 0
        },
        "publicAccessibilityFacilities": {
          "type": "number",
          "minimum": 0
        },
        "nationalOrStateGalleryPaintings": {
          "type": "number",
          "minimum": 0
        }
      }
    },
    "inputBlockers": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "assessmentType": {
      "anyOf": [
        {
          "type": "number",
          "const": 1
        },
        {
          "type": "number",
          "const": 2
        },
        {
          "type": "number",
          "const": 3
        },
        {
          "type": "number",
          "const": 4
        },
        {
          "type": "number",
          "const": 5
        }
      ],
      "description": "Form BE A6 assessment-type code selected by the taxpayer"
    },
    "reliefEvaluation": {
      "type": "object",
      "required": [
        "taxYear",
        "totalClaimableRelief",
        "reliefResults"
      ],
      "properties": {
        "taxYear": {
          "type": "integer",
          "maximum": 9007199254740991,
          "minimum": -9007199254740991
        },
        "reliefResults": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "categoryId",
              "lhdnCode",
              "claimableAmount"
            ],
            "properties": {
              "lhdnCode": {
                "type": "string",
                "minLength": 1
              },
              "rawSpend": {
                "type": "number",
                "minimum": 0
              },
              "categoryId": {
                "type": "string",
                "minLength": 1
              },
              "claimableAmount": {
                "type": "number",
                "minimum": 0
              },
              "eligibilityStatus": {
                "enum": [
                  "eligible",
                  "not_eligible",
                  "needs_info"
                ],
                "type": "string"
              }
            }
          }
        },
        "totalClaimableRelief": {
          "type": "number",
          "minimum": 0
        }
      }
    },
    "assessmentIssuedInTaxpayerName": {
      "type": "boolean",
      "description": "Required for A6 code 1 or 2; true only when the joint assessment is issued in this taxpayer’s name"
    }
  }
}
prepare_be_2025_draft annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
assess_form_b_2025_readiness — Assess Form B 2025 preparation readiness
Advertised by the server during the last successful anonymous check.
Advertised read-only

Check whether the source records, finalised accounts, official worksheets, and conditional schedules needed for manual Form B preparation are ready. This does not calculate or submit Form B.

assess_form_b_2025_readiness input schema
{
  "type": "object",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "required": [
    "residentIndividual",
    "carriesOnBusiness",
    "recordsKept",
    "businessAccountsReady",
    "businessComputationReady",
    "assessmentType",
    "personalReliefEvidenceReady",
    "taxPaymentRecordsReady"
  ],
  "properties": {
    "audit": {
      "type": "object",
      "required": [
        "runId",
        "sequence"
      ],
      "properties": {
        "runId": {
          "type": "string",
          "maxLength": 128,
          "minLength": 8
        },
        "sequence": {
          "type": "integer",
          "maximum": 9007199254740991,
          "exclusiveMinimum": 0
        },
        "previousEventId": {
          "type": "string",
          "maxLength": 128,
          "minLength": 8
        }
      }
    },
    "taxYear": {
      "type": "integer",
      "default": 2025,
      "maximum": 9007199254740991,
      "minimum": -9007199254740991
    },
    "recordsKept": {
      "type": "boolean"
    },
    "assessmentType": {
      "anyOf": [
        {
          "type": "number",
          "const": 1
        },
        {
          "type": "number",
          "const": 2
        },
        {
          "type": "number",
          "const": 3
        },
        {
          "type": "number",
          "const": 4
        },
        {
          "type": "number",
          "const": 5
        }
      ]
    },
    "incentiveClaim": {
      "type": "boolean"
    },
    "carriesOnBusiness": {
      "type": "boolean"
    },
    "partnershipIncome": {
      "type": "boolean"
    },
    "residentIndividual": {
      "type": "boolean"
    },
    "businessLossClaimed": {
      "type": "boolean"
    },
    "businessAccountsReady": {
      "type": "boolean"
    },
    "incentiveApprovalReady": {
      "type": "boolean"
    },
    "taxPaymentRecordsReady": {
      "type": "boolean"
    },
    "capitalAllowanceClaimed": {
      "type": "boolean"
    },
    "businessComputationReady": {
      "type": "boolean"
    },
    "businessLossScheduleReady": {
      "type": "boolean"
    },
    "partnershipStatementReady": {
      "type": "boolean"
    },
    "foreignIncomeScheduleReady": {
      "type": "boolean"
    },
    "personalReliefEvidenceReady": {
      "type": "boolean"
    },
    "capitalAllowanceScheduleReady": {
      "type": "boolean"
    },
    "assessmentIssuedInTaxpayerName": {
      "type": "boolean"
    },
    "foreignIncomeReceivedInMalaysia": {
      "type": "boolean"
    }
  }
}
assess_form_b_2025_readiness annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}

Prompts

Not advertised

No prompt definitions available.

Resources

8 advertised

tax-agent-evaluation-suite-v1 — CukaiMax tax-agent evaluation suite v1

Advertised by the server during the last successful anonymous check.

Thirty-six fictional golden scenarios and the deterministic scoring contract for comparing agent runtimes.

tax-agent-evaluation-suite-v1 URI
tax://my/evaluations/agent/v1/scenarios

MIME type: application/json

ya2025-be-release — Malaysia YA2025 Form BE authority release

Advertised by the server during the last successful anonymous check.

Rules, form fields, changes, limitations, and review status.

ya2025-be-release URI
tax://my/individual/be/2025/release

MIME type: application/json

ya2025-b-release — Malaysia YA2025 Form B authority release

Advertised by the server during the last successful anonymous check.

Source-linked business-income form scope, rules, fields, and review limitations.

ya2025-b-release URI
tax://my/individual/b/2025/release

MIME type: application/json

ya2025-b-sources — Malaysia YA2025 Form B official sources

Advertised by the server during the last successful anonymous check.

Official HASiL Form B sources, retrieval metadata, and pinned artifact hashes.

ya2025-b-sources URI
tax://my/individual/b/2025/sources

MIME type: application/json

ya2025-b-review-status — Malaysia YA2025 Form B review status

Advertised by the server during the last successful anonymous check.

Machine-readable validation, CukaiMax source review, and calculation limitations.

ya2025-b-review-status URI
tax://my/individual/b/2025/review-status

MIME type: application/json

ya2026-be-preview — Malaysia YA2026 individual tax planning release

Advertised by the server during the last successful anonymous check.

Source-verified planning changes with filing fields explicitly blocked until official forms exist.

ya2026-be-preview URI
tax://my/individual/be/2026/preview

MIME type: application/json

ya2025-be-sources — Malaysia YA2025 Form BE official sources

Advertised by the server during the last successful anonymous check.

Pinned official HASiL sources and artifact hashes.

ya2025-be-sources URI
tax://my/individual/be/2025/sources

MIME type: application/json

ya2025-be-review-status — Malaysia YA2025 Form BE review status

Advertised by the server during the last successful anonymous check.

Machine-readable validation, review gate, and known limitations.

ya2025-be-review-status URI
tax://my/individual/be/2025/review-status

MIME type: application/json

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-06: 1 of 1 checks answered
  2. 2026-11-07: 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
923 ms
95th percentile latency
923 ms

Maintenance history

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

  • · probe · passed · 923 ms · metadata changed · 5 tool(s), 8 resource(s), 0 resource template(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 cukaimax-mcp https://www.cukaimax.com/.well-known/mcp

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 cukaimax-mcp --url https://www.cukaimax.com/.well-known/mcp

Cursor

Merge this server into .cursor/mcp.json in your project, then enable cukaimax-mcp in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "cukaimax-mcp": {
      "url": "https://www.cukaimax.com/.well-known/mcp"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "cukaimax-mcp": {
      "type": "streamableHttp",
      "url": "https://www.cukaimax.com/.well-known/mcp",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start cukaimax-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "cukaimax-mcp": {
      "type": "http",
      "url": "https://www.cukaimax.com/.well-known/mcp"
    }
  }
}

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 cukaimax-mcp https://www.cukaimax.com/.well-known/mcp

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://www.cukaimax.com/.well-known/mcp

Windsurf

Merge this into ~/.codeium/windsurf/mcp_config.json, then refresh MCP in Cascade. Windsurf remote servers use serverUrl, not url.
Windsurf configuration
{
  "mcpServers": {
    "cukaimax-mcp": {
      "serverUrl": "https://www.cukaimax.com/.well-known/mcp"
    }
  }
}

Let your agent find its tools

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