Skip to main content
Glama

CukaiMax Malaysian Tax Authority

Server Details

Source-linked Malaysian individual and sole-proprietor tax guidance for AI agents.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Uptime
100.0% over 75 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
Repository
jakzaizzat/cukaimax-agent
GitHub Stars
0
Server Listing
cukaimax-tax-authority

TDQS

A3.7/5.0

Scored across 5 tools

Disambiguation5/5

Each tool has a distinct purpose: listing/retrieving releases, searching rules, preparing a Form BE draft, and assessing Form B readiness. There is no meaningful overlap between tools.

Naming Consistency4/5

All names use snake_case with verb-first patterns, but minor inconsistencies exist: 'be' vs 'form_b' and inconsistent inclusion of year suffixes. Still predictable overall.

Tool Count5/5

Five tools are well-scoped for a focused Malaysian tax form release, rule search, and draft preparation server. No tool feels redundant or missing in count.

Completeness4/5

The surface covers release discovery/retrieval, rule search, Form BE draft preparation, and Form B readiness. Minor gaps include no Form B draft preparation (only readiness) and no explicit validation-only tool, but core workflows are present.

Available Tools

5 tools
assess_form_b_2025_readinessAssess Form B 2025 preparation readinessB
Read-onlyIdempotent
Inspect

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.

NameRequiredDescriptionDefault
auditNo
taxYearNo
recordsKeptYes
assessmentTypeYes
incentiveClaimNo
carriesOnBusinessYes
partnershipIncomeNo
residentIndividualYes
businessLossClaimedNo
businessAccountsReadyYes
incentiveApprovalReadyNo
taxPaymentRecordsReadyYes
capitalAllowanceClaimedNo
businessComputationReadyYes
businessLossScheduleReadyNo
partnershipStatementReadyNo
foreignIncomeScheduleReadyNo
personalReliefEvidenceReadyYes
capitalAllowanceScheduleReadyNo
assessmentIssuedInTaxpayerNameNo
foreignIncomeReceivedInMalaysiaNo

TDQS

B3.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description adds a modest scope boundary ('does not calculate or submit'), which is genuinely useful, but it never explains how the conditional-schedule logic resolves or what the readiness verdict contains.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tight sentences with the positive scope statement front-loaded and the exclusion trailing; nothing is redundant. The economy is appropriate, though the brevity leaves substance on the table for a 21-parameter tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema exists, so the description should carry the burden of describing the readiness result, and it does not. For a 21-parameter tool with 8 required booleans and a nested audit object, the two-sentence description is far short of what an agent needs to invoke it confidently.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% across 21 parameters, so the schema itself explains nothing. The description only gestures at categories ('source records, finalised accounts, official worksheets, conditional schedules') without mapping any of the booleans (recordsKept, businessComputationReady, personalReliefEvidenceReady, etc.), the audit object, the taxYear default, or the assessmentType 1-5 codes.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (Check/Assess) and resource (readiness of inputs for manual Form B 2025 preparation), clearly framing it as a diagnostic pre-check. It does not, however, distinguish itself from the sibling 'prepare_be_2025_draft' or explain that it is the precursor step, so sibling differentiation is left implicit.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The 'does not calculate or submit Form B' clause implies this is a pre-flight check to run before actual preparation, and the sibling 'prepare_be_2025_draft' suggests the natural pairing. But there is no explicit when-to-use statement, prerequisite list, or named alternative, so usage is only inferred.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_tax_authority_releaseGet Malaysian tax authority releaseB
Read-onlyIdempotent
Inspect

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

NameRequiredDescriptionDefault
auditNo
taxYearNo
formTypeNoBE

TDQS

B3.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds genuinely new context by enumerating the returned artifacts (sources, validation result, review status, known limitations), but says nothing about failure modes, missing releases, or the purpose of the audit envelope.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with no filler; the resource and the returned artifacts are stated in one pass with zero redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description appropriately carries the return-value burden and does enumerate the key fields. However, for a tool with a nested audit object and a defaulted taxYear, the omission of any parameter guidance leaves a real gap an agent would notice.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% across three parameters, including a nested audit object with required runId and sequence. The mention of "Form BE or Form B" loosely maps to the formType enum, but taxYear (with a 2026 default) and the entire audit envelope go unexplained in both schema and description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ("Return") and resource ("a supported Form BE or Form B release") and enumerates the payload (official sources, validation result, review status, limitations). The singular "a ... release" implicitly contrasts with the sibling list_tax_authority_releases, though it never names the sibling explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use guidance, no statement of when to prefer list_tax_authority_releases or search_tax_authority, and no prerequisites or exclusions. The agent must infer that this fetches one release rather than enumerating or searching them.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_tax_authority_releasesList Malaysian tax authority releasesA
Read-onlyIdempotent
Inspect

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

