好啦体检 MCP
by ihaola.com.cn · remote · no sign-in to list tools · v1.0.0 · published by cn.com.ihaola
企业团检分档方案、门店查询、体检 FAQ 与企业咨询,覆盖 241 城。
26 tools: 1 can delete or cancel things, 17 change things and 8 only read.
Scanned Oct 21, 2026
- Deletes or cancels1Claude Code: deny: see these tools
- Can't be undone0Claude Code: ask
- Changes things17Claude Code: ask: see these tools
- Only reads8Claude Code: allow: see these tools
No check matched anything in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http haola-pe https://ai.ihaola.com.cn/api/mcp/haola-peTools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
26 tools
Deletes or cancels 1Claude Code: deny
reservation_cancel取消预约:按预约号取消,预约号取自 reservation.book 返回的 serviceid。本体: reservation → Action: cancel 鉴权:需要用户登录令牌,或已经绑定用户的云市场实例凭证。未登录调用返回 401;云市场实例未绑定用户时返回 code=40003 和 data.bindUrl。No findings
Why it is in this group
- The name "reservation_cancel" says "cancel": a word for removing or ending something.
Description, as the server wrote it 取消预约:按预约号取消,预约号取自 reservation.book 返回的 serviceid。本体: reservation → Action: cancel 鉴权:需要用户登录令牌,或已经绑定用户的云市场实例凭证。未登录调用返回 401;云市场实例未绑定用户时返回 code=40003 和 data.bindUrl。
Changes things 17Claude Code: ask
cautions根据体检项目查询注意事项(饮食、用药、禁忌等)。需调用方用户标识(external_user_id 自动注入),partnerid 由服务端按用户标识解析,禁止客户端传。传 checkPackage 查套餐注意事项(必带 vendorid);传 serviceid 仅允许查本人订单。本体: knowledge → Action: cautions 鉴权:需要…No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it 根据体检项目查询注意事项(饮食、用药、禁忌等)。需调用方用户标识(external_user_id 自动注入),partnerid 由服务端按用户标识解析,禁止客户端传。传 checkPackage 查套餐注意事项(必带 vendorid);传 serviceid 仅允许查本人订单。本体: knowledge → Action: cautions 鉴权:需要用户登录令牌,或已经绑定用户的云市场实例凭证。未登录调用返回 401;云市场实例未绑定用户时返回 code=40003 和 data.bindUrl。
contact_create新增就诊人信息。本体: contact → Action: create 鉴权:需要用户登录令牌,或已经绑定用户的云市场实例凭证。未登录调用返回 401;云市场实例未绑定用户时返回 code=40003 和 data.bindUrl。No findings
Why it is in this group
- The name "contact_create" says "create": a word for a change.
Description, as the server wrote it 新增就诊人信息。本体: contact → Action: create 鉴权:需要用户登录令牌,或已经绑定用户的云市场实例凭证。未登录调用返回 401;云市场实例未绑定用户时返回 code=40003 和 data.bindUrl。
contact_update更新就诊人信息(姓名、手机号等)。本体: contact → Action: update 鉴权:需要用户登录令牌,或已经绑定用户的云市场实例凭证。未登录调用返回 401;云市场实例未绑定用户时返回 code=40003 和 data.bindUrl。No findings
Why it is in this group
- The name "contact_update" says "update": a word for a change.
Description, as the server wrote it 更新就诊人信息(姓名、手机号等)。本体: contact → Action: update 鉴权:需要用户登录令牌,或已经绑定用户的云市场实例凭证。未登录调用返回 401;云市场实例未绑定用户时返回 code=40003 和 data.bindUrl。
corp_contact查询好啦商务对接人(团检/商务合作):返回对接人姓名、电话、邮箱、二维码图片 URL。用户报价后需要人工商务对接时调用。本体: corp → Action: contactNo findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it 查询好啦商务对接人(团检/商务合作):返回对接人姓名、电话、邮箱、二维码图片 URL。用户报价后需要人工商务对接时调用。本体: corp → Action: contact
corp_inquiry提交企业商务咨询。企业客户有任何问题(合作咨询、产品了解、报价请求、投诉建议)均可提交,销售 24h 内联系。本体: corp → Action: inquiryNo findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it 提交企业商务咨询。企业客户有任何问题(合作咨询、产品了解、报价请求、投诉建议)均可提交,销售 24h 内联系。本体: corp → Action: inquiry
faq体检 FAQ。不传 query 则列出所有问题。query 必须是短关键词(2-4字,如"报告"、"预约"、"空腹"),不要传完整问句。No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it 体检 FAQ。不传 query 则列出所有问题。query 必须是短关键词(2-4字,如"报告"、"预约"、"空腹"),不要传完整问句。
help三级帮助系统。无参列出本体;传 ontology 列出该本体下工具;传 ontology 和 sub_action 查看参数,sub_action 用完整名称,如 vendor.list、plan.quotation。No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it 三级帮助系统。无参列出本体;传 ontology 列出该本体下工具;传 ontology 和 sub_action 查看参数,sub_action 用完整名称,如 vendor.list、plan.quotation。
order_detail查询单个订单完整详情,包括预约信息、医院信息、套餐项目、支付状态。本体: order → Action: detail 鉴权:需要用户登录令牌,或已经绑定用户的云市场实例凭证。未登录调用返回 401;云市场实例未绑定用户时返回 code=40003 和 data.bindUrl。No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it 查询单个订单完整详情,包括预约信息、医院信息、套餐项目、支付状态。本体: order → Action: detail 鉴权:需要用户登录令牌,或已经绑定用户的云市场实例凭证。未登录调用返回 401;云市场实例未绑定用户时返回 code=40003 和 data.bindUrl。
plan_quotation企业团检报价:quotes 为对象数组,每档一个方案。每项 = { tier(档名,仅标识该档、不参与报价,返回时回填), budget(人均预算元,必填), healthConcerns(该档健康诉求,必填), populations?(人群数组 man/lady/girl,默认三人,该档) }。可选 partnerId(甲方 UUID),透传给 /pla…No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it 企业团检报价:quotes 为对象数组,每档一个方案。每项 = { tier(档名,仅标识该档、不参与报价,返回时回填), budget(人均预算元,必填), healthConcerns(该档健康诉求,必填), populations?(人群数组 man/lady/girl,默认三人,该档) }。可选 partnerId(甲方 UUID),透传给 /plan/quotation 按伙伴定价。返回 data.list(每档 { tier, budget, planList, combinedPrice, discount }),其中 planList 为**按人群的数组**(每项 { population, price, items, planId }),逐档按人群拆分并发取值;planId 是该档该人群的方案标识,体检预约时传给 reservation.book,不要自己拼项目;discount 为该伙伴折数(如 5 表示 5 折,无则 null)。调用前先用 knowledge_get({uri:"objects/checkup-proposal"}) 加载《企业团检方案顾问》引导词作为 agent 的 system prompt;对客话术与输出模板必须遵循该引导词,严禁编造项目/费用。字段说明见 knowledge://objects/checkup-proposal。本体: plan → Action: quotation
plan_recommend个人体检推荐:按调用方身份读用户名下体检件与模板,结合性别、婚姻状况、预算、健康诉求推荐体检项目,返回 data.selected_items(每项带 constraintId)与 planId。planId 直接传给 reservation.book 预约,不要自己拼项目。长耗时,建议每阶段调用 progress.report。本体: plan → Act…No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it 个人体检推荐:按调用方身份读用户名下体检件与模板,结合性别、婚姻状况、预算、健康诉求推荐体检项目,返回 data.selected_items(每项带 constraintId)与 planId。planId 直接传给 reservation.book 预约,不要自己拼项目。长耗时,建议每阶段调用 progress.report。本体: plan → Action: recommend 鉴权:需要用户登录令牌,或已经绑定用户的云市场实例凭证。未登录调用返回 401;云市场实例未绑定用户时返回 code=40003 和 data.bindUrl。
progress_report长耗时任务进度上报。agent 每完成一个阶段调用一次,text 为给用户看的可读进度,如「报告解析中,预计 10 秒」。不落地业务数据,仅用于向用户展示过程。No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it 长耗时任务进度上报。agent 每完成一个阶段调用一次,text 为给用户看的可读进度,如「报告解析中,预计 10 秒」。不落地业务数据,仅用于向用户展示过程。
reservation_book体检预约:按 planId 取出项目,交给伙伴接口下单。传 contactId 时直接使用该就诊人,不需要再传 customerName/customerID/customerMobile。IDType 为 SFZ 时按身份证规则校验。体检项目只来自 planId,客户端不能提交项目。返回 serviceid 作为预约号、orderEntryUrl 作为订单…No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it 体检预约:按 planId 取出项目,交给伙伴接口下单。传 contactId 时直接使用该就诊人,不需要再传 customerName/customerID/customerMobile。IDType 为 SFZ 时按身份证规则校验。体检项目只来自 planId,客户端不能提交项目。返回 serviceid 作为预约号、orderEntryUrl 作为订单列表页链接:用户在 H5 用手机号登录后可看到自己的订单,并可支付、改期/取消、查看检前注意事项、查看体检报告;渠道需要用户支付时,一并返回短链 payUrl 与支付提示。本体: reservation → Action: book 鉴权:需要用户登录令牌,或已经绑定用户的云市场实例凭证。未登录调用返回 401;云市场实例未绑定用户时返回 code=40003 和 data.bindUrl。
reservation_modify更改预约日期:按预约号改期。本体: reservation → Action: modify 鉴权:需要用户登录令牌,或已经绑定用户的云市场实例凭证。未登录调用返回 401;云市场实例未绑定用户时返回 code=40003 和 data.bindUrl。No findings
Why it is in this group
- The name "reservation_modify" says "modify": a word for a change.
Description, as the server wrote it 更改预约日期:按预约号改期。本体: reservation → Action: modify 鉴权:需要用户登录令牌,或已经绑定用户的云市场实例凭证。未登录调用返回 401;云市场实例未绑定用户时返回 code=40003 和 data.bindUrl。
template_detail查询团单模板详情,返回完整模板文档含 users 字段(每个 user 含 welfareId/isConsumed)。本体: template → Action: detail 鉴权:需要用户登录令牌,或已经绑定用户的云市场实例凭证。未登录调用返回 401;云市场实例未绑定用户时返回 code=40003 和 data.bindUrl。No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it 查询团单模板详情,返回完整模板文档含 users 字段(每个 user 含 welfareId/isConsumed)。本体: template → Action: detail 鉴权:需要用户登录令牌,或已经绑定用户的云市场实例凭证。未登录调用返回 401;云市场实例未绑定用户时返回 code=40003 和 data.bindUrl。
template_stats团单模板统计。查询 welfareTemplate 集合,返回发放/激活/预约/到检/报告计数。调用方归属甲方由服务端身份解析。本体: template → Action: stats 鉴权:需要用户登录令牌,或已经绑定用户的云市场实例凭证。未登录调用返回 401;云市场实例未绑定用户时返回 code=40003 和 data.bindUrl。No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it 团单模板统计。查询 welfareTemplate 集合,返回发放/激活/预约/到检/报告计数。调用方归属甲方由服务端身份解析。本体: template → Action: stats 鉴权:需要用户登录令牌,或已经绑定用户的云市场实例凭证。未登录调用返回 401;云市场实例未绑定用户时返回 code=40003 和 data.bindUrl。
vendor_brands查各体检品牌覆盖的城市(品牌聚合摘要,不返回具体门店)。本体: vendor → Action: brandsNo findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it 查各体检品牌覆盖的城市(品牌聚合摘要,不返回具体门店)。本体: vendor → Action: brands
welfare_detail查询指定福利的详细内容,包括检查项目列表、规则说明、适用机构等。本体: welfare → Action: detail 鉴权:需要用户登录令牌,或已经绑定用户的云市场实例凭证。未登录调用返回 401;云市场实例未绑定用户时返回 code=40003 和 data.bindUrl。No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it 查询指定福利的详细内容,包括检查项目列表、规则说明、适用机构等。本体: welfare → Action: detail 鉴权:需要用户登录令牌,或已经绑定用户的云市场实例凭证。未登录调用返回 401;云市场实例未绑定用户时返回 code=40003 和 data.bindUrl。
Only reads 8Claude Code: allow
card_list根据卡号查卡密及兑换使用情况。welfareId 为空=未兑换,非空时串联福利和订单。本体: card → Action: list 鉴权:需要用户登录令牌,或已经绑定用户的云市场实例凭证。未登录调用返回 401;云市场实例未绑定用户时返回 code=40003 和 data.bindUrl。No findings
Why it is in this group
- The name "card_list" says "list": a word for reading.
Description, as the server wrote it 根据卡号查卡密及兑换使用情况。welfareId 为空=未兑换,非空时串联福利和订单。本体: card → Action: list 鉴权:需要用户登录令牌,或已经绑定用户的云市场实例凭证。未登录调用返回 401;云市场实例未绑定用户时返回 code=40003 和 data.bindUrl。
contact_get查询指定就诊人的完整信息(含脱敏证件号)。本体: contact → Action: get 鉴权:需要用户登录令牌,或已经绑定用户的云市场实例凭证。未登录调用返回 401;云市场实例未绑定用户时返回 code=40003 和 data.bindUrl。No findings
Why it is in this group
- The name "contact_get" says "get": a word for reading.
Description, as the server wrote it 查询指定就诊人的完整信息(含脱敏证件号)。本体: contact → Action: get 鉴权:需要用户登录令牌,或已经绑定用户的云市场实例凭证。未登录调用返回 401;云市场实例未绑定用户时返回 code=40003 和 data.bindUrl。
contact_list列出当前用户的就诊人列表。本体: contact → Action: list 鉴权:需要用户登录令牌,或已经绑定用户的云市场实例凭证。未登录调用返回 401;云市场实例未绑定用户时返回 code=40003 和 data.bindUrl。No findings
Why it is in this group
- The name "contact_list" says "list": a word for reading.
Description, as the server wrote it 列出当前用户的就诊人列表。本体: contact → Action: list 鉴权:需要用户登录令牌,或已经绑定用户的云市场实例凭证。未登录调用返回 401;云市场实例未绑定用户时返回 code=40003 和 data.bindUrl。
knowledge_get按需查询领域知识。外部可用 URI: enums(状态码) / objects/checkup-proposal(企业团检方案顾问引导词)。查 action 参数用 help()。团检报价场景先用 knowledge_get({uri:"objects/checkup-proposal"}) 加载《企业团检方案顾问》引导词作为外部 MCP agent 的 s…No findings
Why it is in this group
- The name "knowledge_get" says "get": a word for reading.
Description, as the server wrote it 按需查询领域知识。外部可用 URI: enums(状态码) / objects/checkup-proposal(企业团检方案顾问引导词)。查 action 参数用 help()。团检报价场景先用 knowledge_get({uri:"objects/checkup-proposal"}) 加载《企业团检方案顾问》引导词作为外部 MCP agent 的 system prompt,再调 plan_quotation;报价话术与输出模板必须遵循该引导词
order_list查订单。查询 userOrders 集合。调用方归属甲方由服务端身份解析,filter 中无需传 partnerid。支持 $gte/$lte 日期范围、$in/$or 多值匹配。本体: order → Action: list 鉴权:需要用户登录令牌,或已经绑定用户的云市场实例凭证。未登录调用返回 401;云市场实例未绑定用户时返回 code=40003 …No findings
Why it is in this group
- The name "order_list" says "list": a word for reading.
Description, as the server wrote it 查订单。查询 userOrders 集合。调用方归属甲方由服务端身份解析,filter 中无需传 partnerid。支持 $gte/$lte 日期范围、$in/$or 多值匹配。本体: order → Action: list 鉴权:需要用户登录令牌,或已经绑定用户的云市场实例凭证。未登录调用返回 401;云市场实例未绑定用户时返回 code=40003 和 data.bindUrl。
template_list查询团单模板列表。按 partnerid 过滤,返回模板摘要(不含套餐明细 rules.items)。外部调用由服务端身份解析归属甲方。本体: template → Action: list 鉴权:需要用户登录令牌,或已经绑定用户的云市场实例凭证。未登录调用返回 401;云市场实例未绑定用户时返回 code=40003 和 data.bindUrl。No findings
Why it is in this group
- The name "template_list" says "list": a word for reading.
Description, as the server wrote it 查询团单模板列表。按 partnerid 过滤,返回模板摘要(不含套餐明细 rules.items)。外部调用由服务端身份解析归属甲方。本体: template → Action: list 鉴权:需要用户登录令牌,或已经绑定用户的云市场实例凭证。未登录调用返回 401;云市场实例未绑定用户时返回 code=40003 和 data.bindUrl。
vendor_list查具体门店地址。仅在用户已选定城市+品牌、需查看门店位置或预约时使用。必须传 city/vendorids 等筛选条件,缺条件直接拒绝。不确定有哪些品牌和覆盖城市时先用 vendor.brands。本体: vendor → Action: listNo findings
Why it is in this group
- The name "vendor_list" says "list": a word for reading.
Description, as the server wrote it 查具体门店地址。仅在用户已选定城市+品牌、需查看门店位置或预约时使用。必须传 city/vendorids 等筛选条件,缺条件直接拒绝。不确定有哪些品牌和覆盖城市时先用 vendor.brands。本体: vendor → Action: list
welfare_list查用户体检件。查询 userWelfare 集合。传 {customerMobile: "138xxx"} 或 {name: "张三"} 查对应用户的体检件。已知 userid 可直接传 {userid: "xxx"}。本体: welfare → Action: list 鉴权:需要用户登录令牌,或已经绑定用户的云市场实例凭证。未登录调用返回 401;云市场…No findings
Why it is in this group
- The name "welfare_list" says "list": a word for reading.
Description, as the server wrote it 查用户体检件。查询 userWelfare 集合。传 {customerMobile: "138xxx"} 或 {name: "张三"} 查对应用户的体检件。已知 userid 可直接传 {userid: "xxx"}。本体: welfare → Action: list 鉴权:需要用户登录令牌,或已经绑定用户的云市场实例凭证。未登录调用返回 401;云市场实例未绑定用户时返回 code=40003 和 data.bindUrl。
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Install
Pinned to version 1.0.0. Values in angle brackets are yours to fill in.
claude mcp add --transport http haola-pe https://ai.ihaola.com.cn/api/mcp/haola-peRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__haola-pe__vendor_list",
"mcp__haola-pe__order_list",
"mcp__haola-pe__welfare_list",
"mcp__haola-pe__knowledge_get",
"mcp__haola-pe__contact_list",
"mcp__haola-pe__contact_get",
"mcp__haola-pe__card_list",
"mcp__haola-pe__template_list"
],
"ask": [
"mcp__haola-pe__vendor_brands",
"mcp__haola-pe__template_stats",
"mcp__haola-pe__corp_inquiry",
"mcp__haola-pe__corp_contact",
"mcp__haola-pe__plan_quotation",
"mcp__haola-pe__plan_recommend",
"mcp__haola-pe__faq",
"mcp__haola-pe__help",
"mcp__haola-pe__welfare_detail",
"mcp__haola-pe__cautions",
"mcp__haola-pe__order_detail",
"mcp__haola-pe__contact_create",
"mcp__haola-pe__contact_update",
"mcp__haola-pe__reservation_book",
"mcp__haola-pe__reservation_modify",
"mcp__haola-pe__template_detail",
"mcp__haola-pe__progress_report"
],
"deny": [
"mcp__haola-pe__reservation_cancel"
]
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as haola-pe. Review it before you use it.