Server definition
- Hash
- sha256:d82ebb9bb9d52c42d91471aaa08f0fcdb2d9ab3a43227991df97b35cbd28fb26
- What it is
- What a remote MCP server returned when asked what it offers: 16 tools
The blob, as servednamed by its sha256
{
"instructions": "Voluntary Health Insurance Scheme (VHIS) plans certified in Hong Kong, priced from the insurers' own\npublished premium schedules and read from their own Benefit Schedules and Terms and Benefits.\n\nStart with find_plans: people decide on coverage and price, and it ranks on both, returning three explained picks.\nOn the public server the open tier covers coverage, plan wording, the filed rate record and those three picks; the\nranked market table, the plain price list and comparison need a free key. The adviser hand-off is open to\neveryone: a person who asks to be put in touch should never be stopped by a key.\nprice_plans is the plain price list when someone only wants the cheapest. plan_coverage says what one plan pays,\nsearch_plan_terms quotes the wording, premium_history and insurer_increases give the filed rate record.\ntreatment_cost says what a procedure actually bills in each private hospital and what a plan pays of it.\n\nRules that matter: quote only figures a tool returned, never invent a premium, a benefit or an insurer, and if a tool\nreturns nothing say so. Premiums are annual, in the plan currency, excluding the Insurance Authority levy. Rate\nhistory is a track record, never a forecast. Do not tell anyone whether they will be accepted or which plan to buy;\nunderwriting is decided at issue and the choice is theirs.",
"tools": [
{
"description": "Curated notes from licensed advisers and the scheme rules: how underwriting works, what usually happens with\n common conditions, switching, claims practice, tax. Guidance, not plan terms.",
"inputSchema": {
"properties": {
"brand": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Brand"
},
"question": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Question"
},
"topic": {
"anyOf": [
{
"pattern": "^(underwriting|claims|scheme|insurer|renewal)$",
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Topic"
}
},
"title": "adviser_notesArguments",
"type": "object"
},
"name": "adviser_notes",
"outputSchema": {
"additionalProperties": true,
"title": "adviser_notesDictOutput",
"type": "object"
}
},
{
"description": "Side by side on what actually differs: premium now and at 65, next-year range, deductible, room class, limits,\n area and each insurer's rate record. Use it for \"which is better\" and \"why is one cheaper\"; state the trade-off and\n let the person choose. Needs a key on the public server; without one it returns key_required and tells the user where to get one.",
"inputSchema": {
"properties": {
"age": {
"description": "Age last birthday, as the premium schedules state it",
"maximum": 99,
"minimum": 0,
"title": "Age",
"type": "integer"
},
"gender": {
"default": "F",
"description": "M or F, as the schedules rate it",
"pattern": "^[MF]$",
"title": "Gender",
"type": "string"
},
"option_ids": {
"description": "Option ids from an earlier result",
"items": {
"type": "string"
},
"maxItems": 3,
"minItems": 2,
"title": "Option Ids",
"type": "array"
},
"smoker": {
"default": false,
"description": "True only if the person said they smoke; a few plans rate for it",
"title": "Smoker",
"type": "boolean"
}
},
"required": [
"option_ids",
"age"
],
"title": "compare_plansArguments",
"type": "object"
},
"name": "compare_plans",
"outputSchema": {
"additionalProperties": true,
"title": "compare_plansDictOutput",
"type": "object"
}
},
{
"description": "Pass the person to a licensed adviser: saves the enquiry, emails them their shortlist, emails the adviser and\n returns a WhatsApp link and a reference. Only call it once they have given a name and a phone number or email and\n have said they want to be contacted. Never put a health detail in the note; the adviser asks directly. Needs a key on the public server; without one it returns key_required and tells the user where to get one.",
"inputSchema": {
"properties": {
"age": {
"anyOf": [
{
"maximum": 99,
"minimum": 0,
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"title": "Age"
},
"email": {
"anyOf": [
{
"maxLength": 160,
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Email"
},
"gender": {
"anyOf": [
{
"pattern": "^[MF]$",
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Gender"
},
"name": {
"maxLength": 120,
"title": "Name",
"type": "string"
},
"note": {
"anyOf": [
{
"maxLength": 1000,
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "What they asked for. Never any health detail.",
"title": "Note"
},
"option_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "The plan they want to talk about",
"title": "Option Id"
},
"phone": {
"anyOf": [
{
"maxLength": 60,
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Phone"
},
"preferred_contact": {
"anyOf": [
{
"pattern": "^(WhatsApp|Phone|Email)$",
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Preferred Contact"
}
},
"required": [
"name"
],
"title": "create_leadArguments",
"type": "object"
},
"name": "create_lead",
"outputSchema": {
"additionalProperties": true,
"title": "create_leadDictOutput",
"type": "object"
}
},
{
"description": "The premium at age plus one on the current schedule, which is certain unless the insurer refiles, plus a low,\n mid and high range built from this plan's own rate changes since 2021. Needs a key on the public server; without one it returns key_required and tells the user where to get one.",
"inputSchema": {
"properties": {
"age": {
"description": "Age last birthday, as the premium schedules state it",
"maximum": 99,
"minimum": 0,
"title": "Age",
"type": "integer"
},
"gender": {
"default": "F",
"description": "M or F, as the schedules rate it",
"pattern": "^[MF]$",
"title": "Gender",
"type": "string"
},
"option_id": {
"description": "Option id from an earlier result",
"title": "Option Id",
"type": "string"
},
"smoker": {
"default": false,
"description": "True only if the person said they smoke; a few plans rate for it",
"title": "Smoker",
"type": "boolean"
}
},
"required": [
"option_id",
"age"
],
"title": "estimate_renewalArguments",
"type": "object"
},
"name": "estimate_renewal",
"outputSchema": {
"additionalProperties": true,
"title": "estimate_renewalDictOutput",
"type": "object"
}
},
{
"description": "The full record behind a search id: what the plan pays and every term as filed, with the page of each clause.",
"inputSchema": {
"properties": {
"id": {
"description": "An id from search, e.g. F00070-06-000-02",
"title": "Id",
"type": "string"
}
},
"required": [
"id"
],
"title": "fetchArguments",
"type": "object"
},
"name": "fetch",
"outputSchema": {
"additionalProperties": true,
"title": "fetchDictOutput",
"type": "object"
}
},
{
"description": "The plan finder. Ranks every eligible VHIS plan on what it covers and what it really costs, and returns three\n explained picks (lowest cost over the period, best coverage for the money, most comprehensive) with a ranked list\n behind them. Coverage is read from each plan's Benefit Schedule; cost is the published premium for every year from\n this age, and the same again with the insurer's own filed rate changes applied. Age is the only thing it needs;\n pass whatever else the person has actually said.",
"inputSchema": {
"properties": {
"age": {
"description": "Age last birthday, as the premium schedules state it",
"maximum": 99,
"minimum": 0,
"title": "Age",
"type": "integer"
},
"budget_annual": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Most they want to pay in the first year, in the plan currency",
"title": "Budget Annual"
},
"currency": {
"default": "HKD",
"pattern": "^(HKD|USD)$",
"title": "Currency",
"type": "string"
},
"gender": {
"default": "F",
"description": "M or F, as the schedules rate it",
"pattern": "^[MF]$",
"title": "Gender",
"type": "string"
},
"insurers": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"description": "Restrict to these brands, e.g. [\"Bupa\",\"AXA\"]",
"title": "Insurers"
},
"limit": {
"default": 8,
"maximum": 50,
"minimum": 1,
"title": "Limit",
"type": "integer"
},
"max_deductible": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "0 for no deductible; leave empty to allow deductible plans, which cost less",
"title": "Max Deductible"
},
"needs": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"description": "Must-haves they named, any of: full_cover, no_annual_limit, mental_health, cancer, outpatient_general, dental, maternity, chinese_medicine, health_check, emergency_assistance, cash_benefit, second_opinion, home_nursing, deductible_waiver",
"title": "Needs"
},
"priority": {
"default": "balanced",
"description": "What matters most to them",
"pattern": "^(price|balanced|coverage)$",
"title": "Priority",
"type": "string"
},
"room": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Minimum hospital room class wanted: Ward | Semi-private | Private",
"title": "Room"
},
"smoker": {
"default": false,
"description": "True only if the person said they smoke; a few plans rate for it",
"title": "Smoker",
"type": "boolean"
},
"territory": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Where cover is needed: hong_kong | greater_china | asia | worldwide_ex_us | worldwide",
"title": "Territory"
},
"years": {
"default": 10,
"description": "Period the cost is totalled over",
"maximum": 30,
"minimum": 1,
"title": "Years",
"type": "integer"
}
},
"required": [
"age"
],
"title": "find_plansArguments",
"type": "object"
},
"name": "find_plans",
"outputSchema": {
"additionalProperties": true,
"title": "find_plansDictOutput",
"type": "object"
}
},
{
"description": "An insurer's rate record across all its VHIS plans since 2021, by year, alongside the market table with every\n insurer ranked from lowest average annual change to highest.",
"inputSchema": {
"properties": {
"brand": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Brand name, e.g. Bupa, AIA, AXA; omit for the market table",
"title": "Brand"
}
},
"title": "insurer_increasesArguments",
"type": "object"
},
"name": "insurer_increases",
"outputSchema": {
"additionalProperties": true,
"title": "insurer_increasesDictOutput",
"type": "object"
}
},
{
"description": "Every insurer this server can price, with how many certified plans and rate tables each has loaded.",
"inputSchema": {
"properties": {},
"title": "list_insurersArguments",
"type": "object"
},
"name": "list_insurers",
"outputSchema": {
"additionalProperties": true,
"title": "list_insurersDictOutput",
"type": "object"
}
},
{
"description": "What one plan actually pays, item by item from its own Benefit Schedule: full cover or the published cap on\n room and board, hospital charges, surgeon's fee, imaging, cancer treatment and psychiatric care, plus the annual\n and lifetime limits, room class, territory, extras and a coverage score. Use it for \"what does this cover\", \"is\n surgery covered in full\", \"does it include outpatient\".",
"inputSchema": {
"properties": {
"cert": {
"description": "VHIS certification number from an earlier result, e.g. F00070 or F00070-06-000-02",
"title": "Cert",
"type": "string"
}
},
"required": [
"cert"
],
"title": "plan_coverageArguments",
"type": "object"
},
"name": "plan_coverage",
"outputSchema": {
"additionalProperties": true,
"title": "plan_coverageDictOutput",
"type": "object"
}
},
{
"description": "Every option sold under one certification number, with its room class, deductible and area, priced at this age\n when an age is given, plus what the premium becomes every five years to twenty years out.",
"inputSchema": {
"properties": {
"age": {
"anyOf": [
{
"maximum": 99,
"minimum": 0,
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"title": "Age"
},
"cert": {
"description": "VHIS certification number from an earlier result, e.g. F00070 or F00070-06-000-02",
"title": "Cert",
"type": "string"
},
"gender": {
"default": "F",
"description": "M or F, as the schedules rate it",
"pattern": "^[MF]$",
"title": "Gender",
"type": "string"
},
"smoker": {
"default": false,
"description": "True only if the person said they smoke; a few plans rate for it",
"title": "Smoker",
"type": "boolean"
}
},
"required": [
"cert"
],
"title": "plan_optionsArguments",
"type": "object"
},
"name": "plan_options",
"outputSchema": {
"additionalProperties": true,
"title": "plan_optionsDictOutput",
"type": "object"
}
},
{
"description": "The plan's terms as filed with the Health Bureau, field by field with the page each came from: guaranteed\n renewal age, entry ages, pre-existing condition schedule, waiting period, room class and higher-room rule,\n territory, full cover, limits, deductible basis, coinsurance, outpatient, psychiatric, cancer, extras, cancellation,\n switching and exclusions beyond the standard list. Use it for \"does it cover X\", \"what is the rule on Y\" and terms\n comparisons; cite the page.",
"inputSchema": {
"properties": {
"cert": {
"description": "VHIS certification number from an earlier result, e.g. F00070 or F00070-06-000-02",
"title": "Cert",
"type": "string"
}
},
"required": [
"cert"
],
"title": "plan_termsArguments",
"type": "object"
},
"name": "plan_terms",
"outputSchema": {
"additionalProperties": true,
"title": "plan_termsDictOutput",
"type": "object"
}
},
{
"description": "How a plan's premium has moved since 2021: every schedule the insurer filed, the premium at this age under each\n one with the age held constant, the year-on-year changes and the average. Use it for \"has this gone up\" and \"is\n this insurer stable\".",
"inputSchema": {
"properties": {
"age": {
"default": 45,
"maximum": 99,
"minimum": 0,
"title": "Age",
"type": "integer"
},
"cert": {
"description": "VHIS certification number from an earlier result, e.g. F00070 or F00070-06-000-02",
"title": "Cert",
"type": "string"
},
"gender": {
"default": "F",
"description": "M or F, as the schedules rate it",
"pattern": "^[MF]$",
"title": "Gender",
"type": "string"
},
"smoker": {
"default": false,
"description": "True only if the person said they smoke; a few plans rate for it",
"title": "Smoker",
"type": "boolean"
}
},
"required": [
"cert"
],
"title": "premium_historyArguments",
"type": "object"
},
"name": "premium_history",
"outputSchema": {
"additionalProperties": true,
"title": "premium_historyDictOutput",
"type": "object"
}
},
{
"description": "Every matching plan ranked by annual premium alone, with no view on coverage. Use it when someone asks for the\n cheapest, for a full list, or for one insurer's prices. When what the plan covers matters, use find_plans. Needs a key on the public server; without one it returns key_required and tells the user where to get one.",
"inputSchema": {
"properties": {
"age": {
"description": "Age last birthday, as the premium schedules state it",
"maximum": 99,
"minimum": 0,
"title": "Age",
"type": "integer"
},
"gender": {
"default": "F",
"description": "M or F, as the schedules rate it",
"pattern": "^[MF]$",
"title": "Gender",
"type": "string"
},
"insurers": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"description": "Brand names to restrict to",
"title": "Insurers"
},
"limit": {
"default": 20,
"maximum": 200,
"minimum": 1,
"title": "Limit",
"type": "integer"
},
"max_deductible": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Highest deductible acceptable; 0 for none",
"title": "Max Deductible"
},
"one_per_product": {
"default": true,
"description": "Cheapest matching option per product rather than every option",
"title": "One Per Product",
"type": "boolean"
},
"plan_type": {
"anyOf": [
{
"pattern": "^(Standard|Flexi)$",
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Plan Type"
},
"room": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Ward | Semi-private | Private",
"title": "Room"
},
"smoker": {
"default": false,
"description": "True only if the person said they smoke; a few plans rate for it",
"title": "Smoker",
"type": "boolean"
}
},
"required": [
"age"
],
"title": "price_plansArguments",
"type": "object"
},
"name": "price_plans",
"outputSchema": {
"additionalProperties": true,
"title": "price_plansDictOutput",
"type": "object"
}
},
{
"description": "Search every certified plan document and return matching records, each with an id, a title, a page link and the\n clause text. Call fetch with an id for that plan's full record. search_plan_terms is the same search with richer\n output; this pair exists because some clients look for tools named search and fetch.",
"inputSchema": {
"properties": {
"limit": {
"default": 10,
"maximum": 20,
"minimum": 1,
"title": "Limit",
"type": "integer"
},
"query": {
"description": "What to look for, in plain words, e.g. \"psychiatric treatment limit\"",
"title": "Query",
"type": "string"
}
},
"required": [
"query"
],
"title": "searchArguments",
"type": "object"
},
"name": "search",
"outputSchema": {
"additionalProperties": true,
"title": "searchDictOutput",
"type": "object"
}
},
{
"description": "Search the official Terms and Benefits of the certified plans and return the clauses, each with the plan, Part,\n Section, page and a link to that page. Use it for exclusions, waiting periods, limits, room class rules,\n territorial scope, definitions, renewal and cancellation. Never state what a plan says without it.",
"inputSchema": {
"properties": {
"brand": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Scope to one insurer",
"title": "Brand"
},
"cert": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Scope to one plan when the person is looking at it",
"title": "Cert"
},
"limit": {
"default": 6,
"maximum": 20,
"minimum": 1,
"title": "Limit",
"type": "integer"
},
"question": {
"description": "Plain words, e.g. \"psychiatric treatment limit\", \"pre-existing conditions\", \"treatment in mainland China\"",
"title": "Question",
"type": "string"
}
},
"required": [
"question"
],
"title": "search_plan_termsArguments",
"type": "object"
},
"name": "search_plan_terms",
"outputSchema": {
"additionalProperties": true,
"title": "search_plan_termsDictOutput",
"type": "object"
}
},
{
"description": "What Hong Kong private hospitals published they actually billed for a procedure, hospital by hospital, with\n the doctor's fee and the hospital's charge separately, and what a named plan would pay of it. From the\n government's price transparency platform, not an estimate. Bills differ several-fold between hospitals, so never\n quote a single figure for Hong Kong without saying which hospital it belongs to.",
"inputSchema": {
"properties": {
"cert": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "A certification number, to also work out what that plan pays of each bill",
"title": "Cert"
},
"procedure": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "e.g. \"hernia repair\", \"caesarean section\", \"knee arthroscopy\"; omit for the list of what is published",
"title": "Procedure"
}
},
"title": "treatment_costArguments",
"type": "object"
},
"name": "treatment_cost",
"outputSchema": {
"additionalProperties": true,
"title": "treatment_costDictOutput",
"type": "object"
}
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:d82ebb9bb9d52c42d91471aaa08f0fcdb2d9ab3a43227991df97b35cbd28fb26 | sha256sum