{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_bn6v8nykecqr","handle":"hao-la-ti-jian-mcp","url":"https://wellknown.network/agents/hao-la-ti-jian-mcp","links":{"self":"https://wellknown.network/agents/hao-la-ti-jian-mcp/record.json","html":"https://wellknown.network/agents/hao-la-ti-jian-mcp","markdown":"https://wellknown.network/agents/hao-la-ti-jian-mcp/record.md","api":"https://wellknown.network/api/v1/agents/hao-la-ti-jian-mcp","status":"https://wellknown.network/api/v1/agents/hao-la-ti-jian-mcp/status","claim":"https://wellknown.network/agents/hao-la-ti-jian-mcp/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/hao-la-ti-jian-mcp/claim.json","badge":"https://wellknown.network/agents/hao-la-ti-jian-mcp/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/hao-la-ti-jian-mcp/history","tools":"https://wellknown.network/api/v1/agents/hao-la-ti-jian-mcp/tools"},"ard":{"identifier":"urn:air:ai.ihaola.com.cn:server:hao-la-ti-jian-mcp","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"好啦体检 MCP","summary":"企业团检分档方案、门店查询、体检 FAQ 与企业咨询，覆盖 241 城。","description":"企业团检分档方案、门店查询、体检 FAQ 与企业咨询，覆盖 241 城。","publisher":{"name":"cn.com.ihaola","url":null},"homepage":null,"repository":null,"version":"1.0.0","license":null,"protocols":["mcp"],"tags":[],"pricing":null,"endpoints":[{"url":"https://ai.ihaola.com.cn/api/mcp/haola-pe","type":"mcp_streamable_http","auth":null,"probeable":true}],"skills":null,"tools":null,"extra":{"updatedAt":"2026-10-20T03:06:23.434177Z","publishedAt":"2026-10-20T03:06:23.434177Z","registryName":"cn.com.ihaola/haola-pe"},"attribution":{"kind":"mcp_registry","name":"mcp_registry","summary":"mcp_registry","version":"mcp_registry","description":"mcp_registry","publisherName":"mcp_registry"}},"derived":{"capabilities":[{"slug":"commerce.travel","name":"Travel & Booking","confidence":0.569,"provenance":"derived"},{"slug":"knowledge.knowledge-graph","name":"Knowledge Graphs","confidence":0.525,"provenance":"derived"},{"slug":"ai.prompting","name":"Prompt Management","confidence":0.525,"provenance":"derived"}],"categories":["ai","commerce","knowledge"],"language":"zh"},"observed":{"status":"live","statusReason":"Responded 3h ago.","lastOkAt":"2026-10-25T12:30:51.952Z","lastProbedAt":"2026-10-25T12:30:51.952Z","statusComputedAt":"2026-10-25T12:33:25.782Z","reliability30d":{"probes":15,"successRate":1,"p50Ms":268,"basis":"service","measures":{"availability":"availability","latency":"response time","tools":"tool surface observed","summary":"Checks reached the service itself."},"checks":{"total":15,"ok":15,"authBoundaryOk":0,"serviceOk":15,"note":"Counted from the observation rows for the window, checks of the server only (HTTP, A2A card, MCP initialize). ok = authBoundaryOk + serviceOk. `probes` is the sum of daily rollups and includes registry checks, so it can differ from `total`."}},"latestObservations":[{"at":"2026-10-25T12:30:51.952Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":239,"error":null,"detail":{"tools":[{"name":"vendor_list","description":"查门店地址。支持三种方式，至少传一种：1) hospitalCode（可带 vendorids，按第一个品牌查）；2) longitude+latitude（可带 radius 米，默认 50000，可带 vendorids）；3) province/city/district（可带 vendorids）。外部调用仅支"},{"name":"vendor_brands","description":"查各体检品牌覆盖的城市（品牌聚合摘要，不返回具体门店）。本体: vendor → Action: brands"},{"name":"order_list","description":"查订单。查询 userOrders 集合。调用方归属甲方由服务端身份解析，filter 中无需传 partnerid。支持 $gte/$lte 日期范围、$in/$or 多值匹配。本体: order → Action: list\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市场实例凭证。未登录调用返回 401；云市场实"},{"name":"welfare_list","description":"查用户体检件。查询 userWelfare 集合。传 {customerMobile: \"138xxx\"} 或 {name: \"张三\"} 查对应用户的体检件。已知 userid 可直接传 {userid: \"xxx\"}。本体: welfare → Action: list\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市"},{"name":"template_stats","description":"团单模板统计。查询 welfareTemplate 集合，返回发放/激活/预约/到检/报告计数。调用方归属甲方由服务端身份解析。本体: template → Action: stats\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市场实例凭证。未登录调用返回 401；云市场实例未绑定用户时返回 code=40003 和"},{"name":"corp_inquiry","description":"提交企业商务咨询。企业客户有任何问题（合作咨询、产品了解、报价请求、投诉建议）均可提交，销售 24h 内联系。本体: corp → Action: inquiry"},{"name":"corp_contact","description":"查询好啦商务对接人（团检/商务合作）：返回对接人姓名、电话、邮箱、二维码图片 URL。用户报价后需要人工商务对接时调用。本体: corp → Action: contact"},{"name":"plan_quotation","description":"企业团检报价：quotes 为对象数组，每档一个方案。每项 = { tier(档名，仅标识该档、不参与报价，返回时回填), budget(人均预算元，必填), healthConcerns(该档健康诉求，必填), populations?(人群数组 man/lady/girl，默认三人，该档) }。可选 partner"},{"name":"plan_recommend","description":"个人体检推荐：按调用方身份读用户名下体检件与模板，结合性别、婚姻状况、预算、健康诉求推荐体检项目，返回 data.selected_items（每项带 constraintId）与 planId。planId 直接传给 reservation.book 预约，不要自己拼项目。长耗时，建议每阶段调用 progress.r"},{"name":"faq","description":"体检 FAQ。不传 query 则列出所有问题。query 必须是短关键词(2-4字，如\"报告\"、\"预约\"、\"空腹\")，不要传完整问句。"},{"name":"knowledge_get","description":"按需查询领域知识。外部可用 URI: enums(状态码) / objects/checkup-proposal(企业团检方案顾问引导词)。查 action 参数用 help()。团检报价场景先用 knowledge_get({uri:\"objects/checkup-proposal\"}) 加载《企业团检方案顾问》引"},{"name":"help","description":"三级帮助系统。无参列出本体；传 ontology 列出该本体下工具；传 ontology 和 sub_action 查看参数，sub_action 用完整名称，如 vendor.list、plan.quotation。"},{"name":"welfare_detail","description":"查询指定福利的详细内容，包括检查项目列表、规则说明、适用机构等。本体: welfare → Action: detail\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市场实例凭证。未登录调用返回 401；云市场实例未绑定用户时返回 code=40003 和 data.bindUrl。"},{"name":"cautions","description":"根据体检项目查询注意事项（饮食、用药、禁忌等）。需调用方用户标识（external_user_id 自动注入），partnerid 由服务端按用户标识解析，禁止客户端传。传 checkPackage 查套餐注意事项（必带 vendorid）；传 serviceid 仅允许查本人订单。本体: knowledge → Ac"},{"name":"order_detail","description":"查询单个订单完整详情，包括预约信息、医院信息、套餐项目、支付状态。本体: order → Action: detail\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市场实例凭证。未登录调用返回 401；云市场实例未绑定用户时返回 code=40003 和 data.bindUrl。"},{"name":"contact_list","description":"列出当前用户的就诊人列表。本体: contact → Action: list\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市场实例凭证。未登录调用返回 401；云市场实例未绑定用户时返回 code=40003 和 data.bindUrl。"},{"name":"contact_get","description":"查询指定就诊人的完整信息（含脱敏证件号）。本体: contact → Action: get\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市场实例凭证。未登录调用返回 401；云市场实例未绑定用户时返回 code=40003 和 data.bindUrl。"},{"name":"contact_create","description":"新增就诊人信息。本体: contact → Action: create\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市场实例凭证。未登录调用返回 401；云市场实例未绑定用户时返回 code=40003 和 data.bindUrl。"},{"name":"contact_update","description":"更新就诊人信息（姓名、手机号等）。本体: contact → Action: update\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市场实例凭证。未登录调用返回 401；云市场实例未绑定用户时返回 code=40003 和 data.bindUrl。"},{"name":"reservation_book","description":"体检预约：按 planId 取出项目，交给伙伴接口下单。传 contactId 时直接使用该就诊人，不需要再传 customerName/customerID/customerMobile。IDType 为 SFZ 时按身份证规则校验。体检项目只来自 planId，客户端不能提交项目。返回 serviceid 作为预约"},{"name":"reservation_cancel","description":"取消预约：按预约号取消，预约号取自 reservation.book 返回的 serviceid。本体: reservation → Action: cancel\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市场实例凭证。未登录调用返回 401；云市场实例未绑定用户时返回 code=40003 和 data.bindU"},{"name":"reservation_modify","description":"更改预约日期：按预约号改期。本体: reservation → Action: modify\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市场实例凭证。未登录调用返回 401；云市场实例未绑定用户时返回 code=40003 和 data.bindUrl。"},{"name":"card_list","description":"根据卡号查卡密及兑换使用情况。welfareId 为空=未兑换，非空时串联福利和订单。本体: card → Action: list\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市场实例凭证。未登录调用返回 401；云市场实例未绑定用户时返回 code=40003 和 data.bindUrl。"},{"name":"template_list","description":"查询团单模板列表。按 partnerid 过滤，返回模板摘要（不含套餐明细 rules.items）。外部调用由服务端身份解析归属甲方。本体: template → Action: list\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市场实例凭证。未登录调用返回 401；云市场实例未绑定用户时返回 code=4000"},{"name":"template_detail","description":"查询团单模板详情，返回完整模板文档含 users 字段（每个 user 含 welfareId/isConsumed）。本体: template → Action: detail\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市场实例凭证。未登录调用返回 401；云市场实例未绑定用户时返回 code=40003 和 da"},{"name":"progress_report","description":"长耗时任务进度上报。agent 每完成一个阶段调用一次，text 为给用户看的可读进度，如「报告解析中，预计 10 秒」。不落地业务数据，仅用于向用户展示过程。"}],"toolCount":26,"toolsHash":"4a81a5066868e6ab6780b3e5dc4c00b4949d2baa21337059a227b2cc8f179f07","serverName":"haola-pe","capabilities":["tools"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-25T05:30:37.164Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":293,"error":null,"detail":{"tools":[{"name":"vendor_list","description":"查门店地址。支持三种方式，至少传一种：1) hospitalCode（可带 vendorids，按第一个品牌查）；2) longitude+latitude（可带 radius 米，默认 50000，可带 vendorids）；3) province/city/district（可带 vendorids）。外部调用仅支"},{"name":"vendor_brands","description":"查各体检品牌覆盖的城市（品牌聚合摘要，不返回具体门店）。本体: vendor → Action: brands"},{"name":"order_list","description":"查订单。查询 userOrders 集合。调用方归属甲方由服务端身份解析，filter 中无需传 partnerid。支持 $gte/$lte 日期范围、$in/$or 多值匹配。本体: order → Action: list\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市场实例凭证。未登录调用返回 401；云市场实"},{"name":"welfare_list","description":"查用户体检件。查询 userWelfare 集合。传 {customerMobile: \"138xxx\"} 或 {name: \"张三\"} 查对应用户的体检件。已知 userid 可直接传 {userid: \"xxx\"}。本体: welfare → Action: list\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市"},{"name":"template_stats","description":"团单模板统计。查询 welfareTemplate 集合，返回发放/激活/预约/到检/报告计数。调用方归属甲方由服务端身份解析。本体: template → Action: stats\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市场实例凭证。未登录调用返回 401；云市场实例未绑定用户时返回 code=40003 和"},{"name":"corp_inquiry","description":"提交企业商务咨询。企业客户有任何问题（合作咨询、产品了解、报价请求、投诉建议）均可提交，销售 24h 内联系。本体: corp → Action: inquiry"},{"name":"corp_contact","description":"查询好啦商务对接人（团检/商务合作）：返回对接人姓名、电话、邮箱、二维码图片 URL。用户报价后需要人工商务对接时调用。本体: corp → Action: contact"},{"name":"plan_quotation","description":"企业团检报价：quotes 为对象数组，每档一个方案。每项 = { tier(档名，仅标识该档、不参与报价，返回时回填), budget(人均预算元，必填), healthConcerns(该档健康诉求，必填), populations?(人群数组 man/lady/girl，默认三人，该档) }。可选 partner"},{"name":"plan_recommend","description":"个人体检推荐：按调用方身份读用户名下体检件与模板，结合性别、婚姻状况、预算、健康诉求推荐体检项目，返回 data.selected_items（每项带 constraintId）与 planId。planId 直接传给 reservation.book 预约，不要自己拼项目。长耗时，建议每阶段调用 progress.r"},{"name":"faq","description":"体检 FAQ。不传 query 则列出所有问题。query 必须是短关键词(2-4字，如\"报告\"、\"预约\"、\"空腹\")，不要传完整问句。"},{"name":"knowledge_get","description":"按需查询领域知识。外部可用 URI: enums(状态码) / objects/checkup-proposal(企业团检方案顾问引导词)。查 action 参数用 help()。团检报价场景先用 knowledge_get({uri:\"objects/checkup-proposal\"}) 加载《企业团检方案顾问》引"},{"name":"help","description":"三级帮助系统。无参列出本体；传 ontology 列出该本体下工具；传 ontology 和 sub_action 查看参数，sub_action 用完整名称，如 vendor.list、plan.quotation。"},{"name":"welfare_detail","description":"查询指定福利的详细内容，包括检查项目列表、规则说明、适用机构等。本体: welfare → Action: detail\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市场实例凭证。未登录调用返回 401；云市场实例未绑定用户时返回 code=40003 和 data.bindUrl。"},{"name":"cautions","description":"根据体检项目查询注意事项（饮食、用药、禁忌等）。需调用方用户标识（external_user_id 自动注入），partnerid 由服务端按用户标识解析，禁止客户端传。传 checkPackage 查套餐注意事项（必带 vendorid）；传 serviceid 仅允许查本人订单。本体: knowledge → Ac"},{"name":"order_detail","description":"查询单个订单完整详情，包括预约信息、医院信息、套餐项目、支付状态。本体: order → Action: detail\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市场实例凭证。未登录调用返回 401；云市场实例未绑定用户时返回 code=40003 和 data.bindUrl。"},{"name":"contact_list","description":"列出当前用户的就诊人列表。本体: contact → Action: list\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市场实例凭证。未登录调用返回 401；云市场实例未绑定用户时返回 code=40003 和 data.bindUrl。"},{"name":"contact_get","description":"查询指定就诊人的完整信息（含脱敏证件号）。本体: contact → Action: get\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市场实例凭证。未登录调用返回 401；云市场实例未绑定用户时返回 code=40003 和 data.bindUrl。"},{"name":"contact_create","description":"新增就诊人信息。本体: contact → Action: create\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市场实例凭证。未登录调用返回 401；云市场实例未绑定用户时返回 code=40003 和 data.bindUrl。"},{"name":"contact_update","description":"更新就诊人信息（姓名、手机号等）。本体: contact → Action: update\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市场实例凭证。未登录调用返回 401；云市场实例未绑定用户时返回 code=40003 和 data.bindUrl。"},{"name":"reservation_book","description":"体检预约：按 planId 取出项目，交给伙伴接口下单。传 contactId 时直接使用该就诊人，不需要再传 customerName/customerID/customerMobile。IDType 为 SFZ 时按身份证规则校验。体检项目只来自 planId，客户端不能提交项目。返回 serviceid 作为预约"},{"name":"reservation_cancel","description":"取消预约：按预约号取消，预约号取自 reservation.book 返回的 serviceid。本体: reservation → Action: cancel\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市场实例凭证。未登录调用返回 401；云市场实例未绑定用户时返回 code=40003 和 data.bindU"},{"name":"reservation_modify","description":"更改预约日期：按预约号改期。本体: reservation → Action: modify\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市场实例凭证。未登录调用返回 401；云市场实例未绑定用户时返回 code=40003 和 data.bindUrl。"},{"name":"card_list","description":"根据卡号查卡密及兑换使用情况。welfareId 为空=未兑换，非空时串联福利和订单。本体: card → Action: list\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市场实例凭证。未登录调用返回 401；云市场实例未绑定用户时返回 code=40003 和 data.bindUrl。"},{"name":"template_list","description":"查询团单模板列表。按 partnerid 过滤，返回模板摘要（不含套餐明细 rules.items）。外部调用由服务端身份解析归属甲方。本体: template → Action: list\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市场实例凭证。未登录调用返回 401；云市场实例未绑定用户时返回 code=4000"},{"name":"template_detail","description":"查询团单模板详情，返回完整模板文档含 users 字段（每个 user 含 welfareId/isConsumed）。本体: template → Action: detail\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市场实例凭证。未登录调用返回 401；云市场实例未绑定用户时返回 code=40003 和 da"},{"name":"progress_report","description":"长耗时任务进度上报。agent 每完成一个阶段调用一次，text 为给用户看的可读进度，如「报告解析中，预计 10 秒」。不落地业务数据，仅用于向用户展示过程。"}],"toolCount":26,"toolsHash":"4a81a5066868e6ab6780b3e5dc4c00b4949d2baa21337059a227b2cc8f179f07","serverName":"haola-pe","capabilities":["tools"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-24T22:26:54.297Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":287,"error":null,"detail":{"tools":[{"name":"vendor_list","description":"查门店地址。支持三种方式，至少传一种：1) hospitalCode（可带 vendorids，按第一个品牌查）；2) longitude+latitude（可带 radius 米，默认 50000，可带 vendorids）；3) province/city/district（可带 vendorids）。外部调用仅支"},{"name":"vendor_brands","description":"查各体检品牌覆盖的城市（品牌聚合摘要，不返回具体门店）。本体: vendor → Action: brands"},{"name":"order_list","description":"查订单。查询 userOrders 集合。调用方归属甲方由服务端身份解析，filter 中无需传 partnerid。支持 $gte/$lte 日期范围、$in/$or 多值匹配。本体: order → Action: list\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市场实例凭证。未登录调用返回 401；云市场实"},{"name":"welfare_list","description":"查用户体检件。查询 userWelfare 集合。传 {customerMobile: \"138xxx\"} 或 {name: \"张三\"} 查对应用户的体检件。已知 userid 可直接传 {userid: \"xxx\"}。本体: welfare → Action: list\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市"},{"name":"template_stats","description":"团单模板统计。查询 welfareTemplate 集合，返回发放/激活/预约/到检/报告计数。调用方归属甲方由服务端身份解析。本体: template → Action: stats\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市场实例凭证。未登录调用返回 401；云市场实例未绑定用户时返回 code=40003 和"},{"name":"corp_inquiry","description":"提交企业商务咨询。企业客户有任何问题（合作咨询、产品了解、报价请求、投诉建议）均可提交，销售 24h 内联系。本体: corp → Action: inquiry"},{"name":"corp_contact","description":"查询好啦商务对接人（团检/商务合作）：返回对接人姓名、电话、邮箱、二维码图片 URL。用户报价后需要人工商务对接时调用。本体: corp → Action: contact"},{"name":"plan_quotation","description":"企业团检报价：quotes 为对象数组，每档一个方案。每项 = { tier(档名，仅标识该档、不参与报价，返回时回填), budget(人均预算元，必填), healthConcerns(该档健康诉求，必填), populations?(人群数组 man/lady/girl，默认三人，该档) }。可选 partner"},{"name":"plan_recommend","description":"个人体检推荐：按调用方身份读用户名下体检件与模板，结合性别、婚姻状况、预算、健康诉求推荐体检项目，返回 data.selected_items（每项带 constraintId）与 planId。planId 直接传给 reservation.book 预约，不要自己拼项目。长耗时，建议每阶段调用 progress.r"},{"name":"faq","description":"体检 FAQ。不传 query 则列出所有问题。query 必须是短关键词(2-4字，如\"报告\"、\"预约\"、\"空腹\")，不要传完整问句。"},{"name":"knowledge_get","description":"按需查询领域知识。外部可用 URI: enums(状态码) / objects/checkup-proposal(企业团检方案顾问引导词)。查 action 参数用 help()。团检报价场景先用 knowledge_get({uri:\"objects/checkup-proposal\"}) 加载《企业团检方案顾问》引"},{"name":"help","description":"三级帮助系统。无参列出本体；传 ontology 列出该本体下工具；传 ontology 和 sub_action 查看参数，sub_action 用完整名称，如 vendor.list、plan.quotation。"},{"name":"welfare_detail","description":"查询指定福利的详细内容，包括检查项目列表、规则说明、适用机构等。本体: welfare → Action: detail\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市场实例凭证。未登录调用返回 401；云市场实例未绑定用户时返回 code=40003 和 data.bindUrl。"},{"name":"cautions","description":"根据体检项目查询注意事项（饮食、用药、禁忌等）。需调用方用户标识（external_user_id 自动注入），partnerid 由服务端按用户标识解析，禁止客户端传。传 checkPackage 查套餐注意事项（必带 vendorid）；传 serviceid 仅允许查本人订单。本体: knowledge → Ac"},{"name":"order_detail","description":"查询单个订单完整详情，包括预约信息、医院信息、套餐项目、支付状态。本体: order → Action: detail\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市场实例凭证。未登录调用返回 401；云市场实例未绑定用户时返回 code=40003 和 data.bindUrl。"},{"name":"contact_list","description":"列出当前用户的就诊人列表。本体: contact → Action: list\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市场实例凭证。未登录调用返回 401；云市场实例未绑定用户时返回 code=40003 和 data.bindUrl。"},{"name":"contact_get","description":"查询指定就诊人的完整信息（含脱敏证件号）。本体: contact → Action: get\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市场实例凭证。未登录调用返回 401；云市场实例未绑定用户时返回 code=40003 和 data.bindUrl。"},{"name":"contact_create","description":"新增就诊人信息。本体: contact → Action: create\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市场实例凭证。未登录调用返回 401；云市场实例未绑定用户时返回 code=40003 和 data.bindUrl。"},{"name":"contact_update","description":"更新就诊人信息（姓名、手机号等）。本体: contact → Action: update\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市场实例凭证。未登录调用返回 401；云市场实例未绑定用户时返回 code=40003 和 data.bindUrl。"},{"name":"reservation_book","description":"体检预约：按 planId 取出项目，交给伙伴接口下单。传 contactId 时直接使用该就诊人，不需要再传 customerName/customerID/customerMobile。IDType 为 SFZ 时按身份证规则校验。体检项目只来自 planId，客户端不能提交项目。返回 serviceid 作为预约"},{"name":"reservation_cancel","description":"取消预约：按预约号取消，预约号取自 reservation.book 返回的 serviceid。本体: reservation → Action: cancel\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市场实例凭证。未登录调用返回 401；云市场实例未绑定用户时返回 code=40003 和 data.bindU"},{"name":"reservation_modify","description":"更改预约日期：按预约号改期。本体: reservation → Action: modify\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市场实例凭证。未登录调用返回 401；云市场实例未绑定用户时返回 code=40003 和 data.bindUrl。"},{"name":"card_list","description":"根据卡号查卡密及兑换使用情况。welfareId 为空=未兑换，非空时串联福利和订单。本体: card → Action: list\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市场实例凭证。未登录调用返回 401；云市场实例未绑定用户时返回 code=40003 和 data.bindUrl。"},{"name":"template_list","description":"查询团单模板列表。按 partnerid 过滤，返回模板摘要（不含套餐明细 rules.items）。外部调用由服务端身份解析归属甲方。本体: template → Action: list\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市场实例凭证。未登录调用返回 401；云市场实例未绑定用户时返回 code=4000"},{"name":"template_detail","description":"查询团单模板详情，返回完整模板文档含 users 字段（每个 user 含 welfareId/isConsumed）。本体: template → Action: detail\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市场实例凭证。未登录调用返回 401；云市场实例未绑定用户时返回 code=40003 和 da"},{"name":"progress_report","description":"长耗时任务进度上报。agent 每完成一个阶段调用一次，text 为给用户看的可读进度，如「报告解析中，预计 10 秒」。不落地业务数据，仅用于向用户展示过程。"}],"toolCount":26,"toolsHash":"4a81a5066868e6ab6780b3e5dc4c00b4949d2baa21337059a227b2cc8f179f07","serverName":"haola-pe","capabilities":["tools"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-24T16:25:06.379Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":285,"error":null,"detail":{"tools":[{"name":"vendor_list","description":"查门店地址。支持三种方式，至少传一种：1) hospitalCode（可带 vendorids，按第一个品牌查）；2) longitude+latitude（可带 radius 米，默认 50000，可带 vendorids）；3) province/city/district（可带 vendorids）。外部调用仅支"},{"name":"vendor_brands","description":"查各体检品牌覆盖的城市（品牌聚合摘要，不返回具体门店）。本体: vendor → Action: brands"},{"name":"order_list","description":"查订单。查询 userOrders 集合。调用方归属甲方由服务端身份解析，filter 中无需传 partnerid。支持 $gte/$lte 日期范围、$in/$or 多值匹配。本体: order → Action: list\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市场实例凭证。未登录调用返回 401；云市场实"},{"name":"welfare_list","description":"查用户体检件。查询 userWelfare 集合。传 {customerMobile: \"138xxx\"} 或 {name: \"张三\"} 查对应用户的体检件。已知 userid 可直接传 {userid: \"xxx\"}。本体: welfare → Action: list\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市"},{"name":"template_stats","description":"团单模板统计。查询 welfareTemplate 集合，返回发放/激活/预约/到检/报告计数。调用方归属甲方由服务端身份解析。本体: template → Action: stats\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市场实例凭证。未登录调用返回 401；云市场实例未绑定用户时返回 code=40003 和"},{"name":"corp_inquiry","description":"提交企业商务咨询。企业客户有任何问题（合作咨询、产品了解、报价请求、投诉建议）均可提交，销售 24h 内联系。本体: corp → Action: inquiry"},{"name":"corp_contact","description":"查询好啦商务对接人（团检/商务合作）：返回对接人姓名、电话、邮箱、二维码图片 URL。用户报价后需要人工商务对接时调用。本体: corp → Action: contact"},{"name":"plan_quotation","description":"企业团检报价：quotes 为对象数组，每档一个方案。每项 = { tier(档名，仅标识该档、不参与报价，返回时回填), budget(人均预算元，必填), healthConcerns(该档健康诉求，必填), populations?(人群数组 man/lady/girl，默认三人，该档) }。可选 partner"},{"name":"plan_recommend","description":"个人体检推荐：按调用方身份读用户名下体检件与模板，结合性别、婚姻状况、预算、健康诉求推荐体检项目，返回 data.selected_items（每项带 constraintId）与 planId。planId 直接传给 reservation.book 预约，不要自己拼项目。长耗时，建议每阶段调用 progress.r"},{"name":"faq","description":"体检 FAQ。不传 query 则列出所有问题。query 必须是短关键词(2-4字，如\"报告\"、\"预约\"、\"空腹\")，不要传完整问句。"},{"name":"knowledge_get","description":"按需查询领域知识。外部可用 URI: enums(状态码) / objects/checkup-proposal(企业团检方案顾问引导词)。查 action 参数用 help()。团检报价场景先用 knowledge_get({uri:\"objects/checkup-proposal\"}) 加载《企业团检方案顾问》引"},{"name":"help","description":"三级帮助系统。无参列出本体；传 ontology 列出该本体下工具；传 ontology 和 sub_action 查看参数，sub_action 用完整名称，如 vendor.list、plan.quotation。"},{"name":"welfare_detail","description":"查询指定福利的详细内容，包括检查项目列表、规则说明、适用机构等。本体: welfare → Action: detail\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市场实例凭证。未登录调用返回 401；云市场实例未绑定用户时返回 code=40003 和 data.bindUrl。"},{"name":"cautions","description":"根据体检项目查询注意事项（饮食、用药、禁忌等）。需调用方用户标识（external_user_id 自动注入），partnerid 由服务端按用户标识解析，禁止客户端传。传 checkPackage 查套餐注意事项（必带 vendorid）；传 serviceid 仅允许查本人订单。本体: knowledge → Ac"},{"name":"order_detail","description":"查询单个订单完整详情，包括预约信息、医院信息、套餐项目、支付状态。本体: order → Action: detail\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市场实例凭证。未登录调用返回 401；云市场实例未绑定用户时返回 code=40003 和 data.bindUrl。"},{"name":"contact_list","description":"列出当前用户的就诊人列表。本体: contact → Action: list\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市场实例凭证。未登录调用返回 401；云市场实例未绑定用户时返回 code=40003 和 data.bindUrl。"},{"name":"contact_get","description":"查询指定就诊人的完整信息（含脱敏证件号）。本体: contact → Action: get\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市场实例凭证。未登录调用返回 401；云市场实例未绑定用户时返回 code=40003 和 data.bindUrl。"},{"name":"contact_create","description":"新增就诊人信息。本体: contact → Action: create\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市场实例凭证。未登录调用返回 401；云市场实例未绑定用户时返回 code=40003 和 data.bindUrl。"},{"name":"contact_update","description":"更新就诊人信息（姓名、手机号等）。本体: contact → Action: update\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市场实例凭证。未登录调用返回 401；云市场实例未绑定用户时返回 code=40003 和 data.bindUrl。"},{"name":"reservation_book","description":"体检预约：按 planId 取出项目，交给伙伴接口下单。传 contactId 时直接使用该就诊人，不需要再传 customerName/customerID/customerMobile。IDType 为 SFZ 时按身份证规则校验。体检项目只来自 planId，客户端不能提交项目。返回 serviceid 作为预约"},{"name":"reservation_cancel","description":"取消预约：按预约号取消，预约号取自 reservation.book 返回的 serviceid。本体: reservation → Action: cancel\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市场实例凭证。未登录调用返回 401；云市场实例未绑定用户时返回 code=40003 和 data.bindU"},{"name":"reservation_modify","description":"更改预约日期：按预约号改期。本体: reservation → Action: modify\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市场实例凭证。未登录调用返回 401；云市场实例未绑定用户时返回 code=40003 和 data.bindUrl。"},{"name":"card_list","description":"根据卡号查卡密及兑换使用情况。welfareId 为空=未兑换，非空时串联福利和订单。本体: card → Action: list\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市场实例凭证。未登录调用返回 401；云市场实例未绑定用户时返回 code=40003 和 data.bindUrl。"},{"name":"template_list","description":"查询团单模板列表。按 partnerid 过滤，返回模板摘要（不含套餐明细 rules.items）。外部调用由服务端身份解析归属甲方。本体: template → Action: list\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市场实例凭证。未登录调用返回 401；云市场实例未绑定用户时返回 code=4000"},{"name":"template_detail","description":"查询团单模板详情，返回完整模板文档含 users 字段（每个 user 含 welfareId/isConsumed）。本体: template → Action: detail\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市场实例凭证。未登录调用返回 401；云市场实例未绑定用户时返回 code=40003 和 da"},{"name":"progress_report","description":"长耗时任务进度上报。agent 每完成一个阶段调用一次，text 为给用户看的可读进度，如「报告解析中，预计 10 秒」。不落地业务数据，仅用于向用户展示过程。"}],"toolCount":26,"toolsHash":"4a81a5066868e6ab6780b3e5dc4c00b4949d2baa21337059a227b2cc8f179f07","serverName":"haola-pe","capabilities":["tools"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-24T09:25:29.839Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":268,"error":null,"detail":{"tools":[{"name":"vendor_list","description":"查门店地址。支持三种方式，至少传一种：1) hospitalCode（可带 vendorids，按第一个品牌查）；2) longitude+latitude（可带 radius 米，默认 50000，可带 vendorids）；3) province/city/district（可带 vendorids）。外部调用仅支"},{"name":"vendor_brands","description":"查各体检品牌覆盖的城市（品牌聚合摘要，不返回具体门店）。本体: vendor → Action: brands"},{"name":"order_list","description":"查订单。查询 userOrders 集合。调用方归属甲方由服务端身份解析，filter 中无需传 partnerid。支持 $gte/$lte 日期范围、$in/$or 多值匹配。本体: order → Action: list\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市场实例凭证。未登录调用返回 401；云市场实"},{"name":"welfare_list","description":"查用户体检件。查询 userWelfare 集合。传 {customerMobile: \"138xxx\"} 或 {name: \"张三\"} 查对应用户的体检件。已知 userid 可直接传 {userid: \"xxx\"}。本体: welfare → Action: list\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市"},{"name":"template_stats","description":"团单模板统计。查询 welfareTemplate 集合，返回发放/激活/预约/到检/报告计数。调用方归属甲方由服务端身份解析。本体: template → Action: stats\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市场实例凭证。未登录调用返回 401；云市场实例未绑定用户时返回 code=40003 和"},{"name":"corp_inquiry","description":"提交企业商务咨询。企业客户有任何问题（合作咨询、产品了解、报价请求、投诉建议）均可提交，销售 24h 内联系。本体: corp → Action: inquiry"},{"name":"corp_contact","description":"查询好啦商务对接人（团检/商务合作）：返回对接人姓名、电话、邮箱、二维码图片 URL。用户报价后需要人工商务对接时调用。本体: corp → Action: contact"},{"name":"plan_quotation","description":"企业团检报价：quotes 为对象数组，每档一个方案。每项 = { tier(档名，仅标识该档、不参与报价，返回时回填), budget(人均预算元，必填), healthConcerns(该档健康诉求，必填), populations?(人群数组 man/lady/girl，默认三人，该档) }。可选 partner"},{"name":"plan_recommend","description":"个人体检推荐：按调用方身份读用户名下体检件与模板，结合性别、婚姻状况、预算、健康诉求推荐体检项目，返回 data.selected_items（每项带 constraintId）与 planId。planId 直接传给 reservation.book 预约，不要自己拼项目。长耗时，建议每阶段调用 progress.r"},{"name":"faq","description":"体检 FAQ。不传 query 则列出所有问题。query 必须是短关键词(2-4字，如\"报告\"、\"预约\"、\"空腹\")，不要传完整问句。"},{"name":"knowledge_get","description":"按需查询领域知识。外部可用 URI: enums(状态码) / objects/checkup-proposal(企业团检方案顾问引导词)。查 action 参数用 help()。团检报价场景先用 knowledge_get({uri:\"objects/checkup-proposal\"}) 加载《企业团检方案顾问》引"},{"name":"help","description":"三级帮助系统。无参列出本体；传 ontology 列出该本体下工具；传 ontology 和 sub_action 查看参数，sub_action 用完整名称，如 vendor.list、plan.quotation。"},{"name":"welfare_detail","description":"查询指定福利的详细内容，包括检查项目列表、规则说明、适用机构等。本体: welfare → Action: detail\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市场实例凭证。未登录调用返回 401；云市场实例未绑定用户时返回 code=40003 和 data.bindUrl。"},{"name":"cautions","description":"根据体检项目查询注意事项（饮食、用药、禁忌等）。需调用方用户标识（external_user_id 自动注入），partnerid 由服务端按用户标识解析，禁止客户端传。传 checkPackage 查套餐注意事项（必带 vendorid）；传 serviceid 仅允许查本人订单。本体: knowledge → Ac"},{"name":"order_detail","description":"查询单个订单完整详情，包括预约信息、医院信息、套餐项目、支付状态。本体: order → Action: detail\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市场实例凭证。未登录调用返回 401；云市场实例未绑定用户时返回 code=40003 和 data.bindUrl。"},{"name":"contact_list","description":"列出当前用户的就诊人列表。本体: contact → Action: list\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市场实例凭证。未登录调用返回 401；云市场实例未绑定用户时返回 code=40003 和 data.bindUrl。"},{"name":"contact_get","description":"查询指定就诊人的完整信息（含脱敏证件号）。本体: contact → Action: get\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市场实例凭证。未登录调用返回 401；云市场实例未绑定用户时返回 code=40003 和 data.bindUrl。"},{"name":"contact_create","description":"新增就诊人信息。本体: contact → Action: create\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市场实例凭证。未登录调用返回 401；云市场实例未绑定用户时返回 code=40003 和 data.bindUrl。"},{"name":"contact_update","description":"更新就诊人信息（姓名、手机号等）。本体: contact → Action: update\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市场实例凭证。未登录调用返回 401；云市场实例未绑定用户时返回 code=40003 和 data.bindUrl。"},{"name":"reservation_book","description":"体检预约：按 planId 取出项目，交给伙伴接口下单。传 contactId 时直接使用该就诊人，不需要再传 customerName/customerID/customerMobile。IDType 为 SFZ 时按身份证规则校验。体检项目只来自 planId，客户端不能提交项目。返回 serviceid 作为预约"},{"name":"reservation_cancel","description":"取消预约：按预约号取消，预约号取自 reservation.book 返回的 serviceid。本体: reservation → Action: cancel\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市场实例凭证。未登录调用返回 401；云市场实例未绑定用户时返回 code=40003 和 data.bindU"},{"name":"reservation_modify","description":"更改预约日期：按预约号改期。本体: reservation → Action: modify\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市场实例凭证。未登录调用返回 401；云市场实例未绑定用户时返回 code=40003 和 data.bindUrl。"},{"name":"card_list","description":"根据卡号查卡密及兑换使用情况。welfareId 为空=未兑换，非空时串联福利和订单。本体: card → Action: list\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市场实例凭证。未登录调用返回 401；云市场实例未绑定用户时返回 code=40003 和 data.bindUrl。"},{"name":"template_list","description":"查询团单模板列表。按 partnerid 过滤，返回模板摘要（不含套餐明细 rules.items）。外部调用由服务端身份解析归属甲方。本体: template → Action: list\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市场实例凭证。未登录调用返回 401；云市场实例未绑定用户时返回 code=4000"},{"name":"template_detail","description":"查询团单模板详情，返回完整模板文档含 users 字段（每个 user 含 welfareId/isConsumed）。本体: template → Action: detail\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市场实例凭证。未登录调用返回 401；云市场实例未绑定用户时返回 code=40003 和 da"},{"name":"progress_report","description":"长耗时任务进度上报。agent 每完成一个阶段调用一次，text 为给用户看的可读进度，如「报告解析中，预计 10 秒」。不落地业务数据，仅用于向用户展示过程。"}],"toolCount":26,"toolsHash":"4a81a5066868e6ab6780b3e5dc4c00b4949d2baa21337059a227b2cc8f179f07","serverName":"haola-pe","capabilities":["tools"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-24T02:23:10.469Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":234,"error":null,"detail":{"tools":[{"name":"vendor_list","description":"查门店地址。支持三种方式，至少传一种：1) hospitalCode（可带 vendorids，按第一个品牌查）；2) longitude+latitude（可带 radius 米，默认 50000，可带 vendorids）；3) province/city/district（可带 vendorids）。外部调用仅支"},{"name":"vendor_brands","description":"查各体检品牌覆盖的城市（品牌聚合摘要，不返回具体门店）。本体: vendor → Action: brands"},{"name":"order_list","description":"查订单。查询 userOrders 集合。调用方归属甲方由服务端身份解析，filter 中无需传 partnerid。支持 $gte/$lte 日期范围、$in/$or 多值匹配。本体: order → Action: list\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市场实例凭证。未登录调用返回 401；云市场实"},{"name":"welfare_list","description":"查用户体检件。查询 userWelfare 集合。传 {customerMobile: \"138xxx\"} 或 {name: \"张三\"} 查对应用户的体检件。已知 userid 可直接传 {userid: \"xxx\"}。本体: welfare → Action: list\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市"},{"name":"template_stats","description":"团单模板统计。查询 welfareTemplate 集合，返回发放/激活/预约/到检/报告计数。调用方归属甲方由服务端身份解析。本体: template → Action: stats\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市场实例凭证。未登录调用返回 401；云市场实例未绑定用户时返回 code=40003 和"},{"name":"corp_inquiry","description":"提交企业商务咨询。企业客户有任何问题（合作咨询、产品了解、报价请求、投诉建议）均可提交，销售 24h 内联系。本体: corp → Action: inquiry"},{"name":"corp_contact","description":"查询好啦商务对接人（团检/商务合作）：返回对接人姓名、电话、邮箱、二维码图片 URL。用户报价后需要人工商务对接时调用。本体: corp → Action: contact"},{"name":"plan_quotation","description":"企业团检报价：quotes 为对象数组，每档一个方案。每项 = { tier(档名，仅标识该档、不参与报价，返回时回填), budget(人均预算元，必填), healthConcerns(该档健康诉求，必填), populations?(人群数组 man/lady/girl，默认三人，该档) }。可选 partner"},{"name":"plan_recommend","description":"个人体检推荐：按调用方身份读用户名下体检件与模板，结合性别、婚姻状况、预算、健康诉求推荐体检项目，返回 data.selected_items（每项带 constraintId）与 planId。planId 直接传给 reservation.book 预约，不要自己拼项目。长耗时，建议每阶段调用 progress.r"},{"name":"faq","description":"体检 FAQ。不传 query 则列出所有问题。query 必须是短关键词(2-4字，如\"报告\"、\"预约\"、\"空腹\")，不要传完整问句。"},{"name":"knowledge_get","description":"按需查询领域知识。外部可用 URI: enums(状态码) / objects/checkup-proposal(企业团检方案顾问引导词)。查 action 参数用 help()。团检报价场景先用 knowledge_get({uri:\"objects/checkup-proposal\"}) 加载《企业团检方案顾问》引"},{"name":"help","description":"三级帮助系统。无参列出本体；传 ontology 列出该本体下工具；传 ontology 和 sub_action 查看参数，sub_action 用完整名称，如 vendor.list、plan.quotation。"},{"name":"welfare_detail","description":"查询指定福利的详细内容，包括检查项目列表、规则说明、适用机构等。本体: welfare → Action: detail\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市场实例凭证。未登录调用返回 401；云市场实例未绑定用户时返回 code=40003 和 data.bindUrl。"},{"name":"cautions","description":"根据体检项目查询注意事项（饮食、用药、禁忌等）。需调用方用户标识（external_user_id 自动注入），partnerid 由服务端按用户标识解析，禁止客户端传。传 checkPackage 查套餐注意事项（必带 vendorid）；传 serviceid 仅允许查本人订单。本体: knowledge → Ac"},{"name":"order_detail","description":"查询单个订单完整详情，包括预约信息、医院信息、套餐项目、支付状态。本体: order → Action: detail\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市场实例凭证。未登录调用返回 401；云市场实例未绑定用户时返回 code=40003 和 data.bindUrl。"},{"name":"contact_list","description":"列出当前用户的就诊人列表。本体: contact → Action: list\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市场实例凭证。未登录调用返回 401；云市场实例未绑定用户时返回 code=40003 和 data.bindUrl。"},{"name":"contact_get","description":"查询指定就诊人的完整信息（含脱敏证件号）。本体: contact → Action: get\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市场实例凭证。未登录调用返回 401；云市场实例未绑定用户时返回 code=40003 和 data.bindUrl。"},{"name":"contact_create","description":"新增就诊人信息。本体: contact → Action: create\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市场实例凭证。未登录调用返回 401；云市场实例未绑定用户时返回 code=40003 和 data.bindUrl。"},{"name":"contact_update","description":"更新就诊人信息（姓名、手机号等）。本体: contact → Action: update\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市场实例凭证。未登录调用返回 401；云市场实例未绑定用户时返回 code=40003 和 data.bindUrl。"},{"name":"reservation_book","description":"体检预约：按 planId 取出项目，交给伙伴接口下单。传 contactId 时直接使用该就诊人，不需要再传 customerName/customerID/customerMobile。IDType 为 SFZ 时按身份证规则校验。体检项目只来自 planId，客户端不能提交项目。返回 serviceid 作为预约"},{"name":"reservation_cancel","description":"取消预约：按预约号取消，预约号取自 reservation.book 返回的 serviceid。本体: reservation → Action: cancel\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市场实例凭证。未登录调用返回 401；云市场实例未绑定用户时返回 code=40003 和 data.bindU"},{"name":"reservation_modify","description":"更改预约日期：按预约号改期。本体: reservation → Action: modify\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市场实例凭证。未登录调用返回 401；云市场实例未绑定用户时返回 code=40003 和 data.bindUrl。"},{"name":"card_list","description":"根据卡号查卡密及兑换使用情况。welfareId 为空=未兑换，非空时串联福利和订单。本体: card → Action: list\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市场实例凭证。未登录调用返回 401；云市场实例未绑定用户时返回 code=40003 和 data.bindUrl。"},{"name":"template_list","description":"查询团单模板列表。按 partnerid 过滤，返回模板摘要（不含套餐明细 rules.items）。外部调用由服务端身份解析归属甲方。本体: template → Action: list\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市场实例凭证。未登录调用返回 401；云市场实例未绑定用户时返回 code=4000"},{"name":"template_detail","description":"查询团单模板详情，返回完整模板文档含 users 字段（每个 user 含 welfareId/isConsumed）。本体: template → Action: detail\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市场实例凭证。未登录调用返回 401；云市场实例未绑定用户时返回 code=40003 和 da"},{"name":"progress_report","description":"长耗时任务进度上报。agent 每完成一个阶段调用一次，text 为给用户看的可读进度，如「报告解析中，预计 10 秒」。不落地业务数据，仅用于向用户展示过程。"}],"toolCount":26,"toolsHash":"4a81a5066868e6ab6780b3e5dc4c00b4949d2baa21337059a227b2cc8f179f07","serverName":"haola-pe","capabilities":["tools"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-23T20:23:45.186Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":267,"error":null,"detail":{"tools":[{"name":"vendor_list","description":"查门店地址。支持三种方式，至少传一种：1) hospitalCode（可带 vendorids，按第一个品牌查）；2) longitude+latitude（可带 radius 米，默认 50000，可带 vendorids）；3) province/city/district（可带 vendorids）。外部调用仅支"},{"name":"vendor_brands","description":"查各体检品牌覆盖的城市（品牌聚合摘要，不返回具体门店）。本体: vendor → Action: brands"},{"name":"order_list","description":"查订单。查询 userOrders 集合。调用方归属甲方由服务端身份解析，filter 中无需传 partnerid。支持 $gte/$lte 日期范围、$in/$or 多值匹配。本体: order → Action: list\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市场实例凭证。未登录调用返回 401；云市场实"},{"name":"welfare_list","description":"查用户体检件。查询 userWelfare 集合。传 {customerMobile: \"138xxx\"} 或 {name: \"张三\"} 查对应用户的体检件。已知 userid 可直接传 {userid: \"xxx\"}。本体: welfare → Action: list\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市"},{"name":"template_stats","description":"团单模板统计。查询 welfareTemplate 集合，返回发放/激活/预约/到检/报告计数。调用方归属甲方由服务端身份解析。本体: template → Action: stats\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市场实例凭证。未登录调用返回 401；云市场实例未绑定用户时返回 code=40003 和"},{"name":"corp_inquiry","description":"提交企业商务咨询。企业客户有任何问题（合作咨询、产品了解、报价请求、投诉建议）均可提交，销售 24h 内联系。本体: corp → Action: inquiry"},{"name":"corp_contact","description":"查询好啦商务对接人（团检/商务合作）：返回对接人姓名、电话、邮箱、二维码图片 URL。用户报价后需要人工商务对接时调用。本体: corp → Action: contact"},{"name":"plan_quotation","description":"企业团检报价：quotes 为对象数组，每档一个方案。每项 = { tier(档名，仅标识该档、不参与报价，返回时回填), budget(人均预算元，必填), healthConcerns(该档健康诉求，必填), populations?(人群数组 man/lady/girl，默认三人，该档) }。可选 partner"},{"name":"plan_recommend","description":"个人体检推荐：按调用方身份读用户名下体检件与模板，结合性别、婚姻状况、预算、健康诉求推荐体检项目，返回 data.selected_items（每项带 constraintId）与 planId。planId 直接传给 reservation.book 预约，不要自己拼项目。长耗时，建议每阶段调用 progress.r"},{"name":"faq","description":"体检 FAQ。不传 query 则列出所有问题。query 必须是短关键词(2-4字，如\"报告\"、\"预约\"、\"空腹\")，不要传完整问句。"},{"name":"knowledge_get","description":"按需查询领域知识。外部可用 URI: enums(状态码) / objects/checkup-proposal(企业团检方案顾问引导词)。查 action 参数用 help()。团检报价场景先用 knowledge_get({uri:\"objects/checkup-proposal\"}) 加载《企业团检方案顾问》引"},{"name":"help","description":"三级帮助系统。无参列出本体；传 ontology 列出该本体下工具；传 ontology 和 sub_action 查看参数，sub_action 用完整名称，如 vendor.list、plan.quotation。"},{"name":"welfare_detail","description":"查询指定福利的详细内容，包括检查项目列表、规则说明、适用机构等。本体: welfare → Action: detail\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市场实例凭证。未登录调用返回 401；云市场实例未绑定用户时返回 code=40003 和 data.bindUrl。"},{"name":"cautions","description":"根据体检项目查询注意事项（饮食、用药、禁忌等）。需调用方用户标识（external_user_id 自动注入），partnerid 由服务端按用户标识解析，禁止客户端传。传 checkPackage 查套餐注意事项（必带 vendorid）；传 serviceid 仅允许查本人订单。本体: knowledge → Ac"},{"name":"order_detail","description":"查询单个订单完整详情，包括预约信息、医院信息、套餐项目、支付状态。本体: order → Action: detail\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市场实例凭证。未登录调用返回 401；云市场实例未绑定用户时返回 code=40003 和 data.bindUrl。"},{"name":"contact_list","description":"列出当前用户的就诊人列表。本体: contact → Action: list\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市场实例凭证。未登录调用返回 401；云市场实例未绑定用户时返回 code=40003 和 data.bindUrl。"},{"name":"contact_get","description":"查询指定就诊人的完整信息（含脱敏证件号）。本体: contact → Action: get\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市场实例凭证。未登录调用返回 401；云市场实例未绑定用户时返回 code=40003 和 data.bindUrl。"},{"name":"contact_create","description":"新增就诊人信息。本体: contact → Action: create\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市场实例凭证。未登录调用返回 401；云市场实例未绑定用户时返回 code=40003 和 data.bindUrl。"},{"name":"contact_update","description":"更新就诊人信息（姓名、手机号等）。本体: contact → Action: update\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市场实例凭证。未登录调用返回 401；云市场实例未绑定用户时返回 code=40003 和 data.bindUrl。"},{"name":"reservation_book","description":"体检预约：按 planId 取出项目，交给伙伴接口下单。传 contactId 时直接使用该就诊人，不需要再传 customerName/customerID/customerMobile。IDType 为 SFZ 时按身份证规则校验。体检项目只来自 planId，客户端不能提交项目。返回 serviceid 作为预约"},{"name":"reservation_cancel","description":"取消预约：按预约号取消，预约号取自 reservation.book 返回的 serviceid。本体: reservation → Action: cancel\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市场实例凭证。未登录调用返回 401；云市场实例未绑定用户时返回 code=40003 和 data.bindU"},{"name":"reservation_modify","description":"更改预约日期：按预约号改期。本体: reservation → Action: modify\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市场实例凭证。未登录调用返回 401；云市场实例未绑定用户时返回 code=40003 和 data.bindUrl。"},{"name":"card_list","description":"根据卡号查卡密及兑换使用情况。welfareId 为空=未兑换，非空时串联福利和订单。本体: card → Action: list\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市场实例凭证。未登录调用返回 401；云市场实例未绑定用户时返回 code=40003 和 data.bindUrl。"},{"name":"template_list","description":"查询团单模板列表。按 partnerid 过滤，返回模板摘要（不含套餐明细 rules.items）。外部调用由服务端身份解析归属甲方。本体: template → Action: list\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市场实例凭证。未登录调用返回 401；云市场实例未绑定用户时返回 code=4000"},{"name":"template_detail","description":"查询团单模板详情，返回完整模板文档含 users 字段（每个 user 含 welfareId/isConsumed）。本体: template → Action: detail\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市场实例凭证。未登录调用返回 401；云市场实例未绑定用户时返回 code=40003 和 da"},{"name":"progress_report","description":"长耗时任务进度上报。agent 每完成一个阶段调用一次，text 为给用户看的可读进度，如「报告解析中，预计 10 秒」。不落地业务数据，仅用于向用户展示过程。"}],"toolCount":26,"toolsHash":"4a81a5066868e6ab6780b3e5dc4c00b4949d2baa21337059a227b2cc8f179f07","serverName":"haola-pe","capabilities":["tools"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-23T13:28:02.925Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":226,"error":null,"detail":{"tools":[{"name":"vendor_list","description":"查门店地址。支持三种方式，至少传一种：1) hospitalCode（可带 vendorids，按第一个品牌查）；2) longitude+latitude（可带 radius 米，默认 50000，可带 vendorids）；3) province/city/district（可带 vendorids）。外部调用仅支"},{"name":"vendor_brands","description":"查各体检品牌覆盖的城市（品牌聚合摘要，不返回具体门店）。本体: vendor → Action: brands"},{"name":"order_list","description":"查订单。查询 userOrders 集合。调用方归属甲方由服务端身份解析，filter 中无需传 partnerid。支持 $gte/$lte 日期范围、$in/$or 多值匹配。本体: order → Action: list\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市场实例凭证。未登录调用返回 401；云市场实"},{"name":"welfare_list","description":"查用户体检件。查询 userWelfare 集合。传 {customerMobile: \"138xxx\"} 或 {name: \"张三\"} 查对应用户的体检件。已知 userid 可直接传 {userid: \"xxx\"}。本体: welfare → Action: list\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市"},{"name":"template_stats","description":"团单模板统计。查询 welfareTemplate 集合，返回发放/激活/预约/到检/报告计数。调用方归属甲方由服务端身份解析。本体: template → Action: stats\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市场实例凭证。未登录调用返回 401；云市场实例未绑定用户时返回 code=40003 和"},{"name":"corp_inquiry","description":"提交企业商务咨询。企业客户有任何问题（合作咨询、产品了解、报价请求、投诉建议）均可提交，销售 24h 内联系。本体: corp → Action: inquiry"},{"name":"corp_contact","description":"查询好啦商务对接人（团检/商务合作）：返回对接人姓名、电话、邮箱、二维码图片 URL。用户报价后需要人工商务对接时调用。本体: corp → Action: contact"},{"name":"plan_quotation","description":"企业团检报价：quotes 为对象数组，每档一个方案。每项 = { tier(档名，仅标识该档、不参与报价，返回时回填), budget(人均预算元，必填), healthConcerns(该档健康诉求，必填), populations?(人群数组 man/lady/girl，默认三人，该档) }。可选 partner"},{"name":"plan_recommend","description":"个人体检推荐：按调用方身份读用户名下体检件与模板，结合性别、婚姻状况、预算、健康诉求推荐体检项目，返回 data.selected_items（每项带 constraintId）与 planId。planId 直接传给 reservation.book 预约，不要自己拼项目。长耗时，建议每阶段调用 progress.r"},{"name":"faq","description":"体检 FAQ。不传 query 则列出所有问题。query 必须是短关键词(2-4字，如\"报告\"、\"预约\"、\"空腹\")，不要传完整问句。"},{"name":"knowledge_get","description":"按需查询领域知识。外部可用 URI: enums(状态码) / objects/checkup-proposal(企业团检方案顾问引导词)。查 action 参数用 help()。团检报价场景先用 knowledge_get({uri:\"objects/checkup-proposal\"}) 加载《企业团检方案顾问》引"},{"name":"help","description":"三级帮助系统。无参列出本体；传 ontology 列出该本体下工具；传 ontology 和 sub_action 查看参数，sub_action 用完整名称，如 vendor.list、plan.quotation。"},{"name":"welfare_detail","description":"查询指定福利的详细内容，包括检查项目列表、规则说明、适用机构等。本体: welfare → Action: detail\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市场实例凭证。未登录调用返回 401；云市场实例未绑定用户时返回 code=40003 和 data.bindUrl。"},{"name":"cautions","description":"根据体检项目查询注意事项（饮食、用药、禁忌等）。需调用方用户标识（external_user_id 自动注入），partnerid 由服务端按用户标识解析，禁止客户端传。传 checkPackage 查套餐注意事项（必带 vendorid）；传 serviceid 仅允许查本人订单。本体: knowledge → Ac"},{"name":"order_detail","description":"查询单个订单完整详情，包括预约信息、医院信息、套餐项目、支付状态。本体: order → Action: detail\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市场实例凭证。未登录调用返回 401；云市场实例未绑定用户时返回 code=40003 和 data.bindUrl。"},{"name":"contact_list","description":"列出当前用户的就诊人列表。本体: contact → Action: list\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市场实例凭证。未登录调用返回 401；云市场实例未绑定用户时返回 code=40003 和 data.bindUrl。"},{"name":"contact_get","description":"查询指定就诊人的完整信息（含脱敏证件号）。本体: contact → Action: get\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市场实例凭证。未登录调用返回 401；云市场实例未绑定用户时返回 code=40003 和 data.bindUrl。"},{"name":"contact_create","description":"新增就诊人信息。本体: contact → Action: create\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市场实例凭证。未登录调用返回 401；云市场实例未绑定用户时返回 code=40003 和 data.bindUrl。"},{"name":"contact_update","description":"更新就诊人信息（姓名、手机号等）。本体: contact → Action: update\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市场实例凭证。未登录调用返回 401；云市场实例未绑定用户时返回 code=40003 和 data.bindUrl。"},{"name":"reservation_book","description":"体检预约：按 planId 取出项目，交给伙伴接口下单。传 contactId 时直接使用该就诊人，不需要再传 customerName/customerID/customerMobile。IDType 为 SFZ 时按身份证规则校验。体检项目只来自 planId，客户端不能提交项目。返回 serviceid 作为预约"},{"name":"reservation_cancel","description":"取消预约：按预约号取消，预约号取自 reservation.book 返回的 serviceid。本体: reservation → Action: cancel\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市场实例凭证。未登录调用返回 401；云市场实例未绑定用户时返回 code=40003 和 data.bindU"},{"name":"reservation_modify","description":"更改预约日期：按预约号改期。本体: reservation → Action: modify\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市场实例凭证。未登录调用返回 401；云市场实例未绑定用户时返回 code=40003 和 data.bindUrl。"},{"name":"card_list","description":"根据卡号查卡密及兑换使用情况。welfareId 为空=未兑换，非空时串联福利和订单。本体: card → Action: list\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市场实例凭证。未登录调用返回 401；云市场实例未绑定用户时返回 code=40003 和 data.bindUrl。"},{"name":"template_list","description":"查询团单模板列表。按 partnerid 过滤，返回模板摘要（不含套餐明细 rules.items）。外部调用由服务端身份解析归属甲方。本体: template → Action: list\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市场实例凭证。未登录调用返回 401；云市场实例未绑定用户时返回 code=4000"},{"name":"template_detail","description":"查询团单模板详情，返回完整模板文档含 users 字段（每个 user 含 welfareId/isConsumed）。本体: template → Action: detail\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市场实例凭证。未登录调用返回 401；云市场实例未绑定用户时返回 code=40003 和 da"},{"name":"progress_report","description":"长耗时任务进度上报。agent 每完成一个阶段调用一次，text 为给用户看的可读进度，如「报告解析中，预计 10 秒」。不落地业务数据，仅用于向用户展示过程。"}],"toolCount":26,"toolsHash":"4a81a5066868e6ab6780b3e5dc4c00b4949d2baa21337059a227b2cc8f179f07","serverName":"haola-pe","capabilities":["tools"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-23T06:25:57.223Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":292,"error":null,"detail":{"tools":[{"name":"vendor_list","description":"查门店地址。支持三种方式，至少传一种：1) hospitalCode（可带 vendorids，按第一个品牌查）；2) longitude+latitude（可带 radius 米，默认 50000，可带 vendorids）；3) province/city/district（可带 vendorids）。外部调用仅支"},{"name":"vendor_brands","description":"查各体检品牌覆盖的城市（品牌聚合摘要，不返回具体门店）。本体: vendor → Action: brands"},{"name":"order_list","description":"查订单。查询 userOrders 集合。调用方归属甲方由服务端身份解析，filter 中无需传 partnerid。支持 $gte/$lte 日期范围、$in/$or 多值匹配。本体: order → Action: list\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市场实例凭证。未登录调用返回 401；云市场实"},{"name":"welfare_list","description":"查用户体检件。查询 userWelfare 集合。传 {customerMobile: \"138xxx\"} 或 {name: \"张三\"} 查对应用户的体检件。已知 userid 可直接传 {userid: \"xxx\"}。本体: welfare → Action: list\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市"},{"name":"template_stats","description":"团单模板统计。查询 welfareTemplate 集合，返回发放/激活/预约/到检/报告计数。调用方归属甲方由服务端身份解析。本体: template → Action: stats\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市场实例凭证。未登录调用返回 401；云市场实例未绑定用户时返回 code=40003 和"},{"name":"corp_inquiry","description":"提交企业商务咨询。企业客户有任何问题（合作咨询、产品了解、报价请求、投诉建议）均可提交，销售 24h 内联系。本体: corp → Action: inquiry"},{"name":"corp_contact","description":"查询好啦商务对接人（团检/商务合作）：返回对接人姓名、电话、邮箱、二维码图片 URL。用户报价后需要人工商务对接时调用。本体: corp → Action: contact"},{"name":"plan_quotation","description":"企业团检报价：quotes 为对象数组，每档一个方案。每项 = { tier(档名，仅标识该档、不参与报价，返回时回填), budget(人均预算元，必填), healthConcerns(该档健康诉求，必填), populations?(人群数组 man/lady/girl，默认三人，该档) }。可选 partner"},{"name":"plan_recommend","description":"个人体检推荐：按调用方身份读用户名下体检件与模板，结合性别、婚姻状况、预算、健康诉求推荐体检项目，返回 data.selected_items（每项带 constraintId）与 planId。planId 直接传给 reservation.book 预约，不要自己拼项目。长耗时，建议每阶段调用 progress.r"},{"name":"faq","description":"体检 FAQ。不传 query 则列出所有问题。query 必须是短关键词(2-4字，如\"报告\"、\"预约\"、\"空腹\")，不要传完整问句。"},{"name":"knowledge_get","description":"按需查询领域知识。外部可用 URI: enums(状态码) / objects/checkup-proposal(企业团检方案顾问引导词)。查 action 参数用 help()。团检报价场景先用 knowledge_get({uri:\"objects/checkup-proposal\"}) 加载《企业团检方案顾问》引"},{"name":"help","description":"三级帮助系统。无参列出本体；传 ontology 列出该本体下工具；传 ontology 和 sub_action 查看参数，sub_action 用完整名称，如 vendor.list、plan.quotation。"},{"name":"welfare_detail","description":"查询指定福利的详细内容，包括检查项目列表、规则说明、适用机构等。本体: welfare → Action: detail\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市场实例凭证。未登录调用返回 401；云市场实例未绑定用户时返回 code=40003 和 data.bindUrl。"},{"name":"cautions","description":"根据体检项目查询注意事项（饮食、用药、禁忌等）。需调用方用户标识（external_user_id 自动注入），partnerid 由服务端按用户标识解析，禁止客户端传。传 checkPackage 查套餐注意事项（必带 vendorid）；传 serviceid 仅允许查本人订单。本体: knowledge → Ac"},{"name":"order_detail","description":"查询单个订单完整详情，包括预约信息、医院信息、套餐项目、支付状态。本体: order → Action: detail\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市场实例凭证。未登录调用返回 401；云市场实例未绑定用户时返回 code=40003 和 data.bindUrl。"},{"name":"contact_list","description":"列出当前用户的就诊人列表。本体: contact → Action: list\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市场实例凭证。未登录调用返回 401；云市场实例未绑定用户时返回 code=40003 和 data.bindUrl。"},{"name":"contact_get","description":"查询指定就诊人的完整信息（含脱敏证件号）。本体: contact → Action: get\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市场实例凭证。未登录调用返回 401；云市场实例未绑定用户时返回 code=40003 和 data.bindUrl。"},{"name":"contact_create","description":"新增就诊人信息。本体: contact → Action: create\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市场实例凭证。未登录调用返回 401；云市场实例未绑定用户时返回 code=40003 和 data.bindUrl。"},{"name":"contact_update","description":"更新就诊人信息（姓名、手机号等）。本体: contact → Action: update\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市场实例凭证。未登录调用返回 401；云市场实例未绑定用户时返回 code=40003 和 data.bindUrl。"},{"name":"reservation_book","description":"体检预约：按 planId 取出项目，交给伙伴接口下单。传 contactId 时直接使用该就诊人，不需要再传 customerName/customerID/customerMobile。IDType 为 SFZ 时按身份证规则校验。体检项目只来自 planId，客户端不能提交项目。返回 serviceid 作为预约"},{"name":"reservation_cancel","description":"取消预约：按预约号取消，预约号取自 reservation.book 返回的 serviceid。本体: reservation → Action: cancel\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市场实例凭证。未登录调用返回 401；云市场实例未绑定用户时返回 code=40003 和 data.bindU"},{"name":"reservation_modify","description":"更改预约日期：按预约号改期。本体: reservation → Action: modify\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市场实例凭证。未登录调用返回 401；云市场实例未绑定用户时返回 code=40003 和 data.bindUrl。"},{"name":"card_list","description":"根据卡号查卡密及兑换使用情况。welfareId 为空=未兑换，非空时串联福利和订单。本体: card → Action: list\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市场实例凭证。未登录调用返回 401；云市场实例未绑定用户时返回 code=40003 和 data.bindUrl。"},{"name":"template_list","description":"查询团单模板列表。按 partnerid 过滤，返回模板摘要（不含套餐明细 rules.items）。外部调用由服务端身份解析归属甲方。本体: template → Action: list\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市场实例凭证。未登录调用返回 401；云市场实例未绑定用户时返回 code=4000"},{"name":"template_detail","description":"查询团单模板详情，返回完整模板文档含 users 字段（每个 user 含 welfareId/isConsumed）。本体: template → Action: detail\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市场实例凭证。未登录调用返回 401；云市场实例未绑定用户时返回 code=40003 和 da"},{"name":"progress_report","description":"长耗时任务进度上报。agent 每完成一个阶段调用一次，text 为给用户看的可读进度，如「报告解析中，预计 10 秒」。不落地业务数据，仅用于向用户展示过程。"}],"toolCount":26,"toolsHash":"4a81a5066868e6ab6780b3e5dc4c00b4949d2baa21337059a227b2cc8f179f07","serverName":"haola-pe","capabilities":["tools"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-22T23:28:48.328Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":243,"error":null,"detail":{"tools":[{"name":"vendor_list","description":"查具体门店地址。仅在用户已选定城市+品牌、需查看门店位置或预约时使用。必须传 city/vendorids 等筛选条件，缺条件直接拒绝。不确定有哪些品牌和覆盖城市时先用 vendor.brands。本体: vendor → Action: list"},{"name":"vendor_brands","description":"查各体检品牌覆盖的城市（品牌聚合摘要，不返回具体门店）。本体: vendor → Action: brands"},{"name":"order_list","description":"查订单。查询 userOrders 集合。调用方归属甲方由服务端身份解析，filter 中无需传 partnerid。支持 $gte/$lte 日期范围、$in/$or 多值匹配。本体: order → Action: list\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市场实例凭证。未登录调用返回 401；云市场实"},{"name":"welfare_list","description":"查用户体检件。查询 userWelfare 集合。传 {customerMobile: \"138xxx\"} 或 {name: \"张三\"} 查对应用户的体检件。已知 userid 可直接传 {userid: \"xxx\"}。本体: welfare → Action: list\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市"},{"name":"template_stats","description":"团单模板统计。查询 welfareTemplate 集合，返回发放/激活/预约/到检/报告计数。调用方归属甲方由服务端身份解析。本体: template → Action: stats\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市场实例凭证。未登录调用返回 401；云市场实例未绑定用户时返回 code=40003 和"},{"name":"corp_inquiry","description":"提交企业商务咨询。企业客户有任何问题（合作咨询、产品了解、报价请求、投诉建议）均可提交，销售 24h 内联系。本体: corp → Action: inquiry"},{"name":"corp_contact","description":"查询好啦商务对接人（团检/商务合作）：返回对接人姓名、电话、邮箱、二维码图片 URL。用户报价后需要人工商务对接时调用。本体: corp → Action: contact"},{"name":"plan_quotation","description":"企业团检报价：quotes 为对象数组，每档一个方案。每项 = { tier(档名，仅标识该档、不参与报价，返回时回填), budget(人均预算元，必填), healthConcerns(该档健康诉求，必填), populations?(人群数组 man/lady/girl，默认三人，该档) }。可选 partner"},{"name":"plan_recommend","description":"个人体检推荐：按调用方身份读用户名下体检件与模板，结合性别、婚姻状况、预算、健康诉求推荐体检项目，返回 data.selected_items（每项带 constraintId）与 planId。planId 直接传给 reservation.book 预约，不要自己拼项目。长耗时，建议每阶段调用 progress.r"},{"name":"faq","description":"体检 FAQ。不传 query 则列出所有问题。query 必须是短关键词(2-4字，如\"报告\"、\"预约\"、\"空腹\")，不要传完整问句。"},{"name":"knowledge_get","description":"按需查询领域知识。外部可用 URI: enums(状态码) / objects/checkup-proposal(企业团检方案顾问引导词)。查 action 参数用 help()。团检报价场景先用 knowledge_get({uri:\"objects/checkup-proposal\"}) 加载《企业团检方案顾问》引"},{"name":"help","description":"三级帮助系统。无参列出本体；传 ontology 列出该本体下工具；传 ontology 和 sub_action 查看参数，sub_action 用完整名称，如 vendor.list、plan.quotation。"},{"name":"welfare_detail","description":"查询指定福利的详细内容，包括检查项目列表、规则说明、适用机构等。本体: welfare → Action: detail\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市场实例凭证。未登录调用返回 401；云市场实例未绑定用户时返回 code=40003 和 data.bindUrl。"},{"name":"cautions","description":"根据体检项目查询注意事项（饮食、用药、禁忌等）。需调用方用户标识（external_user_id 自动注入），partnerid 由服务端按用户标识解析，禁止客户端传。传 checkPackage 查套餐注意事项（必带 vendorid）；传 serviceid 仅允许查本人订单。本体: knowledge → Ac"},{"name":"order_detail","description":"查询单个订单完整详情，包括预约信息、医院信息、套餐项目、支付状态。本体: order → Action: detail\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市场实例凭证。未登录调用返回 401；云市场实例未绑定用户时返回 code=40003 和 data.bindUrl。"},{"name":"contact_list","description":"列出当前用户的就诊人列表。本体: contact → Action: list\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市场实例凭证。未登录调用返回 401；云市场实例未绑定用户时返回 code=40003 和 data.bindUrl。"},{"name":"contact_get","description":"查询指定就诊人的完整信息（含脱敏证件号）。本体: contact → Action: get\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市场实例凭证。未登录调用返回 401；云市场实例未绑定用户时返回 code=40003 和 data.bindUrl。"},{"name":"contact_create","description":"新增就诊人信息。本体: contact → Action: create\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市场实例凭证。未登录调用返回 401；云市场实例未绑定用户时返回 code=40003 和 data.bindUrl。"},{"name":"contact_update","description":"更新就诊人信息（姓名、手机号等）。本体: contact → Action: update\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市场实例凭证。未登录调用返回 401；云市场实例未绑定用户时返回 code=40003 和 data.bindUrl。"},{"name":"reservation_book","description":"体检预约：按 planId 取出项目，交给伙伴接口下单。传 contactId 时直接使用该就诊人，不需要再传 customerName/customerID/customerMobile。IDType 为 SFZ 时按身份证规则校验。体检项目只来自 planId，客户端不能提交项目。返回 serviceid 作为预约"},{"name":"reservation_cancel","description":"取消预约：按预约号取消，预约号取自 reservation.book 返回的 serviceid。本体: reservation → Action: cancel\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市场实例凭证。未登录调用返回 401；云市场实例未绑定用户时返回 code=40003 和 data.bindU"},{"name":"reservation_modify","description":"更改预约日期：按预约号改期。本体: reservation → Action: modify\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市场实例凭证。未登录调用返回 401；云市场实例未绑定用户时返回 code=40003 和 data.bindUrl。"},{"name":"card_list","description":"根据卡号查卡密及兑换使用情况。welfareId 为空=未兑换，非空时串联福利和订单。本体: card → Action: list\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市场实例凭证。未登录调用返回 401；云市场实例未绑定用户时返回 code=40003 和 data.bindUrl。"},{"name":"template_list","description":"查询团单模板列表。按 partnerid 过滤，返回模板摘要（不含套餐明细 rules.items）。外部调用由服务端身份解析归属甲方。本体: template → Action: list\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市场实例凭证。未登录调用返回 401；云市场实例未绑定用户时返回 code=4000"},{"name":"template_detail","description":"查询团单模板详情，返回完整模板文档含 users 字段（每个 user 含 welfareId/isConsumed）。本体: template → Action: detail\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市场实例凭证。未登录调用返回 401；云市场实例未绑定用户时返回 code=40003 和 da"},{"name":"progress_report","description":"长耗时任务进度上报。agent 每完成一个阶段调用一次，text 为给用户看的可读进度，如「报告解析中，预计 10 秒」。不落地业务数据，仅用于向用户展示过程。"}],"toolCount":26,"toolsHash":"427ef1f6dc18e99db6f21155d0b545f38c325adad08b23eff02c9c98de3ee779","serverName":"haola-pe","capabilities":["tools"],"serverVersion":"1.0.0","protocolVersion":"2025-06-18"}}],"tools":[{"name":"vendor_list","description":"查门店地址。支持三种方式，至少传一种：1) hospitalCode（可带 vendorids，按第一个品牌查）；2) longitude+latitude（可带 radius 米，默认 50000，可带 vendorids）；3) province/city/district（可带 vendorids）。外部调用仅支"},{"name":"vendor_brands","description":"查各体检品牌覆盖的城市（品牌聚合摘要，不返回具体门店）。本体: vendor → Action: brands"},{"name":"order_list","description":"查订单。查询 userOrders 集合。调用方归属甲方由服务端身份解析，filter 中无需传 partnerid。支持 $gte/$lte 日期范围、$in/$or 多值匹配。本体: order → Action: list\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市场实例凭证。未登录调用返回 401；云市场实"},{"name":"welfare_list","description":"查用户体检件。查询 userWelfare 集合。传 {customerMobile: \"138xxx\"} 或 {name: \"张三\"} 查对应用户的体检件。已知 userid 可直接传 {userid: \"xxx\"}。本体: welfare → Action: list\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市"},{"name":"template_stats","description":"团单模板统计。查询 welfareTemplate 集合，返回发放/激活/预约/到检/报告计数。调用方归属甲方由服务端身份解析。本体: template → Action: stats\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市场实例凭证。未登录调用返回 401；云市场实例未绑定用户时返回 code=40003 和"},{"name":"corp_inquiry","description":"提交企业商务咨询。企业客户有任何问题（合作咨询、产品了解、报价请求、投诉建议）均可提交，销售 24h 内联系。本体: corp → Action: inquiry"},{"name":"corp_contact","description":"查询好啦商务对接人（团检/商务合作）：返回对接人姓名、电话、邮箱、二维码图片 URL。用户报价后需要人工商务对接时调用。本体: corp → Action: contact"},{"name":"plan_quotation","description":"企业团检报价：quotes 为对象数组，每档一个方案。每项 = { tier(档名，仅标识该档、不参与报价，返回时回填), budget(人均预算元，必填), healthConcerns(该档健康诉求，必填), populations?(人群数组 man/lady/girl，默认三人，该档) }。可选 partner"},{"name":"plan_recommend","description":"个人体检推荐：按调用方身份读用户名下体检件与模板，结合性别、婚姻状况、预算、健康诉求推荐体检项目，返回 data.selected_items（每项带 constraintId）与 planId。planId 直接传给 reservation.book 预约，不要自己拼项目。长耗时，建议每阶段调用 progress.r"},{"name":"faq","description":"体检 FAQ。不传 query 则列出所有问题。query 必须是短关键词(2-4字，如\"报告\"、\"预约\"、\"空腹\")，不要传完整问句。"},{"name":"knowledge_get","description":"按需查询领域知识。外部可用 URI: enums(状态码) / objects/checkup-proposal(企业团检方案顾问引导词)。查 action 参数用 help()。团检报价场景先用 knowledge_get({uri:\"objects/checkup-proposal\"}) 加载《企业团检方案顾问》引"},{"name":"help","description":"三级帮助系统。无参列出本体；传 ontology 列出该本体下工具；传 ontology 和 sub_action 查看参数，sub_action 用完整名称，如 vendor.list、plan.quotation。"},{"name":"welfare_detail","description":"查询指定福利的详细内容，包括检查项目列表、规则说明、适用机构等。本体: welfare → Action: detail\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市场实例凭证。未登录调用返回 401；云市场实例未绑定用户时返回 code=40003 和 data.bindUrl。"},{"name":"cautions","description":"根据体检项目查询注意事项（饮食、用药、禁忌等）。需调用方用户标识（external_user_id 自动注入），partnerid 由服务端按用户标识解析，禁止客户端传。传 checkPackage 查套餐注意事项（必带 vendorid）；传 serviceid 仅允许查本人订单。本体: knowledge → Ac"},{"name":"order_detail","description":"查询单个订单完整详情，包括预约信息、医院信息、套餐项目、支付状态。本体: order → Action: detail\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市场实例凭证。未登录调用返回 401；云市场实例未绑定用户时返回 code=40003 和 data.bindUrl。"},{"name":"contact_list","description":"列出当前用户的就诊人列表。本体: contact → Action: list\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市场实例凭证。未登录调用返回 401；云市场实例未绑定用户时返回 code=40003 和 data.bindUrl。"},{"name":"contact_get","description":"查询指定就诊人的完整信息（含脱敏证件号）。本体: contact → Action: get\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市场实例凭证。未登录调用返回 401；云市场实例未绑定用户时返回 code=40003 和 data.bindUrl。"},{"name":"contact_create","description":"新增就诊人信息。本体: contact → Action: create\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市场实例凭证。未登录调用返回 401；云市场实例未绑定用户时返回 code=40003 和 data.bindUrl。"},{"name":"contact_update","description":"更新就诊人信息（姓名、手机号等）。本体: contact → Action: update\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市场实例凭证。未登录调用返回 401；云市场实例未绑定用户时返回 code=40003 和 data.bindUrl。"},{"name":"reservation_book","description":"体检预约：按 planId 取出项目，交给伙伴接口下单。传 contactId 时直接使用该就诊人，不需要再传 customerName/customerID/customerMobile。IDType 为 SFZ 时按身份证规则校验。体检项目只来自 planId，客户端不能提交项目。返回 serviceid 作为预约"},{"name":"reservation_cancel","description":"取消预约：按预约号取消，预约号取自 reservation.book 返回的 serviceid。本体: reservation → Action: cancel\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市场实例凭证。未登录调用返回 401；云市场实例未绑定用户时返回 code=40003 和 data.bindU"},{"name":"reservation_modify","description":"更改预约日期：按预约号改期。本体: reservation → Action: modify\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市场实例凭证。未登录调用返回 401；云市场实例未绑定用户时返回 code=40003 和 data.bindUrl。"},{"name":"card_list","description":"根据卡号查卡密及兑换使用情况。welfareId 为空=未兑换，非空时串联福利和订单。本体: card → Action: list\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市场实例凭证。未登录调用返回 401；云市场实例未绑定用户时返回 code=40003 和 data.bindUrl。"},{"name":"template_list","description":"查询团单模板列表。按 partnerid 过滤，返回模板摘要（不含套餐明细 rules.items）。外部调用由服务端身份解析归属甲方。本体: template → Action: list\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市场实例凭证。未登录调用返回 401；云市场实例未绑定用户时返回 code=4000"},{"name":"template_detail","description":"查询团单模板详情，返回完整模板文档含 users 字段（每个 user 含 welfareId/isConsumed）。本体: template → Action: detail\n\n鉴权：需要用户登录令牌，或已经绑定用户的云市场实例凭证。未登录调用返回 401；云市场实例未绑定用户时返回 code=40003 和 da"},{"name":"progress_report","description":"长耗时任务进度上报。agent 每完成一个阶段调用一次，text 为给用户看的可读进度，如「报告解析中，预计 10 秒」。不落地业务数据，仅用于向用户展示过程。"}],"package":null,"toolSurface":{"id":"ts_5ktxxunt7zez","endpointId":"ep_mgkjxfcn7kab","hash":"4a81a5066868e6ab6780b3e5dc4c00b4949d2baa21337059a227b2cc8f179f07","toolCount":26,"serverName":"haola-pe","serverVersion":"1.0.0","protocolVersion":"2025-06-18","firstSeenAt":"2026-10-23T06:25:57.231Z","lastSeenAt":"2026-10-25T12:30:51.959Z","observations":9,"toolNames":["vendor_list","vendor_brands","order_list","welfare_list","template_stats","corp_inquiry","corp_contact","plan_quotation","plan_recommend","faq","knowledge_get","help","welfare_detail","cautions","order_detail","contact_list","contact_get","contact_create","contact_update","reservation_book","reservation_cancel","reservation_modify","card_list","template_list","template_detail","progress_report"],"distinctSurfaces":2},"endpointFacts":[{"id":"ep_mgkjxfcn7kab","url":"https://ai.ihaola.com.cn/api/mcp/haola-pe","type":"mcp_streamable_http","factsCheckedAt":"2026-10-22T16:27:34.289Z","auth":{"observedAt":"2026-10-22T16:27:35.405Z","authRequired":false,"scheme":null,"resourceMetadata":{"url":"https://ai.ihaola.com.cn/.well-known/oauth-protected-resource/api/mcp/haola-pe","resource":"https://ai.ihaola.com.cn/api/mcp/haola-pe","authorizationServers":["https://ai.ihaola.com.cn"],"scopesSupported":[]},"authorizationServer":{"url":"https://ai.ihaola.com.cn/.well-known/oauth-authorization-server","issuer":"https://ai.ihaola.com.cn","grantTypesSupported":["authorization_code","refresh_token"],"codeChallengeMethodsSupported":["S256"],"tokenEndpointAuthMethodsSupported":["none"],"dynamicClientRegistration":true,"dpopSigningAlgValuesSupported":[],"clientIdMetadataDocumentSupported":null},"conformance":{"dpop":false,"rfc8414":true,"rfc9728":true,"pkceS256":true,"clientIdMetadataDocument":false,"dynamicClientRegistration":true}},"tls":{"observedAt":"2026-10-22T16:27:36.837Z","protocol":"TLSv1.3","chainValid":true,"chainError":null,"hostMatches":true,"subject":"*.ihaola.com.cn","issuer":{"commonName":"WoTrus RSA DV SSL CA 2","organization":"WoTrus CA Limited"},"validFrom":"2026-09-10T00:00:00.000Z","validTo":"2027-03-27T23:59:59.000Z","daysToExpiry":153,"sanCount":2,"fingerprint256":"06:7C:86:F3:F8:FA:5C:8B:75:49:0B:30:FA:1A:06:3D:88:47:48:7A:39:AC:1B:61:89:8B:E3:BF:02:5F:58:A7"}}]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"mcp_registry","key":"cn.com.ihaola/haola-pe","url":"https://registry.modelcontextprotocol.io/v0/servers/cn.com.ihaola%2Fhaola-pe","firstSeenAt":"2026-10-21T09:29:00.417Z","fetchedAt":"2026-10-24T23:21:47.793Z","normalizedAt":"2026-10-24T23:21:47.793Z"}]},"firstSeenAt":"2026-10-21T09:29:00.417Z","updatedAt":"2026-10-25T12:34:36.091Z"}