NameRequiredDescriptionDefault
auditNo

TDQS

A3.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already convey that this is a safe, read-only, idempotent operation, so the description does not need to repeat those facts. It adds value by disclosing what the tool reveals: supported years, forms, versions, statuses, capabilities, and limitations. It does not mention pagination or exact response shape, but that is secondary for a discovery tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single sentence, front-loaded with the tool's purpose and ending with the concrete dimensions the agent can discover. Every phrase earns its place and there is no redundant wording.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only listing/discovery tool with strong annotations and only one optional audit parameter, the description gives the agent enough context to call it at the right time and understand what can be learned. It does not detail the return structure, but given the explicit list of discovery dimensions, the omission is acceptable.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The only parameter, audit, is an optional nested object with runId, sequence, and previousEventId, and schema description coverage is 0%. The description does not explain this parameter at all, leaving the agent without guidance beyond raw field names and JSON structure. Since schema coverage is low and the description fails to compensate, this dimension is poorly served.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a clear discovery-oriented verb and names the resource—tax authority releases—and its purpose: to learn supported years, forms, versions, statuses, capabilities, and limitations before selecting a release. It distinguishes itself from fetch-style siblings like get_tax_authority_release by framing this as the pre-selection discovery step, though it does not explicitly name alternatives.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives a clear context for use: call this tool before selecting a release, so the agent can understand available options and constraints. It does not explicitly name sibling tools or state when not to use it, so it falls just short of full alternative-routing guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

prepare_be_2025_draftPrepare Form BE 2025 draftB
Read-onlyIdempotent
Inspect

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.

NameRequiredDescriptionDefault
auditNo
incomeYes
creditsNo
rebatesNo
taxYearNo
paymentsNo
donationsNo
inputBlockersNo
assessmentTypeYesForm BE A6 assessment-type code selected by the taxpayer
reliefEvaluationYes
assessmentIssuedInTaxpayerNameNoRequired for A6 code 1 or 2; true only when the joint assessment is issued in this taxpayer’s name

TDQS

B3.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint/idempotent/non-destructive, and the description usefully explains why: it 'never stores data or submits to MyTax' and output is 'review-gated.' This is genuine added context beyond the annotation flags, though it says nothing about failure modes or what happens with inputBlockers.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two dense sentences with no filler, and the core action is front-loaded before the safety caveat. The terseness is a completeness problem rather than verbosity, so structure itself is sound.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a complex tool with 11 parameters, deep nested objects, no output schema, and low schema coverage, the description is far too thin. It omits prerequisites, return shape, the role of inputBlockers, and the audit fields — an agent could not confidently construct a call from this alone.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 18% across 11 parameters, so the description must carry the burden and does not. It never explains assessmentType codes, audit/runId sequencing, taxYear defaulting, or the inputBlockers array, leaving most parameters semantically undocumented in both places.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: 'Compile reviewed taxpayer inputs and a deterministic TaxBrain relief evaluation into source-linked Form BE fields.' That is clearly distinct from the sibling assess_form_b_2025_readiness (which presumably checks readiness rather than producing draft fields), though no sibling is named explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'reviewed taxpayer inputs' and 'output remains review-gated' implies this runs after a review/readiness step, and the sibling assess_form_b_2025_readiness is the likely prerequisite, but the description never states when to call this versus that tool or what must be true before invoking it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_tax_authoritySearch Malaysian tax rulesA
Read-onlyIdempotent
Inspect

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

