MCP Tra Cứu 247: tra cứu và tính toán với AI

Kết nối AI với 29 công cụ MCP: lương, thuế, bảo hiểm, vay, tiết kiệm, đổi đơn vị và tra cứu dữ liệu. Có schema, ví dụ và nguồn rõ ràng.

Tra Cứu 247 cung cấp 29 công cụ qua MCP Streamable HTTP: 26 công cụ tính và 3 công cụ tra cứu dữ liệu đã lưu. Kết quả tra cứu kèm nguồn, ngày và trạng thái cũ; không phải dữ liệu thời gian thực. AI chọn đúng giá rồi truyền vào máy tính. Không cần khóa API.

Kết nối ứng dụng AI

Địa chỉ máy chủ: https://tracuu247.com/api/mcp/

  1. Mở phần kết nối công cụ hoặc máy chủ MCP trong ứng dụng AI.
  2. Chọn máy chủ từ xa dùng Streamable HTTP, nhập địa chỉ ở trên; không cần khóa API.
  3. Cho phép các công cụ bạn cần và thử yêu cầu: “Tính giá 1.000.000 đồng giảm 20% rồi giảm thêm 10%”. Kết quả là 720.000 VND.

Máy chủ hỗ trợ quy trình initialize, tools/list, tools/call, resources/list và resources/read. Dùng POST với Content-Type: application/json và Accept: application/json, text/event-stream. Client gửi phiên bản MCP đã thương lượng; bản mới nhất được hỗ trợ là 2025-11-25.

Đây là chế độ không lưu phiên, trả JSON; không có luồng SSE thường trực. GET và DELETE trả 405. Mở URL MCP trực tiếp trong trình duyệt không phải phép thử kết nối; hãy dùng client MCP hoặc yêu cầu POST.

Tra cứu trước, tính sau

  1. Gọi get_gold_prices hoặc get_exchange_rates. Đọc ngày giá, sourceUrl, fetchedAt và isStale; nêu rõ ngày và nguồn khi trả lời.
  2. Chọn đúng sản phẩm và chiều giao dịch: khách mua ngoại tệ dùng sellVnd; khách bán dùng buyCashVnd hoặc buyTransferVnd. Bán lại vàng dùng giá cửa hàng mua vào.
  3. Truyền mức giá phù hợp vào công cụ tính. Nếu giá thiếu hoặc kết quả unavailable, hãy nói chưa có dữ liệu; không đoán hoặc thay bằng 0.

available chỉ cho biết có bản ghi ngày hiện tại theo giờ Việt Nam, không bảo đảm giá vừa cập nhật. asOf là thời điểm thu thập gần nhất trong kết quả, không phải lúc nguồn đổi giá. Mỗi truy vấn trả tối đa 50 bản ghi; truncated báo khi cần lọc hẹp hơn.

get_gold_price_changes chỉ so sánh vàng Phú Quý với ngày trước có dữ liệu trong 90 ngày lịch, cùng sản phẩm và nguồn. Đọc ngày mốc và isYesterday: không mặc định đó là hôm qua. Thiếu mốc thì thay đổi là null, không phải 0%.

Bảng giá vàng · Bảng tỷ giá · Biến động Phú Quý

Chọn công cụ

Ví dụ dưới đây là params cho phương thức tools/call. Mỗi kết quả thành công có structuredContent và bản JSON trong nội dung văn bản, gồm kết quả, công thức, ghi chú và URL trang giải thích.

Xóa dòng trùng lặp

deduplicate_lines · Mở công cụ trên web

Giữ dòng đầu theo khóa so sánh NFC; tùy chọn cắt khoảng trắng/bỏ qua hoa thường. Dòng trống bị bỏ được đếm riêng.

{
  "name": "deduplicate_lines",
  "arguments": {
    "text": "Hà Nội\nĐà Nẵng\nHà Nội",
    "ignoreCase": false,
    "trim": false,
    "removeEmpty": false
  }
}
Tham số, giới hạn và cấu trúc kết quả

Deduplicate lines preserving first occurrence and order, with optional case folding, trimming and blank removal. NFC comparison preserves Vietnamese accents. Up to 10,000 UTF-16 units. MCP sends text to the server and returns processed text; do not send secrets.

Input schema

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "text": {
      "type": "string",
      "maxLength": 10000
    },
    "ignoreCase": {
      "default": false,
      "type": "boolean"
    },
    "trim": {
      "default": false,
      "type": "boolean"
    },
    "removeEmpty": {
      "default": false,
      "type": "boolean"
    }
  },
  "required": [
    "text",
    "ignoreCase",
    "trim",
    "removeEmpty"
  ],
  "additionalProperties": false
}

Output schema

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "tool": {
      "type": "string"
    },
    "pageUrl": {
      "type": "string",
      "format": "uri"
    },
    "formula": {
      "type": "string"
    },
    "notes": {
      "type": "string"
    },
    "result": {
      "type": "object",
      "properties": {
        "text": {
          "type": "string"
        },
        "inputLines": {
          "type": "integer",
          "minimum": -9007199254740991,
          "maximum": 9007199254740991
        },
        "outputLines": {
          "type": "integer",
          "minimum": -9007199254740991,
          "maximum": 9007199254740991
        },
        "duplicates": {
          "type": "integer",
          "minimum": -9007199254740991,
          "maximum": 9007199254740991
        },
        "emptyRemoved": {
          "type": "integer",
          "minimum": -9007199254740991,
          "maximum": 9007199254740991
        }
      },
      "required": [
        "text",
        "inputLines",
        "outputLines",
        "duplicates",
        "emptyRemoved"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "tool",
    "pageUrl",
    "formula",
    "notes",
    "result"
  ],
  "additionalProperties": false
}

Bỏ dấu tiếng Việt và tạo slug

remove_vietnamese_accents · Mở công cụ trên web

Chuẩn hóa NFC, bỏ dấu chữ tiếng Việt; slug chỉ giữ a-z, 0-9 với dấu gạch ngang, không đảm bảo duy nhất.

{
  "name": "remove_vietnamese_accents",
  "arguments": {
    "text": "Đặng Thị Hồng",
    "mode": "text"
  }
}
Tham số, giới hạn và cấu trúc kết quả

Remove Vietnamese accents and map đ/Đ to d/D; optional ASCII lowercase slug. Text mode preserves punctuation, emoji and other scripts. Up to 10,000 UTF-16 units; server processing returns transformed text. No persistence or remote fetching.

Input schema

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "text": {
      "type": "string",
      "maxLength": 10000
    },
    "mode": {
      "default": "text",
      "type": "string",
      "enum": [
        "text",
        "slug"
      ]
    }
  },
  "required": [
    "text",
    "mode"
  ],
  "additionalProperties": false
}

Output schema

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "tool": {
      "type": "string"
    },
    "pageUrl": {
      "type": "string",
      "format": "uri"
    },
    "formula": {
      "type": "string"
    },
    "notes": {
      "type": "string"
    },
    "result": {
      "type": "object",
      "properties": {
        "text": {
          "type": "string"
        }
      },
      "required": [
        "text"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "tool",
    "pageUrl",
    "formula",
    "notes",
    "result"
  ],
  "additionalProperties": false
}

Chuẩn hóa văn bản

normalize_text · Mở công cụ trên web

Chuẩn hóa xuống dòng, gộp khoảng trắng ngang, cắt hai đầu dòng, bỏ dòng trống rồi đổi hoa thường theo tùy chọn.

{
  "name": "normalize_text",
  "arguments": {
    "text": "  Xin   chào  ",
    "trimLines": true,
    "collapseSpaces": true,
    "removeEmpty": false,
    "caseMode": "keep"
  }
}
Tham số, giới hạn và cấu trúc kết quả

Normalize CRLF/CR to LF, optionally trim lines, collapse horizontal whitespace, remove blank lines and change case using Vietnamese locale. Preserves accents. Up to 10,000 UTF-16 units; server processes and returns text, so do not send confidential text.

Input schema

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "text": {
      "type": "string",
      "maxLength": 10000
    },
    "trimLines": {
      "default": true,
      "type": "boolean"
    },
    "collapseSpaces": {
      "default": true,
      "type": "boolean"
    },
    "removeEmpty": {
      "default": false,
      "type": "boolean"
    },
    "caseMode": {
      "default": "keep",
      "type": "string",
      "enum": [
        "keep",
        "lower",
        "upper"
      ]
    }
  },
  "required": [
    "text",
    "trimLines",
    "collapseSpaces",
    "removeEmpty",
    "caseMode"
  ],
  "additionalProperties": false
}

Output schema

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "tool": {
      "type": "string"
    },
    "pageUrl": {
      "type": "string",
      "format": "uri"
    },
    "formula": {
      "type": "string"
    },
    "notes": {
      "type": "string"
    },
    "result": {
      "type": "object",
      "properties": {
        "text": {
          "type": "string"
        },
        "inputLines": {
          "type": "integer",
          "minimum": -9007199254740991,
          "maximum": 9007199254740991
        },
        "outputLines": {
          "type": "integer",
          "minimum": -9007199254740991,
          "maximum": 9007199254740991
        }
      },
      "required": [
        "text",
        "inputLines",
        "outputLines"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "tool",
    "pageUrl",
    "formula",
    "notes",
    "result"
  ],
  "additionalProperties": false
}

Tính phần trăm

calculate_percentage · Mở công cụ trên web

value: a / 100 × b; ratio: a / b × 100; change: (b − a) / a × 100.

{
  "name": "calculate_percentage",
  "arguments": {
    "mode": "change",
    "a": 100,
    "b": 125
  }
}
Tham số, giới hạn và cấu trúc kết quả

Calculate percentage value, ratio or change. Tính phần trăm, tỷ lệ hoặc tăng giảm; a/b depend on mode. No market data.

Input schema

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "mode": {
      "type": "string",
      "enum": [
        "value",
        "ratio",
        "change"
      ],
      "description": "value: a percent of b; ratio: a as percent of b (b>0); change: old a to new b (a>0)."
    },
    "a": {
      "type": "number",
      "minimum": 0,
      "maximum": 1000000000000000
    },
    "b": {
      "type": "number",
      "minimum": 0,
      "maximum": 1000000000000000
    }
  },
  "required": [
    "mode",
    "a",
    "b"
  ],
  "additionalProperties": false
}

Output schema

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "tool": {
      "type": "string"
    },
    "pageUrl": {
      "type": "string",
      "format": "uri"
    },
    "formula": {
      "type": "string"
    },
    "notes": {
      "type": "string"
    },
    "result": {
      "type": "object",
      "properties": {
        "value": {
          "type": "number"
        },
        "unit": {
          "type": "string",
          "enum": [
            "percent",
            "same_as_b"
          ]
        }
      },
      "required": [
        "value",
        "unit"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "tool",
    "pageUrl",
    "formula",
    "notes",
    "result"
  ],
  "additionalProperties": false
}

Tính giảm giá

calculate_discount · Mở công cụ trên web

Giá phải trả = giá gốc × (1 − giảm lần 1 / 100) × (1 − giảm lần 2 / 100).

{
  "name": "calculate_discount",
  "arguments": {
    "priceVnd": 1000000,
    "firstPercent": 20,
    "secondPercent": 10
  }
}
Tham số, giới hạn và cấu trúc kết quả

Calculate sequential discounts in VND. Tính hai lần giảm giá liên tiếp, làm tròn tiền cuối cùng đến VND gần nhất; chưa gồm phí hoặc thuế.

Input schema

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "priceVnd": {
      "type": "integer",
      "minimum": 0,
      "maximum": 1000000000000,
      "description": "Integer VND, no thousands separators."
    },
    "firstPercent": {
      "type": "number",
      "minimum": 0,
      "maximum": 100,
      "multipleOf": 0.01
    },
    "secondPercent": {
      "default": 0,
      "type": "number",
      "minimum": 0,
      "maximum": 100,
      "multipleOf": 0.01
    }
  },
  "required": [
    "priceVnd",
    "firstPercent",
    "secondPercent"
  ],
  "additionalProperties": false
}

Output schema

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "tool": {
      "type": "string"
    },
    "pageUrl": {
      "type": "string",
      "format": "uri"
    },
    "formula": {
      "type": "string"
    },
    "notes": {
      "type": "string"
    },
    "result": {
      "type": "object",
      "properties": {
        "originalVnd": {
          "type": "number"
        },
        "payableVnd": {
          "type": "number"
        },
        "savedVnd": {
          "type": "number"
        },
        "effectivePercent": {
          "type": "number"
        }
      },
      "required": [
        "originalVnd",
        "payableVnd",
        "savedVnd",
        "effectivePercent"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "tool",
    "pageUrl",
    "formula",
    "notes",
    "result"
  ],
  "additionalProperties": false
}

Đổi đơn vị độ dài

convert_length · Mở công cụ trên web

Kết quả = giá trị × hệ số đơn vị đầu / hệ số đơn vị cuối.

{
  "name": "convert_length",
  "arguments": {
    "value": 1,
    "from": "in",
    "to": "cm"
  }
}
Tham số, giới hạn và cấu trúc kết quả

Convert international length units: mm, cm, dm, m, km, in, ft, yd, mi. Đổi độ dài; mile không phải hải lý, không dùng US survey foot.

Input schema

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "value": {
      "type": "number",
      "minimum": 0,
      "maximum": 1000000000000
    },
    "from": {
      "type": "string",
      "enum": [
        "mm",
        "cm",
        "dm",
        "m",
        "km",
        "in",
        "ft",
        "yd",
        "mi"
      ]
    },
    "to": {
      "type": "string",
      "enum": [
        "mm",
        "cm",
        "dm",
        "m",
        "km",
        "in",
        "ft",
        "yd",
        "mi"
      ]
    }
  },
  "required": [
    "value",
    "from",
    "to"
  ],
  "additionalProperties": false
}

