好啦体检 MCP

企业团检分档报价与企业咨询、个人体检方案推荐、门店查询、体检预约、订单与体检件查询、体检常见问题。合作体检机构 800+ 门店,覆盖 240+ 城市,其中 540+ 门店支持 AI 直接查询与预约。

我該用這個嗎

品質與安全性

B
說明品質
85%
結構描述完整度
71%
命名品質
80%
汙染風險
80%
權限相符程度
100%
協定合規性
100%

發現項目(11)

  • HIGHTool poisoning patterns detected
  • LOWTool 'vendor_brands' description lacks action verb在 vendor_brands 中
  • LOWTool 'corp_inquiry' description lacks action verb在 corp_inquiry 中
  • LOWTool 'corp_contact' description lacks action verb在 corp_contact 中
  • LOWTool 'plan_recommend' description lacks action verb在 plan_recommend 中
  • LOWTool 'welfare_detail' description lacks action verb在 welfare_detail 中
  • LOWTool 'order_detail' description lacks action verb在 order_detail 中
  • LOWTool 'reservation_book' description lacks action verb在 reservation_book 中
  • LOWTool 'reservation_modify' description lacks action verb在 reservation_modify 中
  • LOWTool 'progress_report' description lacks action verb在 progress_report 中

根據工具定義與協定合規性的自動化分析。

上下文成本

~5,363Token(工具定義)
~789 B典型回應大小
顯著的注意力影響(128k 上下文的 4.19%)

這是每次將伺服器的工具載入模型上下文時所消耗的約略 token 數量。數量越高,可用於其他工作的注意力就越少。

安裝

一鍵安裝

將以下內容加入你的 `claude_desktop_config.json` 檔案:

{
  "mcpServers": {
    "health-checkup-planner": {
      "url": "https://ai.ihaola.com.cn/api/mcp/haola-pe"
    }
  }
}

遠端端點

https://ai.ihaola.com.cn/api/mcp/haola-pestreamable-http

它能做什麼

工具清單

工具(25)

🟢 唯讀🟡 寫入🔴 刪除⚪ 未知
🟢vendor_list(city, province, district, hospitalCode, longitude, ...)

[匿名可调用] 查门店地址。支持三种方式,至少传一种:1) hospitalCode(可带 vendorids,按第一个品牌查);2) longitude+latitude(可带 radius 米,默认 50000,可带 vendorids);3) province/city/district(可带 vendorids)。外部调用仅支持 health100/haolaruici,partnerid 仅内部可用。不确定品牌和覆盖城市时先用 vendor.brands。本体: vendor → Action: list

輸入結構描述