NameRequiredDescriptionDefault
auditNo
queryYesTax topic, Form BE field, or TaxBrain category
taxYearNo
formTypeNoBE

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, openWorldHint=false, and destructiveHint=false, so the safety profile is covered. The description adds that results are official source records and that every match is returned (implying completeness), but says nothing about pagination, result limits, ordering, or how formType/taxYear scope the corpus.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two compact sentences, front-loaded with the action and search keys followed by the return behavior. No filler or repetition of the title.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 4-parameter tool with a nested audit object and no output schema, the description is thin: it omits tax year semantics, audit parameter purpose, and any result-shape or pagination context. It covers the core search concept adequately but leaves the structured-only parameters undocumented.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 25% (only query is documented in-schema), so the description must compensate. It usefully expands the query semantics with rule ID and clarifies BE/B scope, but taxYear and the nested audit object (runId, sequence, previousEventId) are entirely unexplained.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (search) and resource (cited Form BE / Form B rules), plus the searchable key types (topic, field ID, rule ID, TaxBrain category). It is clearly distinguishable from siblings like list/get_tax_authority_releases and prepare_be_2025_draft, which are retrieval-of-releases and drafting tools rather than rule search.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied by the search framing, but there is no explicit when-to-use statement, no exclusions, and no mention of the sibling tools that might be alternatives for readiness checks or release retrieval. An agent can infer intent but must guess at boundaries.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 4 tool updates
    • Changedassess_form_b_2025_readiness4 fields changed
      • removedInput schema / properties / taxYear / const
        Removed value: -2025
      • addedInput schema / properties / taxYear / maximum
        Added value: +9007199254740991
      • addedInput schema / properties / taxYear / minimum
        Added value: +-9007199254740991
      • changedInput schema / properties / taxYear / type
        Previous value: -"number"New value: +"integer"
    • Changedget_tax_authority_release5 fields changed
      • removedInput schema / properties / taxYear / anyOf
        Removed value: -[
        -  {
        -    "const": 2025,
        -    "type": "number"
        -  },
        -  {
        -    "const": 2026,
        -    "type": "number"
        -  }
        -]
      • changedInput schema / properties / taxYear / default
        Previous value: -2025New value: +2026
      • addedInput schema / properties / taxYear / maximum
        Added value: +9007199254740991
      • addedInput schema / properties / taxYear / minimum
        Added value: +-9007199254740991
      • addedInput schema / properties / taxYear / type
        Added value: +"integer"
    • Changedprepare_be_2025_draft8 fields changed
      • removedInput schema / properties / reliefEvaluation / properties / taxYear / const
        Removed value: -2025
      • addedInput schema / properties / reliefEvaluation / properties / taxYear / maximum
        Added value: +9007199254740991
      • addedInput schema / properties / reliefEvaluation / properties / taxYear / minimum
        Added value: +-9007199254740991
      • changedInput schema / properties / reliefEvaluation / properties / taxYear / type
        Previous value: -"number"New value: +"integer"
      • removedInput schema / properties / taxYear / const
        Removed value: -2025
      • addedInput schema / properties / taxYear / maximum
        Added value: +9007199254740991
      • addedInput schema / properties / taxYear / minimum
        Added value: +-9007199254740991
      • changedInput schema / properties / taxYear / type
        Previous value: -"number"New value: +"integer"
    • Changedsearch_tax_authority5 fields changed
      • removedInput schema / properties / taxYear / anyOf
        Removed value: -[
        -  {
        -    "const": 2025,
        -    "type": "number"
        -  },
        -  {
        -    "const": 2026,
        -    "type": "number"
        -  }
        -]
      • changedInput schema / properties / taxYear / default
        Previous value: -2025New value: +2026
      • addedInput schema / properties / taxYear / maximum
        Added value: +9007199254740991
      • addedInput schema / properties / taxYear / minimum
        Added value: +-9007199254740991
      • addedInput schema / properties / taxYear / type
        Added value: +"integer"
  2. 5 tool updates
    • First observedassess_form_b_2025_readiness
    • First observedget_tax_authority_release
    • First observedlist_tax_authority_releases
    • First observedprepare_be_2025_draft
    • First observedsearch_tax_authority

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    B
    maintenance
    Enables calculating Malaysian statutory payroll deductions—EPF, SOCSO, EIS and MTD/PCB—for a resident employee's fixed monthly salary, citing the official rate table or rule behind each figure.
    2
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    Open-source, accountant-verified tax computation skills for AI agents. 261+ skills across 172+ jurisdictions covering income tax, VAT/GST, payroll, corporate tax, crypto, and cross-border planning. Every skill is verified section-by-section by licensed CPAs and chartered accountants. 3 tools (list_skills, get_skill, get_skill_sections) and 1 prompt (skill-review).
    4
    3
    464
    AGPL 3.0
  • F
    license
    Not graded
    quality
    B
    maintenance
    Provides AI agents with verified Vietnamese tax and legal retrieval capabilities, including searching legal documents, fetching document details, evaluating effective tax rules at a specified date, and tracking recent legal updates.
    -
  • A
    license
    Not graded
    quality
    A
    maintenance
    MCP server that connects AI agents to 34,500+ Australian Taxation Office documents, providing cited answers, tax deduction discovery, depreciation scheduling, BAS checklists, and audit risk assessment through 13 specialized tools.
    329 npm
    14
    AGPL 3.0
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.