Output schema

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "tool": {
      "type": "string"
    },
    "pageUrl": {
      "type": "string",
      "format": "uri"
    },
    "formula": {
      "type": "string"
    },
    "notes": {
      "type": "string"
    },
    "result": {
      "type": "object",
      "properties": {
        "value": {
          "type": "number"
        },
        "unit": {
          "type": "string"
        }
      },
      "required": [
        "value",
        "unit"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "tool",
    "pageUrl",
    "formula",
    "notes",
    "result"
  ],
  "additionalProperties": false
}

Đổi đơn vị khối lượng

convert_mass · Mở công cụ trên web

Kết quả = giá trị × hệ số đơn vị đầu / hệ số đơn vị cuối; 1 oz thường = 28,349523125 g.

{
  "name": "convert_mass",
  "arguments": {
    "value": 2.5,
    "from": "kg",
    "to": "g"
  }
}
Tham số, giới hạn và cấu trúc kết quả

Convert mg, g, kg, yen, ta, t, oz, lb. Đổi khối lượng: yến=10 kg, tạ=100 kg, tấn=1000 kg; oz is avoirdupois, NOT gold troy ounce.

Input schema

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "value": {
      "type": "number",
      "minimum": 0,
      "maximum": 1000000000000
    },
    "from": {
      "type": "string",
      "enum": [
        "mg",
        "g",
        "kg",
        "yen",
        "ta",
        "t",
        "oz",
        "lb"
      ]
    },
    "to": {
      "type": "string",
      "enum": [
        "mg",
        "g",
        "kg",
        "yen",
        "ta",
        "t",
        "oz",
        "lb"
      ]
    }
  },
  "required": [
    "value",
    "from",
    "to"
  ],
  "additionalProperties": false
}

Output schema

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "tool": {
      "type": "string"
    },
    "pageUrl": {
      "type": "string",
      "format": "uri"
    },
    "formula": {
      "type": "string"
    },
    "notes": {
      "type": "string"
    },
    "result": {
      "type": "object",
      "properties": {
        "value": {
          "type": "number"
        },
        "unit": {
          "type": "string"
        }
      },
      "required": [
        "value",
        "unit"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "tool",
    "pageUrl",
    "formula",
    "notes",
    "result"
  ],
  "additionalProperties": false
}

Quy đổi vàng

convert_gold · Mở công cụ trên web

1 lượng = 10 chỉ = 100 phân = 37,5 g; 1 ounce troy = 31,1034768 g. Giá trị = lượng × giá VND/lượng do bạn cung cấp.

{
  "name": "convert_gold",
  "arguments": {
    "amount": 2,
    "unit": "chi",
    "pricePerLuongVnd": 100000000
  }
}
Tham số, giới hạn và cấu trúc kết quả

Convert Vietnamese gold units to grams, lượng and chỉ. Optional caller-supplied VND/lượng price estimates value; this does NOT fetch a current gold quote. Ounce means troy ounce.

Input schema

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "amount": {
      "type": "number",
      "exclusiveMinimum": 0,
      "maximum": 10000
    },
    "unit": {
      "type": "string",
      "enum": [
        "luong",
        "chi",
        "phan",
        "gram",
        "ounce"
      ],
      "description": "ounce = troy ounce (31.1034768 g), luong = 37.5 g."
    },
    "pricePerLuongVnd": {
      "description": "Optional caller-supplied VND/lượng; customer buys at dealer sell price, sells at dealer buy price.",
      "type": "number",
      "exclusiveMinimum": 0,
      "maximum": 10000000000
    }
  },
  "required": [
    "amount",
    "unit"
  ],
  "additionalProperties": false
}

Output schema

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "tool": {
      "type": "string"
    },
    "pageUrl": {
      "type": "string",
      "format": "uri"
    },
    "formula": {
      "type": "string"
    },
    "notes": {
      "type": "string"
    },
    "result": {
      "type": "object",
      "properties": {
        "grams": {
          "type": "number"
        },
        "luong": {
          "type": "number"
        },
        "chi": {
          "type": "number"
        },
        "valueVnd": {
          "type": "number"
        },
        "reference": {
          "type": "string",
          "enum": [
            "unit_conversion",
            "caller_supplied"
          ]
        },
        "marketQuote": {
          "type": "boolean",
          "const": false
        }
      },
      "required": [
        "grams",
        "luong",
        "chi",
        "reference",
        "marketQuote"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "tool",
    "pageUrl",
    "formula",
    "notes",
    "result"
  ],
  "additionalProperties": false
}

Tính lãi lỗ vàng

calculate_gold_profit · Mở công cụ trên web

Lãi/lỗ = lượng × giá cửa hàng mua vào − phí bán − tổng chi phí mua. Giá hòa vốn = (tổng chi phí mua + phí bán) / lượng.

{
  "name": "calculate_gold_profit",
  "arguments": {
    "amount": 1,
    "unit": "luong",
    "buybackPriceVnd": 105000000,
    "purchaseCostVnd": 100000000,
    "sellingFeeVnd": 200000
  }
}
Tham số, giới hạn và cấu trúc kết quả

Estimate gold resale profit, return and break-even using caller-supplied dealer BUYBACK price. Tính lãi/lỗ vàng sau phí bán và tổng chi phí mua; không dự đoán hoặc lấy giá hiện tại.

Input schema

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "amount": {
      "type": "number",
      "exclusiveMinimum": 0,
      "maximum": 10000
    },
    "unit": {
      "type": "string",
      "enum": [
        "luong",
        "chi",
        "phan",
        "gram",
        "ounce"
      ],
      "description": "ounce = troy ounce (31.1034768 g), luong = 37.5 g."
    },
    "buybackPriceVnd": {
      "type": "number",
      "exclusiveMinimum": 0,
      "maximum": 10000000000,
      "description": "Dealer buy price in VND/lượng, NOT dealer sell price."
    },
    "purchaseCostVnd": {
      "type": "number",
      "exclusiveMinimum": 0,
      "maximum": 100000000000000,
      "description": "Total acquisition cost for all the gold, including purchase fees."
    },
    "sellingFeeVnd": {
      "default": 0,
      "type": "number",
      "minimum": 0,
      "maximum": 1000000000000
    }
  },
  "required": [
    "amount",
    "unit",
    "buybackPriceVnd",
    "purchaseCostVnd",
    "sellingFeeVnd"
  ],
  "additionalProperties": false
}

Output schema

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "tool": {
      "type": "string"
    },
    "pageUrl": {
      "type": "string",
      "format": "uri"
    },
    "formula": {
      "type": "string"
    },
    "notes": {
      "type": "string"
    },
    "result": {
      "type": "object",
      "properties": {
        "grams": {
          "type": "number"
        },
        "luong": {
          "type": "number"
        },
        "chi": {
          "type": "number"
        },
        "grossVnd": {
          "type": "number"
        },
        "netVnd": {
          "type": "number"
        },
        "profitVnd": {
          "type": "number"
        },
        "returnPercent": {
          "type": "number"
        },
        "breakEvenVndPerLuong": {
          "type": "number"
        },
        "reference": {
          "type": "string",
          "const": "caller_supplied"
        },
        "marketQuote": {
          "type": "boolean",
          "const": false
        }
      },
      "required": [
        "grams",
        "luong",
        "chi",
        "grossVnd",
        "netVnd",
        "profitVnd",
        "returnPercent",
        "breakEvenVndPerLuong",
        "reference",
        "marketQuote"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "tool",
    "pageUrl",
    "formula",
    "notes",
    "result"
  ],
  "additionalProperties": false
}

Quy đổi ngoại tệ

convert_currency · Mở công cụ trên web

buy: ngoại tệ = VND / tỷ giá bán ra. sell: VND = ngoại tệ × tỷ giá mua theo hình thức đã chọn.

{
  "name": "convert_currency",
  "arguments": {
    "amount": 2500000,
    "currency": "USD",
    "direction": "buy",
    "method": "cash",
    "rateVnd": 25000
  }
}
Tham số, giới hạn và cấu trúc kết quả

Convert VND and a currency using a caller-supplied VND per foreign-unit rate. buy: customer buys foreign currency (VND / bank sell rate). sell: customer sells foreign currency (amount × bank cash/transfer buy rate). No live rates or fees.

Input schema

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "amount": {
      "type": "number",
      "exclusiveMinimum": 0,
      "maximum": 1000000000000,
      "description": "buy: amount in VND; sell: amount in the foreign currency."
    },
    "currency": {
      "type": "string",
      "pattern": "^[A-Z]{3}$",
      "description": "Three-letter foreign currency code, e.g. USD, EUR, JPY."
    },
    "direction": {
      "type": "string",
      "enum": [
        "buy",
        "sell"
      ]
    },
    "method": {
      "type": "string",
      "enum": [
        "cash",
        "transfer"
      ],
      "description": "Select matching bank cash/transfer buy rate when selling; no substitution of missing rates."
    },
    "rateVnd": {
      "type": "number",
      "exclusiveMinimum": 0,
      "maximum": 100000000,
      "description": "Caller-supplied VND per one foreign unit: bank sell rate for buy; matching cash/transfer buy rate for sell."
    }
  },
  "required": [
    "amount",
    "currency",
    "direction",
    "method",
    "rateVnd"
  ],
  "additionalProperties": false
}

Output schema

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "tool": {
      "type": "string"
    },
    "pageUrl": {
      "type": "string",
      "format": "uri"
    },
    "formula": {
      "type": "string"
    },
    "notes": {
      "type": "string"
    },
    "result": {
      "type": "object",
      "properties": {
        "value": {
          "type": "number"
        },
        "currency": {
          "type": "string"
        },
        "reference": {
          "type": "string",
          "const": "caller_supplied"
        },
        "marketQuote": {
          "type": "boolean",
          "const": false
        }
      },
      "required": [
        "value",
        "currency",
        "reference",
        "marketQuote"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "tool",
    "pageUrl",
    "formula",
    "notes",
    "result"
  ],
  "additionalProperties": false
}

Đếm ký tự và từ

count_text · Mở công cụ trên web

Ký tự tính theo cụm hiển thị; từ là nhóm tách bằng khoảng trắng. “Việt Nam” được tính là 2 nhóm từ.

{
  "name": "count_text",
  "arguments": {
    "text": "Xin chào"
  }
}
Tham số, giới hạn và cấu trúc kết quả

Count Vietnamese text graphemes, non-space characters, whitespace-separated words, lines and paragraphs. Tối đa 10.000 đơn vị mã UTF-16. Text is sent to the MCP server for processing; results do not echo input text.

Input schema

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "text": {
      "type": "string",
      "maxLength": 10000,
      "description": "Text to process on the server; maximum 10,000 UTF-16 code units. Do not send secrets or personal data."
    }
  },
  "required": [
    "text"
  ],
  "additionalProperties": false
}

Output schema

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "tool": {
      "type": "string"
    },
    "pageUrl": {
      "type": "string",
      "format": "uri"
    },
    "formula": {
      "type": "string"
    },
    "notes": {
      "type": "string"
    },
    "result": {
      "type": "object",
      "properties": {
        "characters": {
          "type": "integer",
          "minimum": -9007199254740991,
          "maximum": 9007199254740991
        },
        "withoutSpaces": {
          "type": "integer",
          "minimum": -9007199254740991,
          "maximum": 9007199254740991
        },
        "words": {
          "type": "integer",
          "minimum": -9007199254740991,
          "maximum": 9007199254740991
        },
        "lines": {
          "type": "integer",
          "minimum": -9007199254740991,
          "maximum": 9007199254740991
        },
        "paragraphs": {
          "type": "integer",
          "minimum": -9007199254740991,
          "maximum": 9007199254740991
        }
      },
      "required": [
        "characters",
        "withoutSpaces",
        "words",
        "lines",
        "paragraphs"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "tool",
    "pageUrl",
    "formula",
    "notes",
    "result"
  ],
  "additionalProperties": false
}

Đổi đơn vị diện tích

convert_area · Mở công cụ trên web

Diện tích mới = giá trị × hệ số đầu / hệ số cuối; 1 ha = 10.000 m², 1 ft² quốc tế = 0,09290304 m².

{
  "name": "convert_area",
  "arguments": {
    "value": 2.5,
    "from": "ha",
    "to": "m2"
  }
}
Tham số, giới hạn và cấu trúc kết quả

Convert mm2, cm2, m2, ha, km2 and international ft2. No local sao/mau/cong or survey foot assumptions; input is already an area, not a length.

Input schema

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "value": {
      "type": "number",
      "minimum": 0,
      "maximum": 1000000000000
    },
    "from": {
      "type": "string",
      "enum": [
        "mm2",
        "cm2",
        "m2",
        "ha",
        "km2",
        "ft2"
      ]
    },
    "to": {
      "type": "string",
      "enum": [
        "mm2",
        "cm2",
        "m2",
        "ha",
        "km2",
        "ft2"
      ]
    }
  },
  "required": [
    "value",
    "from",
    "to"
  ],
  "additionalProperties": false
}

Output schema

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "tool": {
      "type": "string"
    },
    "pageUrl": {
      "type": "string",
      "format": "uri"
    },
    "formula": {
      "type": "string"
    },
    "notes": {
      "type": "string"
    },
    "result": {
      "type": "object",
      "properties": {
        "value": {
          "type": "number"
        },
        "unit": {
          "type": "string"
        }
      },
      "required": [
        "value",
        "unit"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "tool",
    "pageUrl",
    "formula",
    "notes",
    "result"
  ],
  "additionalProperties": false
}

Đổi thể tích và dung tích

convert_volume · Mở công cụ trên web

Thể tích mới = giá trị × hệ số đầu / hệ số cuối; 1 m³ = 1.000 L; 1 US gal = 3,785411784 L, 1 Imperial gal = 4,54609 L.

{
  "name": "convert_volume",
  "arguments": {
    "value": 2.5,
    "from": "l",
    "to": "ml"
  }
}
Tham số, giới hạn và cấu trúc kết quả

Convert ml, l, cm3, dm3, m3, gal_us (US liquid gallon), gal_uk (Imperial gallon). Not US dry gallon, mass, or density conversion.

