{
  "descriptorVersion": "1.0.0",
  "name": "estimate_salaries_tax",
  "title": "Salaries tax estimator",
  "description": "Estimate Hong Kong salaries tax for the 2026/27 year of assessment on this page, using the page's own calculation (progressive vs standard rate, whichever is lower). Replaces every input on the page and shows the same result on screen. Not tax advice or an assessment. Calculation or source matching runs in this page; arguments and results are not uploaded to Agoodeal servers or to Google Analytics, and the result is returned only to the calling agent. Non-sensitive usage metadata (tool name, outcome, execution mode, error code, duration; predefined source IDs for source matching) is reported through the site’s existing Google Analytics 4.",
  "execution": {
    "environment": "browser",
    "interface": "WebMCP imperative API: document.modelContext.registerTool (experimental)",
    "executionMode": "local_calculation",
    "pageUrls": [
      "https://www.agoodeal.com/tools/salaries-tax-calculator/"
    ],
    "requirement": "Open one of pageUrls in a browser that exposes document.modelContext. As of October 2026 this is experimental: Chrome 149+ with chrome://flags/#enable-webmcp-testing, or an origin trial that Agoodeal has not joined. Without it the page works normally for people and no tool is registered.",
    "serverEndpoint": null,
    "argumentsEncoding": "JSON object (some browser versions require callers to pass it as a JSON string).",
    "returns": "A JSON string matching outputSchema."
  },
  "annotations": {
    "readOnlyHint": false,
    "untrustedContentHint": false,
    "consequentialHint": false
  },
  "annotationNotes": "readOnlyHint is false because the tool replaces every input on the page and shows the same result the visitor would see. It submits, stores and books nothing.",
  "inputSchema": {
    "type": "object",
    "additionalProperties": false,
    "required": [
      "annualIncome"
    ],
    "properties": {
      "annualIncome": {
        "type": "number",
        "minimum": 0,
        "description": "Total assessable income for the 2026/27 year of assessment, HK$."
      },
      "mpfContribution": {
        "type": "number",
        "minimum": 0,
        "description": "Mandatory MPF contributions, HK$ (deduction capped at HK$18,000). Omit for 0."
      },
      "otherDeductions": {
        "type": "number",
        "minimum": 0,
        "description": "Other allowable deductions, HK$. Omit for 0."
      },
      "children": {
        "type": "integer",
        "minimum": 0,
        "maximum": 9,
        "description": "Number of children for child allowance, 0–9. Omit for 0."
      },
      "married": {
        "type": "boolean",
        "description": "true to use the married person’s allowance (joint allowance). Omit for false."
      }
    }
  },
  "outputSchema": {
    "oneOf": [
      {
        "type": "object",
        "required": [
          "ok",
          "tool",
          "mode",
          "arguments",
          "result",
          "rendered",
          "uiInputsReplaced"
        ],
        "properties": {
          "ok": {
            "const": true
          },
          "tool": {
            "type": "string"
          },
          "mode": {
            "const": "local_calculation"
          },
          "arguments": {
            "type": "object"
          },
          "result": {
            "type": "object"
          },
          "rendered": {
            "type": "object",
            "description": "Text the page displayed after the same calculation, keyed by element id."
          },
          "uiInputsReplaced": {
            "const": true
          },
          "notes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      {
        "type": "object",
        "required": [
          "ok",
          "error"
        ],
        "properties": {
          "ok": {
            "const": false
          },
          "error": {
            "type": "object",
            "required": [
              "code",
              "message"
            ],
            "properties": {
              "code": {
                "enum": [
                  "invalid_json",
                  "invalid_argument",
                  "missing_argument",
                  "unknown_argument",
                  "out_of_range",
                  "internal_error"
                ]
              },
              "message": {
                "type": "string"
              },
              "field": {
                "type": "string"
              }
            }
          }
        }
      }
    ]
  },
  "privacy": "Uses only the arguments supplied: every relevant page input is replaced (omitted optional arguments clear their field), so earlier visitor input is never read into the result. Nothing is stored. Calculation or source matching runs in this page; arguments and results are not uploaded to Agoodeal servers or to Google Analytics, and the result is returned only to the calling agent. Non-sensitive usage metadata (tool name, outcome, execution mode, error code, duration; predefined source IDs for source matching) is reported through the site’s existing Google Analytics 4.",
  "coverage": "2026/27 basic, married and child allowances; progressive and standard rates.",
  "limits": [
    "Not tax advice or an assessment; one-off reductions and some allowances are not included."
  ],
  "officialSources": [
    {
      "id": "govhk-salaries-tax-rates",
      "name": "GovHK：薪俸稅稅率",
      "publisher": "GovHK",
      "kind": "web_page",
      "url": "https://www.gov.hk/tc/residents/taxes/taxfiling/taxrates/salariesrates.htm"
    },
    {
      "id": "govhk-allowances",
      "name": "GovHK：免稅額",
      "publisher": "GovHK",
      "kind": "web_page",
      "url": "https://www.gov.hk/tc/residents/taxes/salaries/allowances/allowances/7years.htm"
    }
  ],
  "agoodealPage": "https://www.agoodeal.com/tools/salaries-tax-calculator/"
}