{
  "type": "object",
  "properties": {
    "city": {
      "type": "string"
    },
    "province": {
      "type": "string"
    },
    "district": {
      "type": "string"
    },
    "hospitalCode": {
      "type": "string"
    },
    "longitude": {
      "type": "number"
    },
    "latitude": {
      "type": "number"
    },
    "radius": {
      "type": "number"
    },
    "vendorids": {
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
⚪vendor_brands

[匿名可调用] 查各体检品牌覆盖的城市(品牌聚合摘要,不返回具体门店)。本体: vendor → Action: brands

輸入結構描述

{
  "type": "object",
  "properties": {},
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢order_list(limit, page, filter)

[需要登录] 查订单。查询 userOrders 集合。调用方归属甲方由服务端身份解析,filter 中无需传 partnerid。支持 $gte/$lte 日期范围、$in/$or 多值匹配。本体: order → Action: list 鉴权:需要用户登录令牌,或已经绑定用户的云市场实例凭证。未登录调用返回 401;云市场实例未绑定用户时返回 code=40003 和 data.bindUrl。

輸入結構描述

{
  "type": "object",
  "properties": {
    "limit": {
      "type": "number"
    },
    "page": {
      "type": "number"
    },
    "filter": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢welfare_list(ID, partnerid, userid, serviceid, rootid, ...)

[需要登录] 查用户体检件。查询 userWelfare 集合。传 {customerMobile: "138xxx"} 或 {name: "张三"} 查对应用户的体检件。已知 userid 可直接传 {userid: "xxx"}。本体: welfare → Action: list 鉴权:需要用户登录令牌,或已经绑定用户的云市场实例凭证。未登录调用返回 401;云市场实例未绑定用户时返回 code=40003 和 data.bindUrl。

輸入結構描述

{
  "type": "object",
  "properties": {
    "ID": {
      "type": "string"
    },
    "partnerid": {
      "type": "string"
    },
    "userid": {
      "type": "string"
    },
    "serviceid": {
      "type": "string"
    },
    "rootid": {
      "type": "string"
    },
    "mobile": {
      "type": "string"
    },
    "name": {
      "type": "string"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
⚪corp_inquiry(company, contact, phone, employees, city, ...)

[匿名可调用] 提交企业商务咨询。企业客户有任何问题(合作咨询、产品了解、报价请求、投诉建议)均可提交,销售 24h 内联系。本体: corp → Action: inquiry

輸入結構描述

{
  "type": "object",
  "properties": {
    "company": {
      "type": "string"
    },
    "contact": {
      "type": "string"
    },
    "phone": {
      "type": "string"
    },
    "employees": {
      "type": "number"
    },
    "city": {
      "type": "string"
    },
    "budget": {
      "type": "string"
    },
    "message": {
      "type": "string"
    }
  },
  "required": [
    "company",
    "contact",
    "phone"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
⚪corp_contact

[匿名可调用] 查询好啦商务对接人(团检/商务合作):返回对接人姓名、电话、邮箱、二维码图片 URL。用户报价后需要人工商务对接时调用。本体: corp → Action: contact

輸入結構描述

{
  "type": "object",
  "properties": {},
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
⚪plan_quotation(quotes, partnerId)

[匿名可调用] 企业团检报价: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

輸入結構描述

{
  "type": "object",
  "properties": {
    "quotes": {
      "type": "array",
      "items": {
        "type": "object",
        "propertyNames": {
          "type": "string"
        },
        "additionalProperties": {}
      }
    },
    "partnerId": {
      "type": "string"
    }
  },
  "required": [
    "quotes"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
⚪plan_recommend(gender, marital, age, budget, mainComplaint, ...)

[需要登录] 个人体检推荐:按调用方身份读用户名下体检件与模板,结合性别、婚姻状况、预算、健康诉求推荐体检项目,返回 data.selected_items(每项带 constraintId)与 planId。planId 直接传给 reservation.book 预约,不要自己拼项目。长耗时,建议每阶段调用 progress.report。本体: plan → Action: recommend 鉴权:需要用户登录令牌,或已经绑定用户的云市场实例凭证。未登录调用返回 401;云市场实例未绑定用户时返回 code=40003 和 data.bindUrl。

輸入結構描述

{
  "type": "object",
  "properties": {
    "gender": {
      "type": "string"
    },
    "marital": {
      "type": "string"
    },
    "age": {
      "type": "number"
    },
    "budget": {
      "type": "number"
    },
    "mainComplaint": {
      "type": "string"
    },
    "reportHistory": {
      "type": "string"
    },
    "userContext": {
      "type": "string"
    },
    "welfareid": {
      "type": "string"
    },
    "modification": {
      "type": "string"
    },
    "previousPackage": {
      "type": "array",
      "items": {
        "type": "object",
        "propertyNames": {
          "type": "string"
        },
        "additionalProperties": {}
      }
    }
  },
  "required": [
    "gender"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢faq(query)

[匿名可调用] 体检 FAQ。不传 query 则列出所有问题。query 必须是短关键词(2-4字,如"报告"、"预约"、"空腹"),不要传完整问句。

輸入結構描述

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢knowledge_get(uri)

[匿名可调用] 按需查询领域知识。外部可用 URI: enums(状态码) / objects/contact(联系人) / objects/contact-profile(健康画像) / objects/checkup-proposal(企业团检方案顾问引导词)。查 action 参数用 help()。团检报价场景先用 knowledge_get({uri:"objects/checkup-proposal"}) 加载《企业团检方案顾问》引导词作为外部 MCP agent 的 system prompt,再调 plan_quotation;报价话术与输出模板必须遵循该引导词

輸入結構描述

{
  "type": "object",
  "properties": {
    "uri": {
      "type": "string"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
⚪help(ontology, sub_action)

[匿名可调用] 三级帮助系统。无参列出本体;传 ontology 列出该本体下工具;传 ontology 和 sub_action 查看参数,sub_action 用完整名称,如 vendor.list、plan.quotation。

輸入結構描述

{
  "type": "object",
  "properties": {
    "ontology": {
      "type": "string"
    },
    "sub_action": {
      "type": "string"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
⚪welfare_detail(welfareid, vendorid)

[需要登录] 查询指定福利的详细内容,包括检查项目列表、规则说明、适用机构等。本体: welfare → Action: detail 鉴权:需要用户登录令牌,或已经绑定用户的云市场实例凭证。未登录调用返回 401;云市场实例未绑定用户时返回 code=40003 和 data.bindUrl。

輸入結構描述

{
  "type": "object",
  "properties": {
    "welfareid": {
      "type": "string"
    },
    "vendorid": {
      "type": "string"
    }
  },
  "required": [
    "welfareid"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
⚪cautions(checkPackage, vendorid, serviceid)

[需要登录] 根据体检项目查询注意事项(饮食、用药、禁忌等)。需调用方用户标识(external_user_id 自动注入),partnerid 由服务端按用户标识解析,禁止客户端传。传 checkPackage 查套餐注意事项(必带 vendorid);传 serviceid 仅允许查本人订单。本体: knowledge → Action: cautions 鉴权:需要用户登录令牌,或已经绑定用户的云市场实例凭证。未登录调用返回 401;云市场实例未绑定用户时返回 code=40003 和 data.bindUrl。

輸入結構描述

{
  "type": "object",
  "properties": {
    "checkPackage": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    },
    "vendorid": {
      "type": "string"
    },
    "serviceid": {
      "type": "string"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
⚪order_detail(serviceid)

[需要登录] 查询单个订单完整详情,包括预约信息、医院信息、套餐项目、支付状态。本体: order → Action: detail 鉴权:需要用户登录令牌,或已经绑定用户的云市场实例凭证。未登录调用返回 401;云市场实例未绑定用户时返回 code=40003 和 data.bindUrl。

輸入結構描述

{
  "type": "object",
  "properties": {
    "serviceid": {
      "type": "string"
    }
  },
  "required": [
    "serviceid"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢contact_list(relation, gender)

[需要登录] 按 relation/gender 查询当前用户的联系人。用户提到家人时必须先调用;唯一候选可直接使用 contactid,多个候选请用户选择,未选定时禁止保存画像。本体: contact → Action: list 鉴权:需要用户登录令牌,或已经绑定用户的云市场实例凭证。未登录调用返回 401;云市场实例未绑定用户时返回 code=40003 和 data.bindUrl。

輸入結構描述

{
  "type": "object",
  "properties": {
    "relation": {
      "type": "string"
    },
    "gender": {
      "type": "string"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢contact_get(contactid, contactId)

[需要登录] 查询指定就诊人的完整信息(含脱敏证件号)。本体: contact → Action: get 鉴权:需要用户登录令牌,或已经绑定用户的云市场实例凭证。未登录调用返回 401;云市场实例未绑定用户时返回 code=40003 和 data.bindUrl。

輸入結構描述

{
  "type": "object",
  "properties": {
    "contactid": {
      "type": "string"
    },
    "contactId": {
      "type": "string"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟡contact_create(customerName, customerMobile, customerID, IDType, gender, ...)

[需要登录] 创建家属临时联系人。relation 必填,self 由系统创建;姓名、手机号、证件号可后补。本体: contact → Action: create 鉴权:需要用户登录令牌,或已经绑定用户的云市场实例凭证。未登录调用返回 401;云市场实例未绑定用户时返回 code=40003 和 data.bindUrl。

輸入結構描述

{
  "type": "object",
  "properties": {
    "customerName": {
      "type": "string"
    },
    "customerMobile": {
      "type": "string"
    },
    "customerID": {
      "type": "string"
    },
    "IDType": {
      "type": "string"
    },
    "gender": {
      "type": "string"
    },
    "birthday": {
      "type": "string"
    },
    "marital": {
      "type": "string"
    },
    "relation": {
      "type": "string"
    }
  },
  "required": [
    "relation"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟡contact_update(contactid, contactId, customerName, customerMobile, customerID, ...)

[需要登录] 更新就诊人信息(姓名、手机号等)。本体: contact → Action: update 鉴权:需要用户登录令牌,或已经绑定用户的云市场实例凭证。未登录调用返回 401;云市场实例未绑定用户时返回 code=40003 和 data.bindUrl。

輸入結構描述

{
  "type": "object",
  "properties": {
    "contactid": {
      "type": "string"
    },
    "contactId": {
      "type": "string"
    },
    "customerName": {
      "type": "string"
    },
    "customerMobile": {
      "type": "string"
    },
    "customerID": {
      "type": "string"
    },
    "IDType": {
      "type": "string"
    },
    "gender": {
      "type": "string"
    },
    "birthday": {
      "type": "string"
    },
    "marital": {
      "type": "string"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢contact_profile_get(contactid, contactId)

[需要登录] 按 contactid 查询联系人的结构化健康画像。不传 contactid 时读取当前用户本人。本体: contact → Action: profile.get 鉴权:需要用户登录令牌,或已经绑定用户的云市场实例凭证。未登录调用返回 401;云市场实例未绑定用户时返回 code=40003 和 data.bindUrl。

輸入結構描述

{
  "type": "object",
  "properties": {
    "contactid": {
      "type": "string"
    },
    "contactId": {
      "type": "string"
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟡contact_profile_save(contactid, contactId, demographics, measurements, lifestyle, ...)

[需要登录] 仅在用户明确要求保存或更新长期健康画像时调用;仅推荐方案不得调用。本人不传 contactid,家人必须先解析唯一 contactid,禁止把家人信息写入本人档案。返回更新后的完整画像与 created。本体: contact → Action: profile.save 鉴权:需要用户登录令牌,或已经绑定用户的云市场实例凭证。未登录调用返回 401;云市场实例未绑定用户时返回 code=40003 和 data.bindUrl。

輸入結構描述

{
  "type": "object",
  "properties": {
    "contactid": {
      "type": "string"
    },
    "contactId": {
      "type": "string"
    },
    "demographics": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    },
    "measurements": {
      "type": "array",
      "items": {
        "type": "object",
        "propertyNames": {
          "type": "string"
        },
        "additionalProperties": {}
      }
    },
    "lifestyle": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    },
    "problem_list": {
      "type": "array",
      "items": {
        "type": "object",
        "propertyNames": {
          "type": "string"
        },
        "additionalProperties": {}
      }
    },
    "family_history": {
      "type": "array",
      "items": {
        "type": "object",
        "propertyNames": {
          "type": "string"
        },
        "additionalProperties": {}
      }
    },
    "allergy_intolerance": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    },
    "surgeries": {
      "type": "array",
      "items": {
        "type": "object",
        "propertyNames": {
          "type": "string"
        },
        "additionalProperties": {}
      }
    },
    "medications": {
      "type": "array",
      "items": {
        "type": "object",
        "propertyNames": {
          "type": "string"
        },
        "additionalProperties": {}
      }
    },
    "examinations": {
      "type": "array",
      "items": {
        "type": "object",
        "propertyNames": {
          "type": "string"
        },
        "additionalProperties": {}
      }
    },
    "preferences_constraints": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
⚪reservation_book(planId, hospitalCode, vendorid, appointmentDate, timespan, ...)

[需要登录] 体检预约:按 planId 取出项目,交给伙伴接口下单。传 contactId 时直接使用该就诊人。没有 contactId 时,支持 elicitation form 的客户端会先选择已有联系人,或选择新建后填写姓名、手机号、证件类型、证件号、授权、出生日期和性别;出生日期和性别仅在非身份证时必填,服务端在提交后校验。不支持的客户端会收到 contactEntryUrl,用户可在 H5 添加就诊人后重新发起预约。不要在对话中要求用户发送身份证号。IDType 为 SFZ 时按身份证规则校验。体检项目只来自 planId,客户端不能提交项目。返回 serviceid 作为预约订单号、orderEntryUrl 作为订单列表页链接:用户在 H5 用手机号登录后可看到自己的订单,并可支付、改期/取消、查看检前注意事项、查看体检报告。渠道需要用户支付时返回支付链接 payUrl 和支付提示;客户端支持 elicitation URL 时,服务端通过 URL 模式打开 payUrl,最终结果仍返回 orderEntryUrl,客户端不支持时直接返回 payUrl 和 orderEntryUrl。客户端可使用 payUrl 生成二维码展示给用户。payUrl 有效期为订单创建后 30 分钟。重复预约命中已有未支付订单时,返回原 serviceid 和该订单的 payUrl。status 表示支付状态,预约状态以 rsvStatus 为准。本体: reservation → Action: book 鉴权:需要用户登录令牌,或已经绑定用户的云市场实例凭证。未登录调用返回 401;云市场实例未绑定用户时返回 code=40003 和 data.bindUrl。

輸入結構描述

{
  "type": "object",
  "properties": {
    "planId": {
      "type": "string"
    },
    "hospitalCode": {
      "type": "string"
    },
    "vendorid": {
      "type": "string"
    },
    "appointmentDate": {
      "type": "string"
    },
    "timespan": {
      "type": "string"
    },
    "contactId": {
      "type": "string"
    },
    "contactid": {
      "type": "string"
    },
    "IDType": {
      "type": "string"
    },
    "payType": {
      "type": "string"
    }
  },
  "required": [
    "planId",
    "hospitalCode",
    "vendorid",
    "appointmentDate"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴reservation_cancel(reservationId)

[需要登录] 取消预约:按预约号取消;已支付订单会同时发起退款。预约号取自 reservation.book 返回的 serviceid。本体: reservation → Action: cancel 鉴权:需要用户登录令牌,或已经绑定用户的云市场实例凭证。未登录调用返回 401;云市场实例未绑定用户时返回 code=40003 和 data.bindUrl。

輸入結構描述

{
  "type": "object",
  "properties": {
    "reservationId": {
      "type": "string"
    }
  },
  "required": [
    "reservationId"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟡reservation_modify(reservationId, appointmentDate)

[需要登录] 更改预约日期:按预约号改期。本体: reservation → Action: modify 鉴权:需要用户登录令牌,或已经绑定用户的云市场实例凭证。未登录调用返回 401;云市场实例未绑定用户时返回 code=40003 和 data.bindUrl。

輸入結構描述

{
  "type": "object",
  "properties": {
    "reservationId": {
      "type": "string"
    },
    "appointmentDate": {
      "type": "string"
    }
  },
  "required": [
    "reservationId",
    "appointmentDate"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢card_list(cardId, limit)

[需要登录] 根据卡号查卡密及兑换使用情况。welfareId 为空=未兑换,非空时串联福利和订单。本体: card → Action: list 鉴权:需要用户登录令牌,或已经绑定用户的云市场实例凭证。未登录调用返回 401;云市场实例未绑定用户时返回 code=40003 和 data.bindUrl。

輸入結構描述

{
  "type": "object",
  "properties": {
    "cardId": {
      "type": "string"
    },
    "limit": {
      "type": "number"
    }
  },
  "required": [
    "cardId"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
⚪progress_report(text, stage, percent)

[匿名可调用] 长耗时任务进度上报。agent 每完成一个阶段调用一次,text 为给用户看的可读进度,如「报告解析中,预计 10 秒」。不落地业务数据,仅用于向用户展示过程。

輸入結構描述

{
  "type": "object",
  "properties": {
    "text": {
      "type": "string"
    },
    "stage": {
      "type": "string"
    },
    "percent": {
      "type": "number"
    }
  },
  "required": [
    "text"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

社群

為此伺服器評分

證據

近期觀測

已驗證未記錄版本25 個工具