Input schema

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "value": {
      "type": "number",
      "minimum": 0,
      "maximum": 1000000000000
    },
    "from": {
      "type": "string",
      "enum": [
        "ml",
        "l",
        "cm3",
        "dm3",
        "m3",
        "gal_us",
        "gal_uk"
      ]
    },
    "to": {
      "type": "string",
      "enum": [
        "ml",
        "l",
        "cm3",
        "dm3",
        "m3",
        "gal_us",
        "gal_uk"
      ]
    }
  },
  "required": [
    "value",
    "from",
    "to"
  ],
  "additionalProperties": false
}

Output schema

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "tool": {
      "type": "string"
    },
    "pageUrl": {
      "type": "string",
      "format": "uri"
    },
    "formula": {
      "type": "string"
    },
    "notes": {
      "type": "string"
    },
    "result": {
      "type": "object",
      "properties": {
        "value": {
          "type": "number"
        },
        "unit": {
          "type": "string"
        }
      },
      "required": [
        "value",
        "unit"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "tool",
    "pageUrl",
    "formula",
    "notes",
    "result"
  ],
  "additionalProperties": false
}

Tính số ngày giữa hai ngày

calculate_date_difference · Mở công cụ trên web

Chênh lệch = ngày cuối − ngày đầu; tính cả hai ngày thì cộng 1. Tuần trọn = phần nguyên tổng / 7; ngày lẻ = phần dư.

{
  "name": "calculate_date_difference",
  "arguments": {
    "startDate": "2026-01-01",
    "endDate": "2026-01-08",
    "includeBothDates": false
  }
}
Tham số, giới hạn và cấu trúc kết quả

Count Gregorian calendar days between ISO dates (1900-01-01 through 2100-12-31). End must not precede start. Optional includeBothDates adds one; includes weekends/holidays. No time of day, lunar calendar, business-day or legal deadline calculation.

Input schema

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "startDate": {
      "type": "string"
    },
    "endDate": {
      "type": "string"
    },
    "includeBothDates": {
      "default": false,
      "type": "boolean"
    }
  },
  "required": [
    "startDate",
    "endDate",
    "includeBothDates"
  ],
  "additionalProperties": false
}

Output schema

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "tool": {
      "type": "string"
    },
    "pageUrl": {
      "type": "string",
      "format": "uri"
    },
    "formula": {
      "type": "string"
    },
    "notes": {
      "type": "string"
    },
    "result": {
      "type": "object",
      "properties": {
        "elapsedDays": {
          "type": "integer",
          "minimum": 0,
          "maximum": 9007199254740991
        },
        "days": {
          "type": "integer",
          "minimum": 0,
          "maximum": 9007199254740991
        },
        "fullWeeks": {
          "type": "integer",
          "minimum": 0,
          "maximum": 9007199254740991
        },
        "remainingDays": {
          "type": "integer",
          "minimum": 0,
          "maximum": 6
        },
        "includeBothDates": {
          "type": "boolean"
        }
      },
      "required": [
        "elapsedDays",
        "days",
        "fullWeeks",
        "remainingDays",
        "includeBothDates"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "tool",
    "pageUrl",
    "formula",
    "notes",
    "result"
  ],
  "additionalProperties": false
}

Tra cứu giá vàng đã lưu

get_gold_prices · Mở công cụ trên web

Giá tham khảo tính bằng VND/lượng. Mua vào: cửa hàng mua của bạn; bán ra: bạn mua từ cửa hàng. Luôn đọc ngày giá và nguồn.

{
  "name": "get_gold_prices",
  "arguments": {
    "brand": "phu-quy"
  }
}
Tham số, giới hạn và cấu trúc kết quả

Read latest stored, non-fixture Vietnamese gold quotes, optionally filtered by brand/product. Returns actual quote dates, collection times, source URLs and stale flags. These are reference quotes, NOT real-time or executable prices. No external fetch is triggered.

Input schema

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "brand": {
      "type": "string",
      "enum": [
        "sjc",
        "doji",
        "pnj",
        "phu-quy",
        "bao-tin-minh-chau"
      ]
    },
    "product": {
      "description": "Stored product code; e.g. vang-mieng or vang-nhan-9999. Omit for all products. Unknown codes return no records.",
      "type": "string",
      "maxLength": 64,
      "pattern": "^[a-z0-9-]+$"
    }
  },
  "additionalProperties": false
}

Output schema

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "tool": {
      "type": "string"
    },
    "pageUrl": {
      "type": "string",
      "format": "uri"
    },
    "requestedDate": {
      "type": "string"
    },
    "timeZone": {
      "type": "string",
      "const": "Asia/Ho_Chi_Minh"
    },
    "status": {
      "type": "string",
      "enum": [
        "available",
        "stale",
        "unavailable"
      ]
    },
    "asOf": {
      "type": [
        "string",
        "null"
      ]
    },
    "reference": {
      "type": "string",
      "const": "stored_source"
    },
    "units": {
      "type": "string"
    },
    "formula": {
      "type": "string"
    },
    "notes": {
      "type": "string"
    },
    "truncated": {
      "type": "boolean"
    },
    "records": {
      "maxItems": 50,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "source": {
            "type": "string"
          },
          "sourceUrl": {
            "type": "string",
            "format": "uri"
          },
          "fetchedAt": {
            "type": "string"
          },
          "isStale": {
            "type": "boolean"
          },
          "brand": {
            "type": "string"
          },
          "brandLabel": {
            "type": "string"
          },
          "product": {
            "type": "string"
          },
          "productLabel": {
            "type": "string"
          },
          "priceDate": {
            "type": "string"
          },
          "buyVnd": {
            "type": "number",
            "exclusiveMinimum": 0
          },
          "sellVnd": {
            "type": "number",
            "exclusiveMinimum": 0
          }
        },
        "required": [
          "source",
          "sourceUrl",
          "fetchedAt",
          "isStale",
          "brand",
          "brandLabel",
          "product",
          "productLabel",
          "priceDate",
          "buyVnd",
          "sellVnd"
        ],
        "additionalProperties": false
      }
    }
  },
  "required": [
    "tool",
    "pageUrl",
    "requestedDate",
    "timeZone",
    "status",
    "asOf",
    "reference",
    "units",
    "formula",
    "notes",
    "truncated",
    "records"
  ],
  "additionalProperties": false
}

Tra cứu tỷ giá đã lưu

get_exchange_rates · Mở công cụ trên web

Khách mua ngoại tệ dùng tỷ giá ngân hàng bán ra; khách bán dùng mua tiền mặt hoặc chuyển khoản đúng hình thức. null nghĩa là thiếu dữ liệu, không phải tỷ giá 0.

{
  "name": "get_exchange_rates",
  "arguments": {
    "currency": "USD"
  }
}
Tham số, giới hạn và cấu trúc kết quả

Read latest stored bank exchange rates in VND per one foreign currency unit. Cash buy, transfer buy and sell are separate; unavailable sides are null, never substituted. Read rateDate, fetchedAt, sourceUrl and isStale before calculating. No live fetch.

Input schema

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "currency": {
      "type": "string",
      "pattern": "^[A-Z]{3}$"
    }
  },
  "additionalProperties": false
}

Output schema

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "tool": {
      "type": "string"
    },
    "pageUrl": {
      "type": "string",
      "format": "uri"
    },
    "requestedDate": {
      "type": "string"
    },
    "timeZone": {
      "type": "string",
      "const": "Asia/Ho_Chi_Minh"
    },
    "status": {
      "type": "string",
      "enum": [
        "available",
        "stale",
        "unavailable"
      ]
    },
    "asOf": {
      "type": [
        "string",
        "null"
      ]
    },
    "reference": {
      "type": "string",
      "const": "stored_source"
    },
    "units": {
      "type": "string"
    },
    "formula": {
      "type": "string"
    },
    "notes": {
      "type": "string"
    },
    "truncated": {
      "type": "boolean"
    },
    "records": {
      "maxItems": 50,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "source": {
            "type": "string"
          },
          "sourceUrl": {
            "type": "string",
            "format": "uri"
          },
          "fetchedAt": {
            "type": "string"
          },
          "isStale": {
            "type": "boolean"
          },
          "currency": {
            "type": "string"
          },
          "rateDate": {
            "type": "string"
          },
          "buyCashVnd": {
            "anyOf": [
              {
                "type": "number",
                "exclusiveMinimum": 0
              },
              {
                "type": "null"
              }
            ]
          },
          "buyTransferVnd": {
            "anyOf": [
              {
                "type": "number",
                "exclusiveMinimum": 0
              },
              {
                "type": "null"
              }
            ]
          },
          "sellVnd": {
            "anyOf": [
              {
                "type": "number",
                "exclusiveMinimum": 0
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": [
          "source",
          "sourceUrl",
          "fetchedAt",
          "isStale",
          "currency",
          "rateDate",
          "buyCashVnd",
          "buyTransferVnd",
          "sellVnd"
        ],
        "additionalProperties": false
      }
    }
  },
  "required": [
    "tool",
    "pageUrl",
    "requestedDate",
    "timeZone",
    "status",
    "asOf",
    "reference",
    "units",
    "formula",
    "notes",
    "truncated",
    "records"
  ],
  "additionalProperties": false
}

Tra cứu biến động vàng Phú Quý

get_gold_price_changes · Mở công cụ trên web

Thay đổi = giá mới − giá mốc; phần trăm = thay đổi / giá mốc × 100. So sánh cùng sản phẩm và nguồn; không nội suy ngày thiếu.

{
  "name": "get_gold_price_changes",
  "arguments": {
    "product": "vang-mieng"
  }
}
Tham số, giới hạn và cấu trúc kết quả

Compare latest stored Phú Quý gold quotes with the final stored quote on the previous available date, same product and source, within 90 calendar days. The comparison date may not be yesterday. Missing baseline yields null changes, not zero. No forecast or live fetch.

Input schema

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "product": {
      "description": "Stored product code; e.g. vang-mieng or vang-nhan-9999. Omit for all products. Unknown codes return no records.",
      "type": "string",
      "maxLength": 64,
      "pattern": "^[a-z0-9-]+$"
    }
  },
  "additionalProperties": false
}

Output schema

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "tool": {
      "type": "string"
    },
    "pageUrl": {
      "type": "string",
      "format": "uri"
    },
    "requestedDate": {
      "type": "string"
    },
    "timeZone": {
      "type": "string",
      "const": "Asia/Ho_Chi_Minh"
    },
    "status": {
      "type": "string",
      "enum": [
        "available",
        "stale",
        "unavailable"
      ]
    },
    "asOf": {
      "type": [
        "string",
        "null"
      ]
    },
    "reference": {
      "type": "string",
      "const": "stored_source"
    },
    "units": {
      "type": "string"
    },
    "formula": {
      "type": "string"
    },
    "notes": {
      "type": "string"
    },
    "truncated": {
      "type": "boolean"
    },
    "records": {
      "maxItems": 50,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "current": {
            "type": "object",
            "properties": {
              "source": {
                "type": "string"
              },
              "sourceUrl": {
                "type": "string",
                "format": "uri"
              },
              "fetchedAt": {
                "type": "string"
              },
              "isStale": {
                "type": "boolean"
              },
              "brand": {
                "type": "string"
              },
              "brandLabel": {
                "type": "string"
              },
              "product": {
                "type": "string"
              },
              "productLabel": {
                "type": "string"
              },
              "priceDate": {
                "type": "string"
              },
              "buyVnd": {
                "type": "number",
                "exclusiveMinimum": 0
              },
              "sellVnd": {
                "type": "number",
                "exclusiveMinimum": 0
              }
            },
            "required": [
              "source",
              "sourceUrl",
              "fetchedAt",
              "isStale",
              "brand",
              "brandLabel",
              "product",
              "productLabel",
              "priceDate",
              "buyVnd",
              "sellVnd"
            ],
            "additionalProperties": false
          },
          "previous": {
            "anyOf": [
              {
                "type": "object",
                "properties": {
                  "source": {
                    "type": "string"
                  },
                  "sourceUrl": {
                    "type": "string",
                    "format": "uri"
                  },
                  "fetchedAt": {
                    "type": "string"
                  },
                  "isStale": {
                    "type": "boolean"
                  },
                  "brand": {
                    "type": "string"
                  },
                  "brandLabel": {
                    "type": "string"
                  },
                  "product": {
                    "type": "string"
                  },
                  "productLabel": {
                    "type": "string"
                  },
                  "priceDate": {
                    "type": "string"
                  },
                  "buyVnd": {
                    "type": "number",
                    "exclusiveMinimum": 0
                  },
                  "sellVnd": {
                    "type": "number",
                    "exclusiveMinimum": 0
                  }
                },
                "required": [
                  "source",
                  "sourceUrl",
                  "fetchedAt",
                  "isStale",
                  "brand",
                  "brandLabel",
                  "product",
                  "productLabel",
                  "priceDate",
                  "buyVnd",
                  "sellVnd"
                ],
                "additionalProperties": false
              },
              {
                "type": "null"
              }
            ]
          },
          "comparisonStatus": {
            "type": "string",
            "enum": [
              "available",
              "unavailable"
            ]
          },
          "isYesterday": {
            "type": "boolean"
          },
          "buyChange": {
            "anyOf": [
              {
                "type": "object",
                "properties": {
                  "amount": {
                    "type": "number"
                  },
                  "percent": {
                    "type": "number"
                  }
                },
                "required": [
                  "amount",
                  "percent"
                ],
                "additionalProperties": false
              },
              {
                "type": "null"
              }
            ]
          },
          "sellChange": {
            "anyOf": [
              {
                "type": "object",
                "properties": {
                  "amount": {
                    "type": "number"
                  },
                  "percent": {
                    "type": "number"
                  }
                },
                "required": [
                  "amount",
                  "percent"
                ],
                "additionalProperties": false
              },
              {
                "type": "null"
              }
            ]
          },
          "spreadVnd": {
            "type": "number"
          }
        },
        "required": [
          "current",
          "previous",
          "comparisonStatus",
          "isYesterday",
          "buyChange",
          "sellChange",
          "spreadVnd"
        ],
        "additionalProperties": false
      }
    }
  },
  "required": [
    "tool",
    "pageUrl",
    "requestedDate",
    "timeZone",
    "status",
    "asOf",
    "reference",
    "units",
    "formula",
    "notes",
    "truncated",
    "records"
  ],
  "additionalProperties": false
}

