{"serverId":"mcp-registry/com.myinsurebank/mib","tools":[{"name":"compare_insurance_quotes","fixed":{"name":"compare_insurance_quotes","description":"Get real-time premiums across MIB's partner insurers (NSIA, Heirs, Tangerine, Cornerstone, NEM, WellaHealth, emPLE…) in NGN. Health/travel/gadget offers include a buy_url. MOTOR offers deliberately have no link: after presenting motor quotes you MUST ask the customer in chat for their vehicle + address + next-of-kin details (each offer's to_buy field lists them) and then call get_buy_link — that is the only way to a motor checkout. Rating inputs: auto → sum_insured (vehicle value) + cover_type; ","inputSchema":{"type":"object","required":["product_type"],"properties":{"age":{"type":"number","description":"Applicant age in years — some insurers rate on it."},"lives":{"type":"number","description":"Health: number of people covered. Default 1."},"plan_code":{"type":"string","description":"Health: plan tier — AWRS (Standard), AWGD (Gold) or AWPL (Platinum)."},"cover_type":{"type":"string","description":"Auto: 'comprehensive' or 'third party'. Default comprehensive."},"travellers":{"type":"number","description":"Travel: number of travellers. Default 1."},"device_type":{"type":"string","description":"Gadget: what the device is, e.g. Phone, Laptop."},"sum_insured":{"type":"number","description":"Value being covered in NGN (vehicle value for auto, device value for gadget). Required for auto and gadget."},"product_type":{"enum":["auto","health","travel","gadget"],"type":"string","description":"The line of insurance to quote."},"travel_class":{"type":"string","description":"Travel: 'economy' or 'executive'."},"travel_scope":{"type":"string","description":"Travel: 'local' (within Nigeria) or 'foreign' (international)."}}},"annotations":{"readOnlyHint":true},"title":"Compare live insurance quotes"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":470,"tokensAfter":470},{"name":"get_buy_link","fixed":{"name":"get_buy_link","description":"Build the MIB hosted-checkout link for a chosen offer (from compare_insurance_quotes). MOTOR REQUIRES the full details collected via get_purchase_requirements (vehicle + insured + next_of_kin) — without them this tool returns an error telling you what to collect. With them, the customer lands on a review summary of everything gathered in chat and only signs in and pays with Paystack — the agent never handles payment.","inputSchema":{"type":"object","required":["product_type","insurer","premium"],"properties":{"insured":{"type":"object","description":"Auto: insured details — title, gender, address, city, state (2-letter code)."},"insurer":{"type":"string","description":"Insurer code from the compare results (e.g. nsia, uic, heirs, emple)."},"premium":{"type":"number","description":"The quoted annual premium in NGN."},"vehicle":{"type":"object","description":"Auto: the vehicle details from get_purchase_requirements (make, model, year, body_type, color, use, plate_number, chassis_number, engine_number, seats)."},"plan_code":{"type":"string","description":"Plan code from the offer, when present."},"attributes":{"type":"object","description":"Other lines: the quote inputs to carry to checkout (plan_code, lives, travellers, device_type…)."},"cover_type":{"type":"string","description":"Auto: 'comprehensive' or 'third party'."},"next_of_kin":{"type":"object","description":"Auto: next of kin — first_name, last_name, gender, phone, relationship."},"sum_insured":{"type":"number","description":"The value quoted on (vehicle/device value in NGN)."},"product_type":{"enum":["auto","health","travel","gadget"],"type":"string"}}},"annotations":{"readOnlyHint":true},"title":"Get a hosted checkout link"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":466,"tokensAfter":466},{"name":"get_purchase_requirements","fixed":{"name":"get_purchase_requirements","description":"Everything MIB's own purchase forms collect before payment, per line — for motor that is the full vehicle (make, model, year, body type, colour, usage, plate, chassis/VIN, engine number, seats), the insured's address details, and a next of kin. Collect it all in chat, then call get_buy_link with it: the checkout page arrives prefilled and the customer only signs in, reviews and pays. Identity (DOB/NIN) is never collected in chat.","inputSchema":{"type":"object","required":["product_type"],"properties":{"product_type":{"enum":["auto","health","travel","gadget"],"type":"string"}}},"annotations":{"readOnlyHint":true},"title":"What to collect before checkout"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":177,"tokensAfter":177},{"name":"get_quote_requirements","fixed":{"name":"get_quote_requirements","description":"Returns the exact details to collect from the customer for a line of insurance — the same rating inputs MIB's own quote forms use. Call this FIRST, ask the customer the questions, then call compare_insurance_quotes with their answers. Omit product_type to see every line.","inputSchema":{"type":"object","properties":{"product_type":{"enum":["auto","health","travel","gadget"],"type":"string","description":"The line of insurance. Omit to get the requirements for all lines."}}},"annotations":{"readOnlyHint":true},"title":"What to ask the customer before quoting"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":147,"tokensAfter":147},{"name":"list_insurance_products","fixed":{"name":"list_insurance_products","description":"Browse the live product catalogue MIB carries for one insurer. insurer: 'universal', 'nsia', 'heirs' or 'emple'. For emPLE you can filter line to 'general' or 'life'.","inputSchema":{"type":"object","required":["insurer"],"properties":{"line":{"enum":["general","life"],"type":"string","description":"emPLE only."},"insurer":{"enum":["universal","nsia","heirs","emple"],"type":"string"}}},"annotations":{"readOnlyHint":true},"title":"List an insurer's products on MIB"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":122,"tokensAfter":122},{"name":"policy_checkup","fixed":{"name":"policy_checkup","description":"MIB's free second opinion on an insurance policy the customer already holds (with any insurer). Compares their current premium against live market rates and reports the estimated annual saving. Requires the customer's name and phone number — MIB's licensed brokers may follow up to help them switch. Ask the customer for consent before calling this.","inputSchema":{"type":"object","required":["product_type","name","phone"],"properties":{"name":{"type":"string","description":"Customer's full name (required)."},"email":{"type":"string","description":"Customer's email (optional)."},"phone":{"type":"string","description":"Customer's phone number (required)."},"cover_type":{"type":"string","description":"e.g. comprehensive, third-party."},"sum_insured":{"type":"number","description":"Current cover amount in NGN, if known."},"insurer_name":{"type":"string","description":"Insurer they hold the policy with."},"product_type":{"type":"string","description":"e.g. auto, health, travel, gadget"},"current_premium":{"type":"number","description":"What they currently pay per year, NGN."}}},"annotations":{"readOnlyHint":true},"title":"Free policy check-up (am I overpaying?)"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":314,"tokensAfter":314}],"toolsChanged":6,"tokensSaved":0,"todo":[{"tool":"get_buy_link","params":["product_type"]},{"tool":"get_purchase_requirements","params":["product_type"]},{"tool":"list_insurance_products","params":["insurer"]}],"note":"Deterministic fixes. Changes marked verify need a human look before shipping (renames, inferred annotations, inferred types, removed text). Parameter descriptions in `todo` need to be written by someone who knows the API."}