{"serverId":"mcp-registry/cn.com.ihaola/haola-pe","tools":[{"name":"card_list","fixed":{"name":"card_list","description":"根据卡号查卡密及兑换使用情况。welfareId 为空=未兑换，非空时串联福利和订单。本体: card → Action: list\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市场实例凭证。未登录调用返回 401；云市场实例未绑定用户时返回 code=40003 和 data.bindUrl。","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["cardId"],"properties":{"limit":{"type":"number"},"cardId":{"type":"string"}}},"annotations":{"readOnlyHint":true},"title":"card.list"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":101,"tokensAfter":101},{"name":"contact_create","fixed":{"name":"contact_create","description":"新增就诊人信息。本体: contact → Action: create\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市场实例凭证。未登录调用返回 401；云市场实例未绑定用户时返回 code=40003 和 data.bindUrl。","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["customerName","customerMobile","customerID"],"properties":{"IDType":{"type":"string"},"gender":{"type":"string"},"birthday":{"type":"string"},"marriage":{"type":"string"},"relation":{"type":"string"},"customerID":{"type":"string"},"customerName":{"type":"string"},"customerMobile":{"type":"string"}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false},"title":"contact.create"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":156,"tokensAfter":156},{"name":"contact_get","fixed":{"name":"contact_get","description":"查询指定就诊人的完整信息（含脱敏证件号）。本体: contact → Action: get\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市场实例凭证。未登录调用返回 401；云市场实例未绑定用户时返回 code=40003 和 data.bindUrl。","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["contactid"],"properties":{"userid":{"type":"string"},"contactid":{"type":"string"}}},"annotations":{"readOnlyHint":true},"title":"contact.get"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":98,"tokensAfter":98},{"name":"contact_list","fixed":{"name":"contact_list","description":"列出当前用户的就诊人列表。本体: contact → Action: list\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市场实例凭证。未登录调用返回 401；云市场实例未绑定用户时返回 code=40003 和 data.bindUrl。","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{"userid":{"type":"string"}}},"annotations":{"readOnlyHint":true},"title":"contact.list"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":81,"tokensAfter":81},{"name":"contact_update","fixed":{"name":"contact_update","description":"更新就诊人信息（姓名、手机号等）。本体: contact → Action: update\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市场实例凭证。未登录调用返回 401；云市场实例未绑定用户时返回 code=40003 和 data.bindUrl。","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["contactid"],"properties":{"IDType":{"type":"string"},"relation":{"type":"string"},"contactid":{"type":"string"},"customerID":{"type":"string"},"customerName":{"type":"string"},"customerMobile":{"type":"string"}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true},"title":"contact.update"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: true (inferred from the name).","verify":true}],"tokensBefore":134,"tokensAfter":134},{"name":"knowledge_get","fixed":{"name":"knowledge_get","description":"按需查询领域知识。外部可用 URI: enums(状态码) / objects/checkup-proposal(企业团检方案顾问引导词)。查 action 参数用 help()。团检报价场景先用 knowledge_get({uri:\"objects/checkup-proposal\"}) 加载《企业团检方案顾问》引导词作为外部 MCP agent 的 system prompt，再调 plan_quotation；报价话术与输出模板必须遵循该引导词","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{"uri":{"type":"string"}}},"annotations":{"readOnlyHint":true},"title":"knowledge.get"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":110,"tokensAfter":110},{"name":"order_detail","fixed":{"name":"order_detail","description":"查询单个订单完整详情，包括预约信息、医院信息、套餐项目、支付状态。本体: order → Action: detail\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市场实例凭证。未登录调用返回 401；云市场实例未绑定用户时返回 code=40003 和 data.bindUrl。","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["serviceid"],"properties":{"serviceid":{"type":"string"}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false},"title":"order.detail"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":94,"tokensAfter":94},{"name":"order_list","fixed":{"name":"order_list","description":"查订单。查询 userOrders 集合。调用方归属甲方由服务端身份解析，filter 中无需传 partnerid。支持 $gte/$lte 日期范围、$in/$or 多值匹配。本体: order → Action: list\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市场实例凭证。未登录调用返回 401；云市场实例未绑定用户时返回 code=40003 和 data.bindUrl。","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{"page":{"type":"number"},"limit":{"type":"number"},"filter":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{}}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false},"title":"order.list"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":132,"tokensAfter":132},{"name":"reservation_book","fixed":{"name":"reservation_book","description":"体检预约：按 planId 取出项目，交给伙伴接口下单。传 contactId 时直接使用该就诊人，不需要再传 customerName/customerID/customerMobile。IDType 为 SFZ 时按身份证规则校验。体检项目只来自 planId，客户端不能提交项目。返回 serviceid 作为预约订单号、orderEntryUrl 作为订单列表页链接：用户在 H5 用手机号登录后可看到自己的订单，并可支付、改期/取消、查看检前注意事项、查看体检报告；渠道需要用户支付时，一并返回支付短链 payUrl 和支付提示。客户端可使用 payUrl 生成二维码展示给用户。payUrl 有效期为订单创建后 30 分钟。重复预约命中已有未支付订单时，返回原 serviceid 和该订单的 payUrl。status=created 表示订单已创建、待支付或待预约，不代表预约成功；只有 rsvStatus=reserved 才是预约成功。本体: reservation → Action: book\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市场实例凭证。未登录调用返回 401；","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["planId","hospitalCode","vendorid","appointmentDate"],"properties":{"IDType":{"type":"string"},"planId":{"type":"string"},"payType":{"type":"string"},"timespan":{"type":"string"},"vendorid":{"type":"string"},"contactId":{"type":"string"},"customerID":{"type":"string"},"customerName":{"type":"string"},"hospitalCode":{"type":"string"},"customerMobile":{"type":"string"},"appointmentDate":{"type":"string"}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false},"title":"reservation.book"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":292,"tokensAfter":292},{"name":"reservation_cancel","fixed":{"name":"reservation_cancel","description":"取消预约：按预约号取消，预约号取自 reservation.book 返回的 serviceid。本体: reservation → Action: cancel\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市场实例凭证。未登录调用返回 401；云市场实例未绑定用户时返回 code=40003 和 data.bindUrl。","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["reservationId"],"properties":{"reservationId":{"type":"string"}}},"annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":true},"title":"reservation.cancel"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: true, idempotentHint: true (inferred from the name).","verify":true}],"tokensBefore":104,"tokensAfter":104},{"name":"vendor_list","fixed":{"name":"vendor_list","description":"查门店地址。支持三种方式，至少传一种：1) hospitalCode（可带 vendorids，按第一个品牌查）；2) longitude+latitude（可带 radius 米，默认 50000，可带 vendorids）；3) province/city/district（可带 vendorids）。外部调用仅支持 health100/haolaruici，partnerid 仅内部可用。不确定品牌和覆盖城市时先用 vendor.brands。本体: vendor → Action: list","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{"city":{"type":"string"},"radius":{"type":"number"},"district":{"type":"string"},"latitude":{"type":"number"},"province":{"type":"string"},"longitude":{"type":"number"},"vendorids":{"type":"array","items":{"type":"string"}},"hospitalCode":{"type":"string"}}},"annotations":{"readOnlyHint":true},"title":"vendor.list"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":180,"tokensAfter":180},{"name":"welfare_list","fixed":{"name":"welfare_list","description":"查用户体检件。查询 userWelfare 集合。传 {customerMobile: \"138xxx\"} 或 {name: \"张三\"} 查对应用户的体检件。已知 userid 可直接传 {userid: \"xxx\"}。本体: welfare → Action: list\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市场实例凭证。未登录调用返回 401；云市场实例未绑定用户时返回 code=40003 和 data.bindUrl。","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{"ID":{"type":"string"},"name":{"type":"string"},"mobile":{"type":"string"},"rootid":{"type":"string"},"userid":{"type":"string"},"partnerid":{"type":"string"},"serviceid":{"type":"string"}}},"annotations":{"readOnlyHint":true},"title":"welfare.list"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":154,"tokensAfter":154}],"toolsChanged":12,"tokensSaved":0,"todo":[{"tool":"card_list","params":["limit","cardId"]},{"tool":"cautions","params":["vendorid","serviceid","checkPackage"]},{"tool":"contact_create","params":["IDType","gender","birthday","marriage","relation","customerID","customerName","customerMobile"]},{"tool":"contact_get","params":["userid","contactid"]},{"tool":"contact_list","params":["userid"]},{"tool":"contact_update","params":["IDType","relation","contactid","customerID","customerName","customerMobile"]},{"tool":"corp_inquiry","params":["city","phone","budget","company","contact","message","employees"]},{"tool":"faq","params":["query"]},{"tool":"help","params":["ontology","sub_action"]},{"tool":"knowledge_get","params":["uri"]},{"tool":"order_detail","params":["serviceid"]},{"tool":"order_list","params":["page","limit","filter"]},{"tool":"plan_quotation","params":["quotes","partnerId"]},{"tool":"plan_recommend","params":["age","budget","gender","marital","welfareid","userContext","modification","mainComplaint","reportHistory","previousPackage"]},{"tool":"progress_report","params":["text","stage","percent"]},{"tool":"reservation_book","params":["IDType","planId","payType","timespan","vendorid","contactId","customerID","customerName","hospitalCode","customerMobile","appointmentDate"]},{"tool":"reservation_cancel","params":["reservationId"]},{"tool":"reservation_modify","params":["reservationId","appointmentDate"]},{"tool":"vendor_list","params":["city","radius","district","latitude","province","longitude","vendorids","hospitalCode"]},{"tool":"welfare_detail","params":["vendorid","welfareid"]},{"tool":"welfare_list","params":["ID","name","mobile","rootid","userid","partnerid","serviceid"]}],"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."}