Tính lương Gross sang Net và Net sang Gross 2026

calculate_vn_salary · Mở công cụ trên web

Net = Gross − BHXH − BHYT − BHTN − thuế lũy tiến. Giảm trừ bản thân 15.500.000 VND/tháng; mỗi người phụ thuộc đủ điều kiện 6.200.000 VND/tháng.

{
  "name": "calculate_vn_salary",
  "arguments": {
    "amount": 30000000,
    "direction": "gross_to_net",
    "month": "2026-10",
    "region": "I",
    "dependents": 0,
    "insuranceMode": "full",
    "insuranceBase": 0,
    "otherDeduction": 0
  }
}
Tham số, giới hạn và cấu trúc kết quả

Ước tính lương thực nhận, BHXH, BHYT, BHTN và thuế TNCN 2026. Chọn tháng, vùng, người phụ thuộc và lương đóng bảo hiểm. Scope: Tiền lương thông thường của lao động Việt Nam cư trú, tham gia đủ ba bảo hiểm; chưa áp dụng người nước ngoài, hợp đồng ngắn hạn hoặc chế độ đặc thù. Không phải bảng lương/quyết toán chính thức. Method/scope reviewed 2026-10-31. Money in VND; numeric inputs are estimates, not verified records. Read notes and sources. No approvals, transactions or forecasts.

Input schema

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "amount": {
      "type": "integer",
      "minimum": 0,
      "maximum": 10000000000
    },
    "direction": {
      "type": "string",
      "enum": [
        "gross_to_net",
        "net_to_gross"
      ]
    },
    "month": {
      "type": "string",
      "pattern": "^2026-(0[1-9]|1[0-2])$"
    },
    "region": {
      "type": "string",
      "enum": [
        "I",
        "II",
        "III",
        "IV"
      ]
    },
    "dependents": {
      "type": "integer",
      "minimum": 0,
      "maximum": 20
    },
    "insuranceMode": {
      "type": "string",
      "enum": [
        "full",
        "custom"
      ]
    },
    "insuranceBase": {
      "type": "integer",
      "minimum": 0,
      "maximum": 10000000000
    },
    "otherDeduction": {
      "type": "integer",
      "minimum": 0,
      "maximum": 10000000000
    }
  },
  "required": [
    "amount",
    "direction",
    "month",
    "region",
    "dependents",
    "insuranceMode",
    "insuranceBase",
    "otherDeduction"
  ],
  "additionalProperties": false
}

Output schema

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "tool": {
      "type": "string"
    },
    "pageUrl": {
      "type": "string"
    },
    "formula": {
      "type": "string"
    },
    "notes": {
      "type": "string"
    },
    "policyReviewed": {
      "type": "string"
    },
    "sources": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string"
          },
          "url": {
            "type": "string"
          }
        },
        "required": [
          "title",
          "url"
        ],
        "additionalProperties": false
      }
    },
    "result": {
      "oneOf": [
        {
          "type": "object",
          "properties": {
            "status": {
              "type": "string",
              "const": "estimate"
            },
            "values": {
              "type": "object",
              "properties": {
                "gross": {
                  "type": "number"
                },
                "net": {
                  "type": "number"
                },
                "tax": {
                  "type": "number"
                },
                "insurance": {
                  "type": "number"
                },
                "taxable": {
                  "type": "number"
                },
                "social": {
                  "type": "number"
                },
                "health": {
                  "type": "number"
                },
                "unemployment": {
                  "type": "number"
                },
                "insuranceBase": {
                  "type": "number"
                },
                "taxBand1": {
                  "type": "number"
                },
                "taxBand2": {
                  "type": "number"
                },
                "taxBand3": {
                  "type": "number"
                },
                "taxBand4": {
                  "type": "number"
                },
                "taxBand5": {
                  "type": "number"
                }
              },
              "required": [
                "gross",
                "net",
                "tax",
                "insurance",
                "taxable",
                "social",
                "health",
                "unemployment",
                "insuranceBase",
                "taxBand1",
                "taxBand2",
                "taxBand3",
                "taxBand4",
                "taxBand5"
              ],
              "additionalProperties": false
            },
            "notes": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "schedule": {
              "maxItems": 600,
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "period": {
                    "type": "integer",
                    "minimum": -9007199254740991,
                    "maximum": 9007199254740991
                  },
                  "opening": {
                    "type": "number"
                  },
                  "principal": {
                    "type": "number"
                  },
                  "interest": {
                    "type": "number"
                  },
                  "payment": {
                    "type": "number"
                  },
                  "closing": {
                    "type": "number"
                  }
                },
                "required": [
                  "period",
                  "opening",
                  "principal",
                  "interest",
                  "payment",
                  "closing"
                ],
                "additionalProperties": false
              }
            }
          },
          "required": [
            "status",
            "values",
            "notes",
            "schedule"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "status": {
              "type": "string",
              "const": "needs_review"
            },
            "values": {
              "type": "object",
              "properties": {
                "gross": {
                  "type": "number"
                },
                "net": {
                  "type": "number"
                },
                "tax": {
                  "type": "number"
                },
                "insurance": {
                  "type": "number"
                },
                "taxable": {
                  "type": "number"
                },
                "social": {
                  "type": "number"
                },
                "health": {
                  "type": "number"
                },
                "unemployment": {
                  "type": "number"
                },
                "insuranceBase": {
                  "type": "number"
                },
                "taxBand1": {
                  "type": "number"
                },
                "taxBand2": {
                  "type": "number"
                },
                "taxBand3": {
                  "type": "number"
                },
                "taxBand4": {
                  "type": "number"
                },
                "taxBand5": {
                  "type": "number"
                }
              },
              "additionalProperties": false
            },
            "notes": {
              "minItems": 1,
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "schedule": {
              "maxItems": 600,
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "period": {
                    "type": "integer",
                    "minimum": -9007199254740991,
                    "maximum": 9007199254740991
                  },
                  "opening": {
                    "type": "number"
                  },
                  "principal": {
                    "type": "number"
                  },
                  "interest": {
                    "type": "number"
                  },
                  "payment": {
                    "type": "number"
                  },
                  "closing": {
                    "type": "number"
                  }
                },
                "required": [
                  "period",
                  "opening",
                  "principal",
                  "interest",
                  "payment",
                  "closing"
                ],
                "additionalProperties": false
              }
            }
          },
          "required": [
            "status",
            "values",
            "notes",
            "schedule"
          ],
          "additionalProperties": false
        }
      ]
    }
  },
  "required": [
    "tool",
    "pageUrl",
    "formula",
    "notes",
    "policyReviewed",
    "sources",
    "result"
  ],
  "additionalProperties": false
}

Tính lãi vay và lịch trả nợ

calculate_loan · Mở công cụ trên web

Gốc đều: gốc mỗi tháng = khoản vay / số tháng. Trả đều: A = P × r / [1 − (1+r)^(-n)], r = lãi năm / 12; r=0 thì A=P/n.

{
  "name": "calculate_loan",
  "arguments": {
    "principal": 120000000,
    "months": 12,
    "annualRate": 12,
    "promoMonths": 12,
    "laterRate": 12,
    "method": "equal_principal"
  }
}
Tham số, giới hạn và cấu trúc kết quả

Tính khoản trả hằng tháng, tổng lãi và dư nợ; so sánh trả đều với gốc đều, có giai đoạn ưu đãi và lãi suất sau ưu đãi. Scope: Khoản vay trả cuối tháng, không tính phí hoặc bảo hiểm. Đây là mô hình dòng tiền, không phải phê duyệt tín dụng hay lãi suất ngân hàng hiện tại. Method/scope reviewed 2026-10-31. Money in VND; numeric inputs are estimates, not verified records. Read notes and sources. No approvals, transactions or forecasts.

Input schema

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "principal": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 1000000000000
    },
    "months": {
      "type": "integer",
      "minimum": 1,
      "maximum": 600
    },
    "annualRate": {
      "type": "number",
      "minimum": 0,
      "maximum": 100
    },
    "promoMonths": {
      "type": "integer",
      "minimum": 0,
      "maximum": 600
    },
    "laterRate": {
      "type": "number",
      "minimum": 0,
      "maximum": 100
    },
    "method": {
      "type": "string",
      "enum": [
        "annuity",
        "equal_principal"
      ]
    }
  },
  "required": [
    "principal",
    "months",
    "annualRate",
    "promoMonths",
    "laterRate",
    "method"
  ],
  "additionalProperties": false
}

Output schema

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "tool": {
      "type": "string"
    },
    "pageUrl": {
      "type": "string"
    },
    "formula": {
      "type": "string"
    },
    "notes": {
      "type": "string"
    },
    "policyReviewed": {
      "type": "string"
    },
    "sources": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string"
          },
          "url": {
            "type": "string"
          }
        },
        "required": [
          "title",
          "url"
        ],
        "additionalProperties": false
      }
    },
    "result": {
      "oneOf": [
        {
          "type": "object",
          "properties": {
            "status": {
              "type": "string",
              "const": "estimate"
            },
            "values": {
              "type": "object",
              "properties": {
                "principal": {
                  "type": "number"
                },
                "totalInterest": {
                  "type": "number"
                },
                "totalPayment": {
                  "type": "number"
                },
                "firstPayment": {
                  "type": "number"
                },
                "lastPayment": {
                  "type": "number"
                },
                "peakPayment": {
                  "type": "number"
                }
              },
              "required": [
                "principal",
                "totalInterest",
                "totalPayment",
                "firstPayment",
                "lastPayment",
                "peakPayment"
              ],
              "additionalProperties": false
            },
            "notes": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "schedule": {
              "maxItems": 600,
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "period": {
                    "type": "integer",
                    "minimum": -9007199254740991,
                    "maximum": 9007199254740991
                  },
                  "opening": {
                    "type": "number"
                  },
                  "principal": {
                    "type": "number"
                  },
                  "interest": {
                    "type": "number"
                  },
                  "payment": {
                    "type": "number"
                  },
                  "closing": {
                    "type": "number"
                  }
                },
                "required": [
                  "period",
                  "opening",
                  "principal",
                  "interest",
                  "payment",
                  "closing"
                ],
                "additionalProperties": false
              }
            }
          },
          "required": [
            "status",
            "values",
            "notes",
            "schedule"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "status": {
              "type": "string",
              "const": "needs_review"
            },
            "values": {
              "type": "object",
              "properties": {
                "principal": {
                  "type": "number"
                },
                "totalInterest": {
                  "type": "number"
                },
                "totalPayment": {
                  "type": "number"
                },
                "firstPayment": {
                  "type": "number"
                },
                "lastPayment": {
                  "type": "number"
                },
                "peakPayment": {
                  "type": "number"
                }
              },
              "additionalProperties": false
            },
            "notes": {
              "minItems": 1,
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "schedule": {
              "maxItems": 600,
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "period": {
                    "type": "integer",
                    "minimum": -9007199254740991,
                    "maximum": 9007199254740991
                  },
                  "opening": {
                    "type": "number"
                  },
                  "principal": {
                    "type": "number"
                  },
                  "interest": {
                    "type": "number"
                  },
                  "payment": {
                    "type": "number"
                  },
                  "closing": {
                    "type": "number"
                  }
                },
                "required": [
                  "period",
                  "opening",
                  "principal",
                  "interest",
                  "payment",
                  "closing"
                ],
                "additionalProperties": false
              }
            }
          },
          "required": [
            "status",
            "values",
            "notes",
            "schedule"
          ],
          "additionalProperties": false
        }
      ]
    }
  },
  "required": [
    "tool",
    "pageUrl",
    "formula",
    "notes",
    "policyReviewed",
    "sources",
    "result"
  ],
  "additionalProperties": false
}

Tính lãi tiết kiệm, lãi kép và mục tiêu tích lũy

calculate_savings · Mở công cụ trên web

Lãi tháng = cơ sở tính lãi × lãi năm / 12. Lãi kép dùng số dư; lãi đơn chỉ dùng vốn đã góp. Góp đầu tháng trước tính lãi, góp cuối tháng sau tính lãi.

{
  "name": "calculate_savings",
  "arguments": {
    "initial": 10000000,
    "monthly": 1000000,
    "annualRate": 0,
    "months": 12,
    "timing": "end",
    "method": "compound",
    "target": 20000000
  }
}
Tham số, giới hạn và cấu trúc kết quả

Ước tính số dư, tiền góp và tiền lãi; chọn lãi đơn hoặc nhập lãi hằng tháng, góp đầu/cuối tháng và mục tiêu tiết kiệm. Scope: Lãi suất cố định do bạn nhập; mô hình kế hoạch tiết kiệm, không phải bảng lãi suất hoặc cam kết lợi nhuận. Không mô phỏng tất cả kỳ hạn tiền gửi ngân hàng. Method/scope reviewed 2026-10-31. Money in VND; numeric inputs are estimates, not verified records. Read notes and sources. No approvals, transactions or forecasts.

Input schema

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "initial": {
      "type": "integer",
      "minimum": 0,
      "maximum": 1000000000000
    },
    "monthly": {
      "type": "integer",
      "minimum": 0,
      "maximum": 1000000000000
    },
    "annualRate": {
      "type": "number",
      "minimum": 0,
      "maximum": 100
    },
    "months": {
      "type": "integer",
      "minimum": 1,
      "maximum": 600
    },
    "timing": {
      "type": "string",
      "enum": [
        "start",
        "end"
      ]
    },
    "method": {
      "type": "string",
      "enum": [
        "compound",
        "simple"
      ]
    },
    "target": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 1000000000000
    }
  },
  "required": [
    "initial",
    "monthly",
    "annualRate",
    "months",
    "timing",
    "method",
    "target"
  ],
  "additionalProperties": false
}

