{"serverId":"mcp-registry/com.indiainsurances/mcp","tools":[{"name":"compare_policies","fixed":{"name":"compare_policies","description":"Two to four products side by side on the same fields, with differences flagged and each value sourced. Products of the same category compare best. Nothing is scored: explain the trade-offs to the user.","inputSchema":{"type":"object","required":["uins"],"properties":{"uins":{"type":"array","items":{"type":"string"},"maxItems":4,"minItems":2}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":108,"tokensAfter":108},{"name":"find_forms","fixed":{"name":"find_forms","description":"An insurer's forms: claim forms, complaint and grievance forms, service requests (nominee, refund, surrender, KYC) and proposal forms, with field counts and the original PDF.","inputSchema":{"type":"object","properties":{"q":{"type":"string","description":"Words in the title or in what the form is for, e.g. death, nominee, cashless"},"insurer":{"type":"string","description":"Insurer slug"},"purpose":{"enum":["claim","complaint","service","proposal"],"type":"string"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":142,"tokensAfter":142},{"name":"get_form","fixed":{"name":"get_form","description":"One form, field by field as printed: sections, each field's label, type, whether required and what to write; documents to attach; where to send it; deadlines; and, for fillable PDFs, the PDF's own field names. Walk the user through it one field at a time; never invent answers.","inputSchema":{"type":"object","required":["id"],"properties":{"id":{"type":"integer","description":"Form id from find_forms or complaint_path"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":128,"tokensAfter":128},{"name":"get_insurer","fixed":{"name":"get_insurer","description":"An insurer by slug (or all insurers without one): registration, type, claim and complaint record by year with source, claim and grievance contacts, and its products.","inputSchema":{"type":"object","properties":{"slug":{"type":"string","description":"Insurer slug; omit for the list"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":90,"tokensAfter":90},{"name":"get_policy","fixed":{"name":"get_policy","description":"Everything about one product by UIN: each fact read from its documents (waiting periods, limits, co-pay, exclusions, claims, renewal rights...) with the verbatim policy para (field `quote`), the clause and page it came from, its check status, and the law behind it; plus its documents, versions, where to buy and where to claim. status \"not-stated\" means the documents do not say: never fill it from memory.","inputSchema":{"type":"object","required":["uin"],"properties":{"uin":{"type":"string","description":"IRDAI UIN of the product"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":161,"tokensAfter":161},{"name":"get_policy_clause","fixed":{"name":"get_policy_clause","description":"The exact text of one clause by clause_id (from get_policy sources or search_policy_text), with its pages and the product it belongs to.","inputSchema":{"type":"object","required":["clause_id"],"properties":{"clause_id":{"type":"integer"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":79,"tokensAfter":79},{"name":"list_categories","fixed":{"name":"list_categories","description":"The types of insurance (health, critical illness, term life, ULIP, motor, home, travel...) with slugs and product counts. With category, the fields read for that type and what each means.","inputSchema":{"type":"object","properties":{"category":{"type":"string","description":"Category slug, to get its fields"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":99,"tokensAfter":99},{"name":"search_insurance_law","fixed":{"name":"search_insurance_law","description":"Indian insurance law: the Insurance Act, IRDAI regulations and master circulars, ombudsman rules. Without slug: the instruments, and with q the sections that hold the most of its words (each with its text and link); with slug, the instrument with all its sections and plain-language notes.","inputSchema":{"type":"object","properties":{"q":{"type":"string","description":"Words, e.g. moratorium, free look, grievance"},"slug":{"type":"string","description":"Instrument slug from the list"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":150,"tokensAfter":150},{"name":"search_policies","fixed":{"name":"search_policies","description":"Find Indian insurance products by words in the name, insurer (slug), type of insurance (category slug from list_categories), line (life, health, general) or status (active, withdrawn). A UIN in q returns that product. Start here when you only have a name.","inputSchema":{"type":"object","properties":{"q":{"type":"string","description":"Product name words or a UIN"},"line":{"enum":["life","health","general"],"type":"string"},"limit":{"type":"integer","maximum":100,"minimum":1},"offset":{"type":"integer","minimum":0},"status":{"enum":["active","withdrawn"],"type":"string"},"insurer":{"type":"string","description":"Insurer slug from get_insurer or the results"},"category":{"type":"string","description":"Category slug, e.g. health-indemnity, term-life, motor-car"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":227,"tokensAfter":227},{"name":"search_policy_text","fixed":{"name":"search_policy_text","description":"Full-text search inside one product's documents (wording, prospectus, CIS) for words like 'cataract', 'air ambulance', 'suicide'. Returns matching clauses with page and link. Use when get_policy does not cover the question.","inputSchema":{"type":"object","required":["uin","q"],"properties":{"q":{"type":"string","description":"Words to find"},"uin":{"type":"string","description":"Product UIN"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":124,"tokensAfter":124}],"toolsChanged":10,"tokensSaved":0,"todo":[{"tool":"compare_policies","params":["uins"]},{"tool":"complaint_path","params":["issue"]},{"tool":"draft_complaint","params":["issue","level"]},{"tool":"find_forms","params":["purpose"]},{"tool":"get_policy_clause","params":["clause_id"]},{"tool":"request_help","params":["need","consent"]},{"tool":"search_policies","params":["line","limit","offset","status"]}],"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."}