Output schema

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "tool": {
      "type": "string"
    },
    "pageUrl": {
      "type": "string"
    },
    "formula": {
      "type": "string"
    },
    "notes": {
      "type": "string"
    },
    "policyReviewed": {
      "type": "string"
    },
    "sources": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string"
          },
          "url": {
            "type": "string"
          }
        },
        "required": [
          "title",
          "url"
        ],
        "additionalProperties": false
      }
    },
    "result": {
      "oneOf": [
        {
          "type": "object",
          "properties": {
            "status": {
              "type": "string",
              "const": "estimate"
            },
            "values": {
              "type": "object",
              "properties": {
                "contributed": {
                  "type": "number"
                },
                "interest": {
                  "type": "number"
                },
                "balance": {
                  "type": "number"
                },
                "target": {
                  "type": "number"
                },
                "targetReached": {
                  "type": "number"
                },
                "targetMonth": {
                  "type": "number"
                }
              },
              "required": [
                "contributed",
                "interest",
                "balance",
                "target",
                "targetReached"
              ],
              "additionalProperties": false
            },
            "notes": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "schedule": {
              "maxItems": 600,
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "period": {
                    "type": "integer",
                    "minimum": -9007199254740991,
                    "maximum": 9007199254740991
                  },
                  "opening": {
                    "type": "number"
                  },
                  "principal": {
                    "type": "number"
                  },
                  "interest": {
                    "type": "number"
                  },
                  "payment": {
                    "type": "number"
                  },
                  "closing": {
                    "type": "number"
                  }
                },
                "required": [
                  "period",
                  "opening",
                  "principal",
                  "interest",
                  "payment",
                  "closing"
                ],
                "additionalProperties": false
              }
            }
          },
          "required": [
            "status",
            "values",
            "notes",
            "schedule"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "status": {
              "type": "string",
              "const": "needs_review"
            },
            "values": {
              "type": "object",
              "properties": {
                "contributed": {
                  "type": "number"
                },
                "interest": {
                  "type": "number"
                },
                "balance": {
                  "type": "number"
                },
                "target": {
                  "type": "number"
                },
                "targetReached": {
                  "type": "number"
                },
                "targetMonth": {
                  "type": "number"
                }
              },
              "additionalProperties": false
            },
            "notes": {
              "minItems": 1,
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "schedule": {
              "maxItems": 600,
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "period": {
                    "type": "integer",
                    "minimum": -9007199254740991,
                    "maximum": 9007199254740991
                  },
                  "opening": {
                    "type": "number"
                  },
                  "principal": {
                    "type": "number"
                  },
                  "interest": {
                    "type": "number"
                  },
                  "payment": {
                    "type": "number"
                  },
                  "closing": {
                    "type": "number"
                  }
                },
                "required": [
                  "period",
                  "opening",
                  "principal",
                  "interest",
                  "payment",
                  "closing"
                ],
                "additionalProperties": false
              }
            }
          },
          "required": [
            "status",
            "values",
            "notes",
            "schedule"
          ],
          "additionalProperties": false
        }
      ]
    }
  },
  "required": [
    "tool",
    "pageUrl",
    "formula",
    "notes",
    "policyReviewed",
    "sources",
    "result"
  ],
  "additionalProperties": false
}

Tính số tiền cần tiết kiệm mỗi tháng

calculate_savings_goal · Mở công cụ trên web

r = lãi suất năm / 1200; G = (1+r)^n; góp cuối tháng C = max(0, (mục tiêu − vốn ban đầu × G) / ((G−1)/r)). Góp đầu tháng: chia thêm cho (1+r). Khi r=0: C=max(0,(mục tiêu−vốn)/n). Làm tròn C lên đến VND.

{
  "name": "calculate_savings_goal",
  "arguments": {
    "initial": 10000000,
    "target": 100000000,
    "months": 36,
    "annualRate": 0,
    "timing": "end"
  }
}
Tham số, giới hạn và cấu trúc kết quả

Muốn có 100 triệu hoặc một mục tiêu khác: tính khoản góp mỗi tháng từ vốn ban đầu, thời hạn và lãi suất giả định. Có lịch tích lũy và ví dụ. Scope: Kế hoạch tích lũy VND với khoản góp đều và lãi suất cố định do bạn nhập; không dự báo lãi, không xác nhận khả năng đầu tư. Không gồm phí, thuế, lạm phát hoặc rút tiền. Method/scope reviewed 2026-11-01. Money in VND; numeric inputs are estimates, not verified records. Read notes and sources. No approvals, transactions or forecasts.

Input schema

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "initial": {
      "type": "integer",
      "minimum": 0,
      "maximum": 1000000000000
    },
    "target": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 1000000000000
    },
    "months": {
      "type": "integer",
      "minimum": 1,
      "maximum": 600
    },
    "annualRate": {
      "type": "number",
      "minimum": 0,
      "maximum": 100
    },
    "timing": {
      "type": "string",
      "enum": [
        "start",
        "end"
      ]
    }
  },
  "required": [
    "initial",
    "target",
    "months",
    "annualRate",
    "timing"
  ],
  "additionalProperties": false
}

Output schema

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "tool": {
      "type": "string"
    },
    "pageUrl": {
      "type": "string"
    },
    "formula": {
      "type": "string"
    },
    "notes": {
      "type": "string"
    },
    "policyReviewed": {
      "type": "string"
    },
    "sources": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string"
          },
          "url": {
            "type": "string"
          }
        },
        "required": [
          "title",
          "url"
        ],
        "additionalProperties": false
      }
    },
    "result": {
      "oneOf": [
        {
          "type": "object",
          "properties": {
            "status": {
              "type": "string",
              "const": "estimate"
            },
            "values": {
              "type": "object",
              "properties": {
                "target": {
                  "type": "number"
                },
                "monthly": {
                  "type": "number"
                },
                "contributed": {
                  "type": "number"
                },
                "interest": {
                  "type": "number"
                },
                "balance": {
                  "type": "number"
                }
              },
              "required": [
                "target",
                "monthly",
                "contributed",
                "interest",
                "balance"
              ],
              "additionalProperties": false
            },
            "notes": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "schedule": {
              "maxItems": 600,
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "period": {
                    "type": "integer",
                    "minimum": -9007199254740991,
                    "maximum": 9007199254740991
                  },
                  "opening": {
                    "type": "number"
                  },
                  "principal": {
                    "type": "number"
                  },
                  "interest": {
                    "type": "number"
                  },
                  "payment": {
                    "type": "number"
                  },
                  "closing": {
                    "type": "number"
                  }
                },
                "required": [
                  "period",
                  "opening",
                  "principal",
                  "interest",
                  "payment",
                  "closing"
                ],
                "additionalProperties": false
              }
            }
          },
          "required": [
            "status",
            "values",
            "notes",
            "schedule"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "status": {
              "type": "string",
              "const": "needs_review"
            },
            "values": {
              "type": "object",
              "properties": {
                "target": {
                  "type": "number"
                },
                "monthly": {
                  "type": "number"
                },
                "contributed": {
                  "type": "number"
                },
                "interest": {
                  "type": "number"
                },
                "balance": {
                  "type": "number"
                }
              },
              "additionalProperties": false
            },
            "notes": {
              "minItems": 1,
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "schedule": {
              "maxItems": 600,
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "period": {
                    "type": "integer",
                    "minimum": -9007199254740991,
                    "maximum": 9007199254740991
                  },
                  "opening": {
                    "type": "number"
                  },
                  "principal": {
                    "type": "number"
                  },
                  "interest": {
                    "type": "number"
                  },
                  "payment": {
                    "type": "number"
                  },
                  "closing": {
                    "type": "number"
                  }
                },
                "required": [
                  "period",
                  "opening",
                  "principal",
                  "interest",
                  "payment",
                  "closing"
                ],
                "additionalProperties": false
              }
            }
          },
          "required": [
            "status",
            "values",
            "notes",
            "schedule"
          ],
          "additionalProperties": false
        }
      ]
    }
  },
  "required": [
    "tool",
    "pageUrl",
    "formula",
    "notes",
    "policyReviewed",
    "sources",
    "result"
  ],
  "additionalProperties": false
}

Tính quỹ dự phòng theo chi phí sinh hoạt

calculate_emergency_fund · Mở công cụ trên web

Mục tiêu = chi thiết yếu × số tháng dự phòng. Còn thiếu = max(0, mục tiêu − tiền sẵn có). Góp mỗi tháng = làm tròn lên(còn thiếu / số tháng tích lũy). Không tính lãi.

{
  "name": "calculate_emergency_fund",
  "arguments": {
    "expenses": 10000000,
    "coverageMonths": 6,
    "available": 15000000,
    "savingMonths": 12
  }
}
Tham số, giới hạn và cấu trúc kết quả

Tính mục tiêu quỹ dự phòng, số tiền còn thiếu và khoản cần góp mỗi tháng theo chi thiết yếu, số tháng muốn bảo đảm và tiền sẵn có. Scope: Công cụ lập ngân sách cá nhân, không phải điều kiện hưởng trợ cấp, quy định pháp luật hoặc đánh giá tín dụng. Số tháng dự phòng do bạn chọn, không mặc định phù hợp với mọi gia đình. Method/scope reviewed 2026-11-01. Money in VND; numeric inputs are estimates, not verified records. Read notes and sources. No approvals, transactions or forecasts.

Input schema

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "expenses": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 1000000000000
    },
    "coverageMonths": {
      "type": "integer",
      "minimum": 1,
      "maximum": 60
    },
    "available": {
      "type": "integer",
      "minimum": 0,
      "maximum": 1000000000000
    },
    "savingMonths": {
      "type": "integer",
      "minimum": 1,
      "maximum": 600
    }
  },
  "required": [
    "expenses",
    "coverageMonths",
    "available",
    "savingMonths"
  ],
  "additionalProperties": false
}

Output schema

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "tool": {
      "type": "string"
    },
    "pageUrl": {
      "type": "string"
    },
    "formula": {
      "type": "string"
    },
    "notes": {
      "type": "string"
    },
    "policyReviewed": {
      "type": "string"
    },
    "sources": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string"
          },
          "url": {
            "type": "string"
          }
        },
        "required": [
          "title",
          "url"
        ],
        "additionalProperties": false
      }
    },
    "result": {
      "oneOf": [
        {
          "type": "object",
          "properties": {
            "status": {
              "type": "string",
              "const": "estimate"
            },
            "values": {
              "type": "object",
              "properties": {
                "expenses": {
                  "type": "number"
                },
                "target": {
                  "type": "number"
                },
                "available": {
                  "type": "number"
                },
                "gap": {
                  "type": "number"
                },
                "monthly": {
                  "type": "number"
                },
                "planned": {
                  "type": "number"
                }
              },
              "required": [
                "expenses",
                "target",
                "available",
                "gap",
                "monthly",
                "planned"
              ],
              "additionalProperties": false
            },
            "notes": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "schedule": {
              "maxItems": 600,
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "period": {
                    "type": "integer",
                    "minimum": -9007199254740991,
                    "maximum": 9007199254740991
                  },
                  "opening": {
                    "type": "number"
                  },
                  "principal": {
                    "type": "number"
                  },
                  "interest": {
                    "type": "number"
                  },
                  "payment": {
                    "type": "number"
                  },
                  "closing": {
                    "type": "number"
                  }
                },
                "required": [
                  "period",
                  "opening",
                  "principal",
                  "interest",
                  "payment",
                  "closing"
                ],
                "additionalProperties": false
              }
            }
          },
          "required": [
            "status",
            "values",
            "notes",
            "schedule"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "status": {
              "type": "string",
              "const": "needs_review"
            },
            "values": {
              "type": "object",
              "properties": {
                "expenses": {
                  "type": "number"
                },
                "target": {
                  "type": "number"
                },
                "available": {
                  "type": "number"
                },
                "gap": {
                  "type": "number"
                },
                "monthly": {
                  "type": "number"
                },
                "planned": {
                  "type": "number"
                }
              },
              "additionalProperties": false
            },
            "notes": {
              "minItems": 1,
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "schedule": {
              "maxItems": 600,
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "period": {
                    "type": "integer",
                    "minimum": -9007199254740991,
                    "maximum": 9007199254740991
                  },
                  "opening": {
                    "type": "number"
                  },
                  "principal": {
                    "type": "number"
                  },
                  "interest": {
                    "type": "number"
                  },
                  "payment": {
                    "type": "number"
                  },
                  "closing": {
                    "type": "number"
                  }
                },
                "required": [
                  "period",
                  "opening",
                  "principal",
                  "interest",
                  "payment",
                  "closing"
                ],
                "additionalProperties": false
              }
            }
          },
          "required": [
            "status",
            "values",
            "notes",
            "schedule"
          ],
          "additionalProperties": false
        }
      ]
    }
  },
  "required": [
    "tool",
    "pageUrl",
    "formula",
    "notes",
    "policyReviewed",
    "sources",
    "result"
  ],
  "additionalProperties": false
}

So sánh lương trước và sau tăng lương 2026

compare_vn_salary · Mở công cụ trên web

Net = Gross − bảo hiểm cá nhân − thuế TNCN. Chênh lệch Net = chênh lệch Gross − chênh lệch bảo hiểm − chênh lệch thuế. Căn cứ bảo hiểm bằng Gross trước trần.

{
  "name": "compare_vn_salary",
  "arguments": {
    "beforeGross": 30000000,
    "afterGross": 35000000,
    "month": "2026-11",
    "region": "I",
    "dependents": 0,
    "otherDeduction": 0
  }
}
Tham số, giới hạn và cấu trúc kết quả

So sánh hai mức Gross trong cùng tháng: lương Net, thuế TNCN, bảo hiểm và chênh lệch thực nhận. Có ví dụ tăng từ 30 lên 35 triệu. Scope: Hai mức lương của lao động Việt Nam cư trú, hợp đồng từ 3 tháng, tham gia đủ ba bảo hiểm. Cùng tháng chính sách 2026, cùng vùng và giảm trừ; căn cứ bảo hiểm bằng Gross trước trần. Không dùng cho mức đóng bảo hiểm riêng hoặc quyết toán năm. Method/scope reviewed 2026-11-02. Money in VND; numeric inputs are estimates, not verified records. Read notes and sources. No approvals, transactions or forecasts.

Input schema

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "beforeGross": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 10000000000
    },
    "afterGross": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 10000000000
    },
    "month": {
      "type": "string",
      "pattern": "^2026-(0[1-9]|1[0-2])$"
    },
    "region": {
      "type": "string",
      "enum": [
        "I",
        "II",
        "III",
        "IV"
      ]
    },
    "dependents": {
      "type": "integer",
      "minimum": 0,
      "maximum": 20
    },
    "otherDeduction": {
      "type": "integer",
      "minimum": 0,
      "maximum": 10000000000
    }
  },
  "required": [
    "beforeGross",
    "afterGross",
    "month",
    "region",
    "dependents",
    "otherDeduction"
  ],
  "additionalProperties": false
}

Output schema

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "tool": {
      "type": "string"
    },
    "pageUrl": {
      "type": "string"
    },
    "formula": {
      "type": "string"
    },
    "notes": {
      "type": "string"
    },
    "policyReviewed": {
      "type": "string"
    },
    "sources": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string"
          },
          "url": {
            "type": "string"
          }
        },
        "required": [
          "title",
          "url"
        ],
        "additionalProperties": false
      }
    },
    "result": {
      "oneOf": [
        {
          "type": "object",
          "properties": {
            "status": {
              "type": "string",
              "const": "estimate"
            },
            "values": {
              "type": "object",
              "properties": {
                "beforeNet": {
                  "type": "number"
                },
                "afterNet": {
                  "type": "number"
                },
                "netChange": {
                  "type": "number"
                },
                "grossChange": {
                  "type": "number"
                },
                "beforeTax": {
                  "type": "number"
                },
                "afterTax": {
                  "type": "number"
                },
                "taxChange": {
                  "type": "number"
                },
                "beforeInsurance": {
                  "type": "number"
                },
                "afterInsurance": {
                  "type": "number"
                },
                "insuranceChange": {
                  "type": "number"
                }
              },
              "required": [
                "beforeNet",
                "afterNet",
                "netChange",
                "grossChange",
                "beforeTax",
                "afterTax",
                "taxChange",
                "beforeInsurance",
                "afterInsurance",
                "insuranceChange"
              ],
              "additionalProperties": false
            },
            "notes": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "schedule": {
              "maxItems": 600,
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "period": {
                    "type": "integer",
                    "minimum": -9007199254740991,
                    "maximum": 9007199254740991
                  },
                  "opening": {
                    "type": "number"
                  },
                  "principal": {
                    "type": "number"
                  },
                  "interest": {
                    "type": "number"
                  },
                  "payment": {
                    "type": "number"
                  },
                  "closing": {
                    "type": "number"
                  }
                },
                "required": [
                  "period",
                  "opening",
                  "principal",
                  "interest",
                  "payment",
                  "closing"
                ],
                "additionalProperties": false
              }
            }
          },
          "required": [
            "status",
            "values",
            "notes",
            "schedule"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "status": {
              "type": "string",
              "const": "needs_review"
            },
            "values": {
              "type": "object",
              "properties": {
                "beforeNet": {
                  "type": "number"
                },
                "afterNet": {
                  "type": "number"
                },
                "netChange": {
                  "type": "number"
                },
                "grossChange": {
                  "type": "number"
                },
                "beforeTax": {
                  "type": "number"
                },
                "afterTax": {
                  "type": "number"
                },
                "taxChange": {
                  "type": "number"
                },
                "beforeInsurance": {
                  "type": "number"
                },
                "afterInsurance": {
                  "type": "number"
                },
                "insuranceChange": {
                  "type": "number"
                }
              },
              "additionalProperties": false
            },
            "notes": {
              "minItems": 1,
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "schedule": {
              "maxItems": 600,
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "period": {
                    "type": "integer",
                    "minimum": -9007199254740991,
                    "maximum": 9007199254740991
                  },
                  "opening": {
                    "type": "number"
                  },
                  "principal": {
                    "type": "number"
                  },
                  "interest": {
                    "type": "number"
                  },
                  "payment": {
                    "type": "number"
                  },
                  "closing": {
                    "type": "number"
                  }
                },
                "required": [
                  "period",
                  "opening",
                  "principal",
                  "interest",
                  "payment",
                  "closing"
                ],
                "additionalProperties": false
              }
            }
          },
          "required": [
            "status",
            "values",
            "notes",
            "schedule"
          ],
          "additionalProperties": false
        }
      ]
    }
  },
  "required": [
    "tool",
    "pageUrl",
    "formula",
    "notes",
    "policyReviewed",
    "sources",
    "result"
  ],
  "additionalProperties": false
}

So sánh tất toán khoản vay trước hạn

compare_loan_payoff · Mở công cụ trên web

Tất toán ngay = dư nợ + lãi đã phát sinh + phí tất toán. Tiếp tục = dư nợ + lãi đã phát sinh + tổng lãi tương lai. Chênh lệch = tiếp tục − tất toán ngay; không chiết khấu dòng tiền.

{
  "name": "compare_loan_payoff",
  "arguments": {
    "outstanding": 120000000,
    "remainingMonths": 12,
    "annualRate": 12,
    "method": "equal_principal",
    "payoffFee": 2400000,
    "accruedInterest": 0
  }
}
Tham số, giới hạn và cấu trúc kết quả

So sánh số tiền tất toán ngay với tổng gốc và lãi nếu trả tiếp. Nhập dư nợ, thời hạn còn lại, lãi suất, phí tất toán và lãi đã phát sinh. Scope: Tất toán toàn bộ tại đầu kỳ của lịch tính mới, so với các kỳ trả đủ tháng còn lại, lãi suất cố định do bạn nhập. Không tính trả trước một phần, lãi thả nổi, khoản quá hạn hoặc lợi tức của tiền giữ lại; phí không tự lấy từ ngân hàng. Method/scope reviewed 2026-11-02. Money in VND; numeric inputs are estimates, not verified records. Read notes and sources. No approvals, transactions or forecasts.

Input schema

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "outstanding": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 1000000000000
    },
    "remainingMonths": {
      "type": "integer",
      "minimum": 1,
      "maximum": 600
    },
    "annualRate": {
      "type": "number",
      "minimum": 0,
      "maximum": 100
    },
    "method": {
      "type": "string",
      "enum": [
        "annuity",
        "equal_principal"
      ]
    },
    "payoffFee": {
      "type": "integer",
      "minimum": 0,
      "maximum": 1000000000000
    },
    "accruedInterest": {
      "type": "integer",
      "minimum": 0,
      "maximum": 1000000000000
    }
  },
  "required": [
    "outstanding",
    "remainingMonths",
    "annualRate",
    "method",
    "payoffFee",
    "accruedInterest"
  ],
  "additionalProperties": false
}

Output schema

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "tool": {
      "type": "string"
    },
    "pageUrl": {
      "type": "string"
    },
    "formula": {
      "type": "string"
    },
    "notes": {
      "type": "string"
    },
    "policyReviewed": {
      "type": "string"
    },
    "sources": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string"
          },
          "url": {
            "type": "string"
          }
        },
        "required": [
          "title",
          "url"
        ],
        "additionalProperties": false
      }
    },
    "result": {
      "oneOf": [
        {
          "type": "object",
          "properties": {
            "status": {
              "type": "string",
              "const": "estimate"
            },
            "values": {
              "type": "object",
              "properties": {
                "outstanding": {
                  "type": "number"
                },
                "futureInterest": {
                  "type": "number"
                },
                "payoffFee": {
                  "type": "number"
                },
                "accruedInterest": {
                  "type": "number"
                },
                "payNow": {
                  "type": "number"
                },
                "continueTotal": {
                  "type": "number"
                },
                "difference": {
                  "type": "number"
                }
              },
              "required": [
                "outstanding",
                "futureInterest",
                "payoffFee",
                "accruedInterest",
                "payNow",
                "continueTotal",
                "difference"
              ],
              "additionalProperties": false
            },
            "notes": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "schedule": {
              "maxItems": 600,
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "period": {
                    "type": "integer",
                    "minimum": -9007199254740991,
                    "maximum": 9007199254740991
                  },
                  "opening": {
                    "type": "number"
                  },
                  "principal": {
                    "type": "number"
                  },
                  "interest": {
                    "type": "number"
                  },
                  "payment": {
                    "type": "number"
                  },
                  "closing": {
                    "type": "number"
                  }
                },
                "required": [
                  "period",
                  "opening",
                  "principal",
                  "interest",
                  "payment",
                  "closing"
                ],
                "additionalProperties": false
              }
            }
          },
          "required": [
            "status",
            "values",
            "notes",
            "schedule"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "status": {
              "type": "string",
              "const": "needs_review"
            },
            "values": {
              "type": "object",
              "properties": {
                "outstanding": {
                  "type": "number"
                },
                "futureInterest": {
                  "type": "number"
                },
                "payoffFee": {
                  "type": "number"
                },
                "accruedInterest": {
                  "type": "number"
                },
                "payNow": {
                  "type": "number"
                },
                "continueTotal": {
                  "type": "number"
                },
                "difference": {
                  "type": "number"
                }
              },
              "additionalProperties": false
            },
            "notes": {
              "minItems": 1,
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "schedule": {
              "maxItems": 600,
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "period": {
                    "type": "integer",
                    "minimum": -9007199254740991,
                    "maximum": 9007199254740991
                  },
                  "opening": {
                    "type": "number"
                  },
                  "principal": {
                    "type": "number"
                  },
                  "interest": {
                    "type": "number"
                  },
                  "payment": {
                    "type": "number"
                  },
                  "closing": {
                    "type": "number"
                  }
                },
                "required": [
                  "period",
                  "opening",
                  "principal",
                  "interest",
                  "payment",
                  "closing"
                ],
                "additionalProperties": false
              }
            }
          },
          "required": [
            "status",
            "values",
            "notes",
            "schedule"
          ],
          "additionalProperties": false
        }
      ]
    }
  },
  "required": [
    "tool",
    "pageUrl",
    "formula",
    "notes",
    "policyReviewed",
    "sources",
    "result"
  ],
  "additionalProperties": false
}

Tính thuế thu nhập cá nhân 2026 từ tiền lương

calculate_vn_income_tax · Mở công cụ trên web

Giảm trừ tháng = 15.500.000 + số người phụ thuộc × 6.200.000 VND. Các phần thu nhập tính thuế đến 10/30/60/100 triệu và trên 100 triệu chịu thuế lần lượt 5/10/20/30/35%.

{
  "name": "calculate_vn_income_tax",
  "arguments": {
    "income": 30000000,
    "insurance": 3150000,
    "dependents": 0,
    "otherDeduction": 0
  }
}
Tham số, giới hạn và cấu trúc kết quả

Tính thuế TNCN theo 5 bậc năm 2026, giảm trừ gia cảnh và bảo hiểm. Xem thu nhập tính thuế và số thuế ở từng bậc. Scope: Chỉ ước tính thuế tiền lương một tháng năm 2026 cho cá nhân cư trú, hợp đồng từ 3 tháng. Nhập thu nhập chịu thuế sau khi loại các khoản miễn thuế; không dùng cho kinh doanh, chuyển nhượng, không cư trú hoặc quyết toán năm. Method/scope reviewed 2026-10-31. Money in VND; numeric inputs are estimates, not verified records. Read notes and sources. No approvals, transactions or forecasts.

Input schema

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "income": {
      "type": "integer",
      "minimum": 0,
      "maximum": 1000000000000
    },
    "insurance": {
      "type": "integer",
      "minimum": 0,
      "maximum": 1000000000000
    },
    "dependents": {
      "type": "integer",
      "minimum": 0,
      "maximum": 20
    },
    "otherDeduction": {
      "type": "integer",
      "minimum": 0,
      "maximum": 1000000000000
    }
  },
  "required": [
    "income",
    "insurance",
    "dependents",
    "otherDeduction"
  ],
  "additionalProperties": false
}

Output schema

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "tool": {
      "type": "string"
    },
    "pageUrl": {
      "type": "string"
    },
    "formula": {
      "type": "string"
    },
    "notes": {
      "type": "string"
    },
    "policyReviewed": {
      "type": "string"
    },
    "sources": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string"
          },
          "url": {
            "type": "string"
          }
        },
        "required": [
          "title",
          "url"
        ],
        "additionalProperties": false
      }
    },
    "result": {
      "oneOf": [
        {
          "type": "object",
          "properties": {
            "status": {
              "type": "string",
              "const": "estimate"
            },
            "values": {
              "type": "object",
              "properties": {
                "income": {
                  "type": "number"
                },
                "familyDeduction": {
                  "type": "number"
                },
                "insurance": {
                  "type": "number"
                },
                "otherDeduction": {
                  "type": "number"
                },
                "taxable": {
                  "type": "number"
                },
                "tax": {
                  "type": "number"
                },
                "taxBand1": {
                  "type": "number"
                },
                "taxBand2": {
                  "type": "number"
                },
                "taxBand3": {
                  "type": "number"
                },
                "taxBand4": {
                  "type": "number"
                },
                "taxBand5": {
                  "type": "number"
                }
              },
              "required": [
                "income",
                "familyDeduction",
                "insurance",
                "otherDeduction",
                "taxable",
                "tax",
                "taxBand1",
                "taxBand2",
                "taxBand3",
                "taxBand4",
                "taxBand5"
              ],
              "additionalProperties": false
            },
            "notes": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "schedule": {
              "maxItems": 600,
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "period": {
                    "type": "integer",
                    "minimum": -9007199254740991,
                    "maximum": 9007199254740991
                  },
                  "opening": {
                    "type": "number"
                  },
                  "principal": {
                    "type": "number"
                  },
                  "interest": {
                    "type": "number"
                  },
                  "payment": {
                    "type": "number"
                  },
                  "closing": {
                    "type": "number"
                  }
                },
                "required": [
                  "period",
                  "opening",
                  "principal",
                  "interest",
                  "payment",
                  "closing"
                ],
                "additionalProperties": false
              }
            }
          },
          "required": [
            "status",
            "values",
            "notes",
            "schedule"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "status": {
              "type": "string",
              "const": "needs_review"
            },
            "values": {
              "type": "object",
              "properties": {
                "income": {
                  "type": "number"
                },
                "familyDeduction": {
                  "type": "number"
                },
                "insurance": {
                  "type": "number"
                },
                "otherDeduction": {
                  "type": "number"
                },
                "taxable": {
                  "type": "number"
                },
                "tax": {
                  "type": "number"
                },
                "taxBand1": {
                  "type": "number"
                },
                "taxBand2": {
                  "type": "number"
                },
                "taxBand3": {
                  "type": "number"
                },
                "taxBand4": {
                  "type": "number"
                },
                "taxBand5": {
                  "type": "number"
                }
              },
              "additionalProperties": false
            },
            "notes": {
              "minItems": 1,
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "schedule": {
              "maxItems": 600,
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "period": {
                    "type": "integer",
                    "minimum": -9007199254740991,
                    "maximum": 9007199254740991
                  },
                  "opening": {
                    "type": "number"
                  },
                  "principal": {
                    "type": "number"
                  },
                  "interest": {
                    "type": "number"
                  },
                  "payment": {
                    "type": "number"
                  },
                  "closing": {
                    "type": "number"
                  }
                },
                "required": [
                  "period",
                  "opening",
                  "principal",
                  "interest",
                  "payment",
                  "closing"
                ],
                "additionalProperties": false
              }
            }
          },
          "required": [
            "status",
            "values",
            "notes",
            "schedule"
          ],
          "additionalProperties": false
        }
      ]
    }
  },
  "required": [
    "tool",
    "pageUrl",
    "formula",
    "notes",
    "policyReviewed",
    "sources",
    "result"
  ],
  "additionalProperties": false
}

Tính mức đóng BHXH, BHYT, BHTN 2026

calculate_vn_insurance · Mở công cụ trên web

Cá nhân: BHXH 8%, BHYT 1,5%, BHTN 1%. Doanh nghiệp: BHXH 17,5%, BHYT 3%, BHTN 1%. Trần BHXH/BHYT = 20 × tham chiếu; trần BHTN = 20 × tối thiểu vùng.

{
  "name": "calculate_vn_insurance",
  "arguments": {
    "base": 10000000,
    "month": "2026-10",
    "region": "I"
  }
}
Tham số, giới hạn và cấu trúc kết quả

Tách bảo hiểm người lao động và doanh nghiệp, áp trần BHXH/BHYT theo tháng và BHTN theo vùng. Xem từng quỹ và tổng đóng. Scope: Mô hình tỷ lệ thông thường cho lao động Việt Nam tham gia đủ ba bảo hiểm năm 2026; không áp dụng trường hợp nước ngoài, miễn/giảm, tạm dừng hoặc quỹ tai nạn được giảm riêng. Không phải xác nhận nghĩa vụ đóng. Method/scope reviewed 2026-10-31. Money in VND; numeric inputs are estimates, not verified records. Read notes and sources. No approvals, transactions or forecasts.

Input schema

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "base": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 1000000000000
    },
    "month": {
      "type": "string",
      "pattern": "^2026-(0[1-9]|1[0-2])$"
    },
    "region": {
      "type": "string",
      "enum": [
        "I",
        "II",
        "III",
        "IV"
      ]
    }
  },
  "required": [
    "base",
    "month",
    "region"
  ],
  "additionalProperties": false
}

Output schema

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "tool": {
      "type": "string"
    },
    "pageUrl": {
      "type": "string"
    },
    "formula": {
      "type": "string"
    },
    "notes": {
      "type": "string"
    },
    "policyReviewed": {
      "type": "string"
    },
    "sources": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string"
          },
          "url": {
            "type": "string"
          }
        },
        "required": [
          "title",
          "url"
        ],
        "additionalProperties": false
      }
    },
    "result": {
      "oneOf": [
        {
          "type": "object",
          "properties": {
            "status": {
              "type": "string",
              "const": "estimate"
            },
            "values": {
              "type": "object",
              "properties": {
                "base": {
                  "type": "number"
                },
                "socialBase": {
                  "type": "number"
                },
                "unemploymentBase": {
                  "type": "number"
                },
                "employeeSocial": {
                  "type": "number"
                },
                "employeeHealth": {
                  "type": "number"
                },
                "employeeUnemployment": {
                  "type": "number"
                },
                "employeeTotal": {
                  "type": "number"
                },
                "employerPension": {
                  "type": "number"
                },
                "employerSickness": {
                  "type": "number"
                },
                "employerAccident": {
                  "type": "number"
                },
                "employerHealth": {
                  "type": "number"
                },
                "employerUnemployment": {
                  "type": "number"
                },
                "employerTotal": {
                  "type": "number"
                },
                "total": {
                  "type": "number"
                }
              },
              "required": [
                "base",
                "socialBase",
                "unemploymentBase",
                "employeeSocial",
                "employeeHealth",
                "employeeUnemployment",
                "employeeTotal",
                "employerPension",
                "employerSickness",
                "employerAccident",
                "employerHealth",
                "employerUnemployment",
                "employerTotal",
                "total"
              ],
              "additionalProperties": false
            },
            "notes": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "schedule": {
              "maxItems": 600,
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "period": {
                    "type": "integer",
                    "minimum": -9007199254740991,
                    "maximum": 9007199254740991
                  },
                  "opening": {
                    "type": "number"
                  },
                  "principal": {
                    "type": "number"
                  },
                  "interest": {
                    "type": "number"
                  },
                  "payment": {
                    "type": "number"
                  },
                  "closing": {
                    "type": "number"
                  }
                },
                "required": [
                  "period",
                  "opening",
                  "principal",
                  "interest",
                  "payment",
                  "closing"
                ],
                "additionalProperties": false
              }
            }
          },
          "required": [
            "status",
            "values",
            "notes",
            "schedule"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "status": {
              "type": "string",
              "const": "needs_review"
            },
            "values": {
              "type": "object",
              "properties": {
                "base": {
                  "type": "number"
                },
                "socialBase": {
                  "type": "number"
                },
                "unemploymentBase": {
                  "type": "number"
                },
                "employeeSocial": {
                  "type": "number"
                },
                "employeeHealth": {
                  "type": "number"
                },
                "employeeUnemployment": {
                  "type": "number"
                },
                "employeeTotal": {
                  "type": "number"
                },
                "employerPension": {
                  "type": "number"
                },
                "employerSickness": {
                  "type": "number"
                },
                "employerAccident": {
                  "type": "number"
                },
                "employerHealth": {
                  "type": "number"
                },
                "employerUnemployment": {
                  "type": "number"
                },
                "employerTotal": {
                  "type": "number"
                },
                "total": {
                  "type": "number"
                }
              },
              "additionalProperties": false
            },
            "notes": {
              "minItems": 1,
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "schedule": {
              "maxItems": 600,
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "period": {
                    "type": "integer",
                    "minimum": -9007199254740991,
                    "maximum": 9007199254740991
                  },
                  "opening": {
                    "type": "number"
                  },
                  "principal": {
                    "type": "number"
                  },
                  "interest": {
                    "type": "number"
                  },
                  "payment": {
                    "type": "number"
                  },
                  "closing": {
                    "type": "number"
                  }
                },
                "required": [
                  "period",
                  "opening",
                  "principal",
                  "interest",
                  "payment",
                  "closing"
                ],
                "additionalProperties": false
              }
            }
          },
          "required": [
            "status",
            "values",
            "notes",
            "schedule"
          ],
          "additionalProperties": false
        }
      ]
    }
  },
  "required": [
    "tool",
    "pageUrl",
    "formula",
    "notes",
    "policyReviewed",
    "sources",
    "result"
  ],
  "additionalProperties": false
}

Kiểm tra sơ bộ điều kiện mua nhà ở xã hội 2026

screen_vn_social_housing · Mở công cụ trên web

Ngưỡng thu nhập tham chiếu: độc thân 25 triệu, độc thân nuôi con chưa thành niên 35 triệu, vợ chồng tổng 50 triệu VND/tháng. Dùng bình quân thực nhận 12 tháng; nhà đang sở hữu xét diện tích dưới 15 m²/người theo đúng thành viên được tính.

{
  "name": "screen_vn_social_housing",
  "arguments": {
    "group": "employee",
    "family": "married",
    "income": 40000000,
    "thresholdMode": "reference",
    "localThreshold": 0,
    "housing": "none",
    "area": 0,
    "residents": 1,
    "priorSupport": "no"
  }
}
Tham số, giới hạn và cấu trúc kết quả

Đối chiếu thu nhập 12 tháng, tình trạng nhà ở và nhóm đối tượng. Chuẩn bị hồ sơ nhà ở xã hội theo ngưỡng tham chiếu và quy định địa phương. Scope: Đối chiếu sơ bộ quy định đã hợp nhất năm 2026 cho nhóm thu nhập thấp đô thị, người lao động và cán bộ/công chức/viên chức (khoản 5, 6, 8 Điều 76). Luôn cần xác nhận văn bản địa phương và hồ sơ; không áp dụng ngưỡng này cho mọi nhóm. Method/scope reviewed 2026-10-31. Money in VND; numeric inputs are estimates, not verified records. Read notes and sources. No approvals, transactions or forecasts.

Input schema

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "group": {
      "type": "string",
      "enum": [
        "urban_low_income",
        "employee",
        "civil_servant",
        "other"
      ]
    },
    "family": {
      "type": "string",
      "enum": [
        "single",
        "single_minor",
        "married"
      ]
    },
    "income": {
      "type": "integer",
      "minimum": 0,
      "maximum": 1000000000000
    },
    "thresholdMode": {
      "type": "string",
      "enum": [
        "reference",
        "confirmed"
      ]
    },
    "localThreshold": {
      "type": "integer",
      "minimum": 0,
      "maximum": 1000000000000
    },
    "housing": {
      "type": "string",
      "enum": [
        "none",
        "owned",
        "unknown"
      ]
    },
    "area": {
      "type": "number",
      "minimum": 0,
      "maximum": 1000000
    },
    "residents": {
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    },
    "priorSupport": {
      "type": "string",
      "enum": [
        "no",
        "yes",
        "unknown"
      ]
    }
  },
  "required": [
    "group",
    "family",
    "income",
    "thresholdMode",
    "localThreshold",
    "housing",
    "area",
    "residents",
    "priorSupport"
  ],
  "additionalProperties": false
}

Output schema

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "tool": {
      "type": "string"
    },
    "pageUrl": {
      "type": "string"
    },
    "formula": {
      "type": "string"
    },
    "notes": {
      "type": "string"
    },
    "policyReviewed": {
      "type": "string"
    },
    "sources": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string"
          },
          "url": {
            "type": "string"
          }
        },
        "required": [
          "title",
          "url"
        ],
        "additionalProperties": false
      }
    },
    "result": {
      "oneOf": [
        {
          "type": "object",
          "properties": {
            "status": {
              "type": "string",
              "const": "estimate"
            },
            "values": {
              "type": "object",
              "properties": {
                "income": {
                  "type": "number"
                },
                "referenceThreshold": {
                  "type": "number"
                },
                "comparisonThreshold": {
                  "type": "number"
                },
                "incomeDifference": {
                  "type": "number"
                },
                "areaPerPerson": {
                  "type": "number"
                }
              },
              "required": [
                "income",
                "referenceThreshold",
                "comparisonThreshold",
                "incomeDifference",
                "areaPerPerson"
              ],
              "additionalProperties": false
            },
            "notes": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "schedule": {
              "maxItems": 600,
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "period": {
                    "type": "integer",
                    "minimum": -9007199254740991,
                    "maximum": 9007199254740991
                  },
                  "opening": {
                    "type": "number"
                  },
                  "principal": {
                    "type": "number"
                  },
                  "interest": {
                    "type": "number"
                  },
                  "payment": {
                    "type": "number"
                  },
                  "closing": {
                    "type": "number"
                  }
                },
                "required": [
                  "period",
                  "opening",
                  "principal",
                  "interest",
                  "payment",
                  "closing"
                ],
                "additionalProperties": false
              }
            }
          },
          "required": [
            "status",
            "values",
            "notes",
            "schedule"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "status": {
              "type": "string",
              "const": "needs_review"
            },
            "values": {
              "type": "object",
              "properties": {
                "income": {
                  "type": "number"
                },
                "referenceThreshold": {
                  "type": "number"
                },
                "comparisonThreshold": {
                  "type": "number"
                },
                "incomeDifference": {
                  "type": "number"
                },
                "areaPerPerson": {
                  "type": "number"
                }
              },
              "additionalProperties": false
            },
            "notes": {
              "minItems": 1,
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "schedule": {
              "maxItems": 600,
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "period": {
                    "type": "integer",
                    "minimum": -9007199254740991,
                    "maximum": 9007199254740991
                  },
                  "opening": {
                    "type": "number"
                  },
                  "principal": {
                    "type": "number"
                  },
                  "interest": {
                    "type": "number"
                  },
                  "payment": {
                    "type": "number"
                  },
                  "closing": {
                    "type": "number"
                  }
                },
                "required": [
                  "period",
                  "opening",
                  "principal",
                  "interest",
                  "payment",
                  "closing"
                ],
                "additionalProperties": false
              }
            }
          },
          "required": [
            "status",
            "values",
            "notes",
            "schedule"
          ],
          "additionalProperties": false
        }
      ]
    }
  },
  "required": [
    "tool",
    "pageUrl",
    "formula",
    "notes",
    "policyReviewed",
    "sources",
    "result"
  ],
  "additionalProperties": false
}

Tính trợ cấp thất nghiệp 2026

calculate_vn_unemployment · Mở công cụ trên web

Trợ cấp tháng = min(60% × bình quân 6 tháng, 5 × tối thiểu vùng). Đủ 12–36 tháng đóng được 3 tháng hưởng; sau đó mỗi 12 tháng thêm được 1 tháng, tối đa 12.

{
  "name": "calculate_vn_unemployment",
  "arguments": {
    "lastMonth": "2026-10",
    "region": "I",
    "averageWage": 10000000,
    "unusedMonths": 48,
    "recentMonths": 24,
    "contract": "other",
    "termination": "yes",
    "filedInTime": "yes",
    "waiting": "yes"
  }
}
Tham số, giới hạn và cấu trúc kết quả

Ước tính trợ cấp thất nghiệp theo bình quân lương đóng BHTN, số tháng chưa hưởng và trần vùng. Kiểm tra các điều kiện trước khi tính. Scope: Chỉ tính hồ sơ có tháng đóng BHTN cuối trong năm 2026. Người dùng tự xác nhận điều kiện chấm dứt việc làm, thời gian đóng, thời hạn nộp và thời gian chờ. Không thay quyết định hưởng hoặc tính tiền bảo lưu chính thức. Method/scope reviewed 2026-10-31. Money in VND; numeric inputs are estimates, not verified records. Read notes and sources. No approvals, transactions or forecasts.

Input schema

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "lastMonth": {
      "type": "string",
      "pattern": "^2026-(0[1-9]|1[0-2])$"
    },
    "region": {
      "type": "string",
      "enum": [
        "I",
        "II",
        "III",
        "IV"
      ]
    },
    "averageWage": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 106200000
    },
    "unusedMonths": {
      "type": "integer",
      "minimum": 0,
      "maximum": 600
    },
    "recentMonths": {
      "type": "integer",
      "minimum": 0,
      "maximum": 36
    },
    "contract": {
      "type": "string",
      "enum": [
        "short",
        "other"
      ]
    },
    "termination": {
      "type": "string",
      "enum": [
        "yes",
        "no",
        "unknown"
      ]
    },
    "filedInTime": {
      "type": "string",
      "enum": [
        "yes",
        "no",
        "unknown"
      ]
    },
    "waiting": {
      "type": "string",
      "enum": [
        "yes",
        "no",
        "unknown"
      ]
    }
  },
  "required": [
    "lastMonth",
    "region",
    "averageWage",
    "unusedMonths",
    "recentMonths",
    "contract",
    "termination",
    "filedInTime",
    "waiting"
  ],
  "additionalProperties": false
}

Output schema

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "tool": {
      "type": "string"
    },
    "pageUrl": {
      "type": "string"
    },
    "formula": {
      "type": "string"
    },
    "notes": {
      "type": "string"
    },
    "policyReviewed": {
      "type": "string"
    },
    "sources": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string"
          },
          "url": {
            "type": "string"
          }
        },
        "required": [
          "title",
          "url"
        ],
        "additionalProperties": false
      }
    },
    "result": {
      "oneOf": [
        {
          "type": "object",
          "properties": {
            "status": {
              "type": "string",
              "const": "estimate"
            },
            "values": {
              "type": "object",
              "properties": {
                "averageWage": {
                  "type": "number"
                },
                "cap": {
                  "type": "number"
                },
                "monthly": {
                  "type": "number"
                },
                "months": {
                  "type": "number"
                },
                "total": {
                  "type": "number"
                }
              },
              "required": [
                "averageWage",
                "cap",
                "monthly",
                "months",
                "total"
              ],
              "additionalProperties": false
            },
            "notes": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "schedule": {
              "maxItems": 600,
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "period": {
                    "type": "integer",
                    "minimum": -9007199254740991,
                    "maximum": 9007199254740991
                  },
                  "opening": {
                    "type": "number"
                  },
                  "principal": {
                    "type": "number"
                  },
                  "interest": {
                    "type": "number"
                  },
                  "payment": {
                    "type": "number"
                  },
                  "closing": {
                    "type": "number"
                  }
                },
                "required": [
                  "period",
                  "opening",
                  "principal",
                  "interest",
                  "payment",
                  "closing"
                ],
                "additionalProperties": false
              }
            }
          },
          "required": [
            "status",
            "values",
            "notes",
            "schedule"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "status": {
              "type": "string",
              "const": "needs_review"
            },
            "values": {
              "type": "object",
              "properties": {
                "averageWage": {
                  "type": "number"
                },
                "cap": {
                  "type": "number"
                },
                "monthly": {
                  "type": "number"
                },
                "months": {
                  "type": "number"
                },
                "total": {
                  "type": "number"
                }
              },
              "additionalProperties": false
            },
            "notes": {
              "minItems": 1,
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "schedule": {
              "maxItems": 600,
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "period": {
                    "type": "integer",
                    "minimum": -9007199254740991,
                    "maximum": 9007199254740991
                  },
                  "opening": {
                    "type": "number"
                  },
                  "principal": {
                    "type": "number"
                  },
                  "interest": {
                    "type": "number"
                  },
                  "payment": {
                    "type": "number"
                  },
                  "closing": {
                    "type": "number"
                  }
                },
                "required": [
                  "period",
                  "opening",
                  "principal",
                  "interest",
                  "payment",
                  "closing"
                ],
                "additionalProperties": false
              }
            }
          },
          "required": [
            "status",
            "values",
            "notes",
            "schedule"
          ],
          "additionalProperties": false
        }
      ]
    }
  },
  "required": [
    "tool",
    "pageUrl",
    "formula",
    "notes",
    "policyReviewed",
    "sources",
    "result"
  ],
  "additionalProperties": false
}

Tính trợ cấp thai sản 2026 cho mẹ sinh một con

calculate_vn_maternity · Mở công cụ trên web

Trợ cấp theo thời gian nghỉ = bình quân lương đóng 6 tháng × số tháng hưởng. Trợ cấp một lần cho một con = 2 × tham chiếu tháng sinh. Tổng = hai phần trên.

{
  "name": "calculate_vn_maternity",
  "arguments": {
    "birthMonth": "2026-10",
    "averageWage": 10000000,
    "paidMonths12": 6,
    "existingChildren": 1,
    "caseType": "single",
    "recordsConfirmed": "yes"
  }
}
Tham số, giới hạn và cấu trúc kết quả

Ước tính trợ cấp tháng, tổng thời gian nghỉ và trợ cấp một lần; phân biệt tháng sinh và quy định sinh con thứ hai từ tháng 7/2026. Scope: Mô hình mẹ sinh một con trong năm 2026, mẹ và con còn sống, theo nhánh thông thường đủ 6 tháng đóng BHXH bắt buộc trong 12 tháng trước sinh. Trường hợp nhiều con, dưỡng thai, điều trị vô sinh, nhận nuôi, mang thai hộ hoặc quyền lợi của cha cần tính riêng. Method/scope reviewed 2026-10-31. Money in VND; numeric inputs are estimates, not verified records. Read notes and sources. No approvals, transactions or forecasts.

Input schema

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "birthMonth": {
      "type": "string",
      "pattern": "^2026-(0[1-9]|1[0-2])$"
    },
    "averageWage": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 50600000
    },
    "paidMonths12": {
      "type": "integer",
      "minimum": 0,
      "maximum": 12
    },
    "existingChildren": {
      "type": "integer",
      "minimum": 0,
      "maximum": 20
    },
    "caseType": {
      "type": "string",
      "enum": [
        "single",
        "other"
      ]
    },
    "recordsConfirmed": {
      "type": "string",
      "enum": [
        "yes",
        "no",
        "unknown"
      ]
    }
  },
  "required": [
    "birthMonth",
    "averageWage",
    "paidMonths12",
    "existingChildren",
    "caseType",
    "recordsConfirmed"
  ],
  "additionalProperties": false
}

Output schema

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "tool": {
      "type": "string"
    },
    "pageUrl": {
      "type": "string"
    },
    "formula": {
      "type": "string"
    },
    "notes": {
      "type": "string"
    },
    "policyReviewed": {
      "type": "string"
    },
    "sources": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string"
          },
          "url": {
            "type": "string"
          }
        },
        "required": [
          "title",
          "url"
        ],
        "additionalProperties": false
      }
    },
    "result": {
      "oneOf": [
        {
          "type": "object",
          "properties": {
            "status": {
              "type": "string",
              "const": "estimate"
            },
            "values": {
              "type": "object",
              "properties": {
                "monthly": {
                  "type": "number"
                },
                "months": {
                  "type": "number"
                },
                "leaveBenefit": {
                  "type": "number"
                },
                "reference": {
                  "type": "number"
                },
                "lumpSum": {
                  "type": "number"
                },
                "total": {
                  "type": "number"
                }
              },
              "required": [
                "monthly",
                "months",
                "leaveBenefit",
                "reference",
                "lumpSum",
                "total"
              ],
              "additionalProperties": false
            },
            "notes": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "schedule": {
              "maxItems": 600,
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "period": {
                    "type": "integer",
                    "minimum": -9007199254740991,
                    "maximum": 9007199254740991
                  },
                  "opening": {
                    "type": "number"
                  },
                  "principal": {
                    "type": "number"
                  },
                  "interest": {
                    "type": "number"
                  },
                  "payment": {
                    "type": "number"
                  },
                  "closing": {
                    "type": "number"
                  }
                },
                "required": [
                  "period",
                  "opening",
                  "principal",
                  "interest",
                  "payment",
                  "closing"
                ],
                "additionalProperties": false
              }
            }
          },
          "required": [
            "status",
            "values",
            "notes",
            "schedule"
          ],
          "additionalProperties": false
        },
        {
          "type": "object",
          "properties": {
            "status": {
              "type": "string",
              "const": "needs_review"
            },
            "values": {
              "type": "object",
              "properties": {
                "monthly": {
                  "type": "number"
                },
                "months": {
                  "type": "number"
                },
                "leaveBenefit": {
                  "type": "number"
                },
                "reference": {
                  "type": "number"
                },
                "lumpSum": {
                  "type": "number"
                },
                "total": {
                  "type": "number"
                }
              },
              "additionalProperties": false
            },
            "notes": {
              "minItems": 1,
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "schedule": {
              "maxItems": 600,
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "period": {
                    "type": "integer",
                    "minimum": -9007199254740991,
                    "maximum": 9007199254740991
                  },
                  "opening": {
                    "type": "number"
                  },
                  "principal": {
                    "type": "number"
                  },
                  "interest": {
                    "type": "number"
                  },
                  "payment": {
                    "type": "number"
                  },
                  "closing": {
                    "type": "number"
                  }
                },
                "required": [
                  "period",
                  "opening",
                  "principal",
                  "interest",
                  "payment",
                  "closing"
                ],
                "additionalProperties": false
              }
            }
          },
          "required": [
            "status",
            "values",
            "notes",
            "schedule"
          ],
          "additionalProperties": false
        }
      ]
    }
  },
  "required": [
    "tool",
    "pageUrl",
    "formula",
    "notes",
    "policyReviewed",
    "sources",
    "result"
  ],
  "additionalProperties": false
}

Dữ liệu gửi đến máy chủ

Qua MCP, số tiền và văn bản trong tham số được gửi đến máy chủ để xử lý. Ứng dụng không lưu tham số hoặc kết quả vào cơ sở dữ liệu và không ghi chúng trong nhật ký công cụ; nhật ký chỉ ghi tên công cụ, thành công/thất bại và thời gian xử lý. Không gửi mật khẩu, khóa bí mật hay dữ liệu cá nhân. Ứng dụng AI bạn dùng có chính sách lưu hội thoại riêng.

Mỗi yêu cầu tối đa 64 KiB, một thông điệp JSON-RPC; công cụ đếm văn bản tối đa 10.000 đơn vị mã UTF-16. Tham số không hợp lệ trả lỗi; công cụ không sửa ngầm đơn vị hoặc tỷ giá thiếu. Client trong trình duyệt cần Origin được cho phép; các client máy chủ thường không gửi Origin.

Quyền riêng tư · Phương pháp và công thức · Liên hệ khi gặp lỗi kết nối

Tài nguyên cho AI

tracuu247://tools/catalog cung cấp danh mục, schema, ví dụ và trang hướng dẫn; tracuu247://guides/calculation giải thích công thức và giới hạn. Đọc bằng resources/read trong client MCP.

Đặc tả kết nối: MCP Streamable HTTP.

Câu hỏi thường gặp

MCP là gì và khác gì mở máy tính trên web?

MCP (Model Context Protocol) cho phép ứng dụng AI gọi công cụ có tham số và kết quả xác định. Trên web, bạn tự nhập và tính trong trình duyệt; qua MCP, AI gửi tham số đến máy chủ Tra Cứu 247 để tính.

MCP có tự lấy giá vàng hoặc tỷ giá mới nhất không?

Ba công cụ get_gold_prices, get_exchange_rates và get_gold_price_changes đọc bản ghi thật đã lưu, kèm nguồn, ngày và trạng thái cũ; không lấy mới theo yêu cầu. Máy tính vẫn dùng giá do bên gọi cung cấp, ghi caller_supplied và marketQuote: false. Ví dụ tính không phải báo giá.

Có cần tài khoản hay khóa API không?

Không cần tài khoản hoặc khóa API cho các công cụ công khai hiện tại. Giới hạn 60 yêu cầu mỗi phút theo địa chỉ mạng và 600 yêu cầu mỗi phút cho toàn dịch vụ; khi vượt giới hạn nhận HTTP 429 và Retry-After.

AI có tự động biết hoặc kết nối với công cụ này không?

Không. Bạn cần thêm URL MCP vào ứng dụng AI có hỗ trợ máy chủ Streamable HTTP từ xa. Khả năng kết nối tùy ứng dụng; việc công khai công cụ không bảo đảm AI sẽ tự tìm thấy hoặc trích dẫn trang.

Kết quả chỉ để tra cứu. Vui lòng đối chiếu thông báo chính thức của đơn vị công bố.