MCP 服务器

PediBot

xyz.pedibot/pedibot
医疗健康 公开且可连接 MCP 2026-07-28

此 MCP 可以做什么

Provides guideline-sourced pediatric answers, medication dosing, vaccination schedules, growth percentiles, rehydration plans, and warning-sign triage.

child_friendly_health_explanation
Child friendly health explanation
The same sourced answer, rewritten to be read aloud to a child aged 5 to 10: three to five short, warm sentences, no frightening words, one simple comparison and one thing the child can do. The medical content still comes only from published guidelines and the triage still runs first. For parent apps, school nurses and companion agents, in eight languages. Use when the answer will be read by or to a child aged 5 to 10. For the parent's own question use paediatric_question_with_sources.
只读 幂等
输入模式
{'type': 'object', 'required': ['question'], 'properties': {'lang': {'enum': ['en', 'es', 'fr', 'de', 'ru', 'ar', 'pt', 'hi'], 'type': 'string', 'default': 'en', 'description': 'Language of the explanation'}, 'country': {'type': 'string', 'pattern': '^[A-Za-z]{2}$', 'maxLength': 2, 'minLength': 2, 'description': 'ISO 3166-1 alpha-2, used if the triage finds a warning sign'}, 'question': {'type': 'string', 'maxLength': 1500, 'minLength': 2, 'description': "What to explain, e.g. 'why do I have a fever?' or 'what is a vaccine?'"}}, 'description': 'What the child should understand, and that the answer is for the child.'}
输出模式
{'type': 'object', 'properties': {'level': {'type': 'string', 'description': 'Triage level; if not routine, an adult must read the banner'}, 'answer': {'type': 'string', 'description': 'The explanation, in child-friendly language'}, 'banner': {'type': ['string', 'null'], 'description': 'Warning for the adult when a warning sign was found'}, 'sources': {'type': 'array', 'items': {'type': 'string'}, 'description': 'The documents the content comes from'}, 'disclaimer': {'type': 'string', 'description': 'Information from published guidelines, not medical advice'}}, 'description': 'A short explanation for a child, with the triage result kept for the adult.'}
child_growth_percentile
Child growth percentile
Where a child sits on the growth charts, calculated exactly from the WHO LMS tables (Child Growth Standards 2006, Growth Reference 2007) and, for the United States and Australia after age 2, the CDC 2000 charts: weight, height, weight-for-height and BMI percentiles and z-scores, with the WHO cut-offs (wasting, stunting, overweight, thinness). Severe acute malnutrition is flagged as urgent. With a country, it says which chart that country's health record uses; 78 countries covered. Use when you have a child's sex, age and weight or height and want the percentile. For malnutrition with an arm measurement, or general questions about growth, use paediatric_question_with_sources.
只读 幂等
输入模式
{'type': 'object', 'required': ['sex', 'age_months'], 'properties': {'sex': {'enum': ['m', 'f'], 'type': 'string', 'description': 'm for a boy, f for a girl'}, 'lang': {'enum': ['en', 'es', 'fr', 'de', 'ru', 'ar', 'pt', 'hi'], 'type': 'string', 'default': 'en', 'description': 'Language of the labels'}, 'country': {'type': 'string', 'pattern': '^[A-Za-z]{2}$', 'maxLength': 2, 'minLength': 2, 'description': 'ISO 3166-1 alpha-2: picks the chart the country uses when PediBot has it, and reports which one it uses'}, 'height_cm': {'type': 'number', 'description': 'Length (under 2, lying down) or height in centimetres. Give weight_kg, height_cm or both.', 'exclusiveMaximum': 220, 'exclusiveMinimum': 30}, 'weight_kg': {'type': 'number', 'description': 'Weight in kilograms. Give weight_kg, height_cm or both: at least one is needed.', 'exclusiveMaximum': 200, 'exclusiveMinimum': 0.5}, 'age_months': {'type': 'number', 'maximum': 240, 'minimum': 0, 'description': 'Age in months, 0 to 240. The WHO charts go to 228 months (19 years); 229 to 240 need country US, whose CDC charts reach 20 years.'}}, 'description': "The child's sex, age and at least one measurement."}
输出模式
{'type': 'object', 'properties': {'level': {'type': 'string', 'description': 'routine, or urgent for severe acute malnutrition'}, 'country': {'type': 'object', 'description': "The charts the country's health record uses, how well PediBot's calculation matches them, and the official source"}, 'sources': {'type': 'array', 'items': {'type': 'string'}, 'description': 'The WHO or CDC reference used'}, 'warnings': {'type': 'array', 'items': {'type': 'string'}, 'description': 'What to do when the result is urgent'}, 'reference': {'type': 'string', 'description': 'who or cdc: the tables used'}, 'indicators': {'type': 'array', 'items': {'type': 'object'}, 'description': 'name, label, value, z, percentile, flag and flag_label for each indicator'}}, 'description': 'Each indicator with its percentile, and the chart it came from.'}
childhood_vaccination_schedule
Childhood vaccination schedule
The official childhood vaccination schedule of a country, for 75 countries: 8 transcribed by hand from the ministry's own document and 67 read from the WHO's immunization schedule database (all of Africa, the Gulf, Haiti, Dominican Rep.). Returns every age with the vaccines due and what each protects against, the issuing body, the source URL and the review date. With the child's age it also returns what is due now and what comes next. A transcribed table, not a recollection of one. Use when asked which vaccines a child gets, or are due, in a given country. For what a vaccine does or its side effects use paediatric_question_with_sources.
只读 幂等
输入模式
{'type': 'object', 'required': ['country'], 'properties': {'lang': {'enum': ['en', 'es', 'fr', 'de', 'ru', 'ar', 'pt', 'hi'], 'type': 'string', 'default': 'en', 'description': 'Language of the labels'}, 'country': {'enum': ['AE', 'AO', 'BF', 'BH', 'BI', 'BJ', 'BR', 'BW', 'CD', 'CF', 'CG', 'CI', 'CM', 'CV', 'DE', 'DJ', 'DO', 'DZ', 'EG', 'ER', 'ES', 'ET', 'FR', 'GA', 'GB', 'GH', 'GM', 'GN', 'GQ', 'GW', 'HT', 'IN', 'IQ', 'JO', 'KE', 'KM', 'KW', 'LB', 'LR', 'LS', 'LY', 'MA', 'MG', 'ML', 'MR', 'MU', 'MW', 'MZ', 'NA', 'NE', 'NG', 'OM', 'PT', 'QA', 'RW', 'SA', 'SC', 'SD', 'SL', 'SN', 'SO', 'SS', 'ST', 'SY', 'SZ', 'TD', 'TG', 'TN', 'TZ', 'UG', 'US', 'YE', 'ZA', 'ZM', 'ZW'], 'type': 'string', 'description': 'ISO 3166-1 alpha-2 code, upper case, of one of the 75 countries with a schedule (the enum). For any other country there is no schedule and the tool says so.'}, 'age_months': {'type': 'number', 'maximum': 216, 'minimum': 0, 'description': "The child's age in months, to return what is due now and next"}}, 'description': "Which country, and optionally the child's age."}
输出模式
{'type': 'object', 'properties': {'due': {'type': 'array', 'items': {'type': 'object'}, 'description': 'What is due at the given age'}, 'meta': {'type': 'object', 'description': 'Name of the schedule, issuing body, source URL and review date'}, 'next': {'type': ['object', 'null'], 'description': 'The next appointment after that age'}, 'text': {'type': 'string', 'description': 'The same, as a readable text'}, 'country': {'type': 'string', 'description': 'The country code resolved'}, 'schedule': {'type': 'array', 'items': {'type': 'object'}, 'description': 'Each age with the vaccines due'}}, 'description': 'The schedule, and what is due at the given age.'}
child_medicine_dose
Child medicine dose
Paracetamol or ibuprofen dose for a child by weight, read from fixed tables: the model is never involved in a number. Takes the brand printed on the bottle (35 brands across 57 countries: Calpol, Tylenol, Crocin, Panadol, Apiretal, Dalsy, Nurofen, Advil and more) or the generic name, and returns the mg range, the millilitres for each strength sold, the interval, the daily maximum and the age warnings. Refuses and refers when the child is too young to be medicated at home. Use when asked how much paracetamol (acetaminophen) or ibuprofen to give a child; needs the weight. For fluids in vomiting or diarrhoea use oral_rehydration_plan; for any other medicine use paediatric_question_with_sources.
只读 幂等
输入模式
{'type': 'object', 'required': ['drug', 'weight_kg'], 'properties': {'drug': {'type': 'string', 'maxLength': 40, 'minLength': 2, 'description': 'Brand printed on the bottle (Calpol, Tylenol, Crocin, Panadol, Apiretal, Dalsy, Nurofen, Advil…) or the generic name: paracetamol (acetaminophen) or ibuprofen. Only those two medicines are covered; an unknown name returns an error that lists the names it accepts.'}, 'lang': {'enum': ['en', 'es', 'fr', 'de', 'ru', 'ar', 'pt', 'hi'], 'type': 'string', 'default': 'en', 'description': 'Language of the warnings'}, 'country': {'type': 'string', 'pattern': '^[A-Za-z]{2}$', 'maxLength': 2, 'minLength': 2, 'description': "ISO 3166-1 alpha-2 of where the bottle was bought: the strength sold there is listed first (in Haiti and the Dominican Republic children's ibuprofen is 200 mg/5 ml, twice the usual)"}, 'weight_kg': {'type': 'number', 'maximum': 120, 'minimum': 1, 'description': "The child's weight in kilograms, 1 to 120; the dose is calculated from it"}, 'age_months': {'type': 'number', 'maximum': 216, 'minimum': 0, 'description': 'Age in months, if known: it changes the warnings and can refuse the dose'}}, 'description': 'Which medicine, for a child of what weight and age.'}
输出模式
{'type': 'object', 'properties': {'refer': {'type': 'boolean', 'description': 'true when the child must be seen instead of medicated at home'}, 'mg_max': {'type': 'number', 'description': 'Upper end of the dose in milligrams for this weight'}, 'mg_min': {'type': 'number', 'description': 'Lower end of the dose in milligrams for this weight'}, 'generic': {'type': 'string', 'description': 'The active substance the brand resolves to'}, 'warnings': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Age limits and combinations to avoid'}, 'disclaimer': {'type': 'string', 'description': 'Information from published guidelines, not a prescription'}, 'ml_by_form': {'type': 'array', 'items': {'type': 'object'}, 'description': 'Millilitres for each strength sold'}, 'interval_hours': {'type': 'array', 'items': {'type': 'number'}, 'description': 'Minimum and maximum hours between doses'}, 'max_doses_per_day': {'type': 'integer', 'description': 'Hard ceiling of doses in 24 hours'}}, 'description': 'The dose read from a fixed table, with the millilitres for each presentation sold and its limits.'}
oral_rehydration_plan
Oral rehydration plan
How much oral rehydration solution to offer a child who is vomiting or has diarrhoea: volume per intake, how often, and what to do when the child brings it back up. By age, from the AEMPS leaflet for the solution, the SEUP parent sheet on vomiting and the UK Dioralyte leaflet. These are fluids, not medicine, and the figures come from the leaflets, never from a model. Use when a child is vomiting or has diarrhoea; only the age is needed. If there are signs of dehydration (no urine for hours, very sleepy, sunken eyes, no tears) or blood, check paediatric_warning_sign_check first.
只读 幂等
输入模式
{'type': 'object', 'required': [], 'properties': {'lang': {'enum': ['en', 'es', 'fr', 'de', 'ru', 'ar', 'pt', 'hi'], 'type': 'string', 'default': 'en', 'description': 'Language of the guidance'}, 'vomiting': {'type': 'boolean', 'default': False, 'description': 'True if the child is vomiting: adds what to do when the solution is brought back up'}, 'age_months': {'type': 'number', 'maximum': 216, 'minimum': 0, 'description': 'Age in months: under 1 month, under and over one year get different guidance'}}, 'description': "The child's age and whether they are vomiting. Without an age, the guidance for every age band is returned, each one named."}
输出模式
{'type': 'object', 'properties': {'lines': {'type': 'array', 'items': {'type': 'string'}, 'description': 'The guidance, step by step'}, 'refer': {'type': 'boolean', 'description': 'true when the child must be seen'}, 'sources': {'type': 'array', 'items': {'type': 'string'}, 'description': 'The leaflets the figures come from'}, 'warnings': {'type': 'array', 'items': {'type': 'string'}, 'description': 'When to stop and seek care'}}, 'description': 'The rehydration plan from the leaflets.'}
paediatric_guide_finder
Paediatric guide finder
Finds PediBot's published parent guides on a topic, in the requested language, and returns up to five, best match first: title, topic and link. Each guide is written only from published guidelines and names the organisation behind every clinical sentence. When no guide matches, the list is empty. Useful for agents that want to hand a parent something to read rather than a paragraph, in eight languages. Use when the user wants something to read or share on a topic. To answer a specific question use paediatric_question_with_sources.
只读 幂等
输入模式
{'type': 'object', 'required': ['topic'], 'properties': {'lang': {'enum': ['en', 'es', 'fr', 'de', 'ru', 'ar', 'pt', 'hi'], 'type': 'string', 'default': 'en', 'description': 'Language of the guides'}, 'topic': {'type': 'string', 'maxLength': 200, 'minLength': 2, 'description': "A few words in any of the eight languages, matched against guide titles and topics; a short noun phrase works best ('fever', 'head lice', 'first solid foods'), not a whole question."}}, 'description': 'The subject, and the language the parent reads.'}
输出模式
{'type': 'object', 'properties': {'guides': {'type': 'array', 'items': {'type': 'object'}, 'description': 'title, topic and url of each guide'}}, 'description': 'Up to five guides, best match first.'}
paediatric_question_with_sources
Paediatric question with sources
A parent's paediatric question answered only from published guidelines (WHO, NHS, CDC, SEUP, AEP, MedlinePlus, national health ministries), in English, Spanish, French, German, Russian, Arabic, Portuguese or Hindi. A rule-based triage runs before the model and flags emergencies with the country's number; doses come from fixed tables, never from the model; an answer that the sources do not support is refused instead of guessed. Use when a parent asks a free-form question about a baby's or child's health. For a medicine dose use child_medicine_dose; for a vaccination calendar use childhood_vaccination_schedule; to screen symptoms for danger use paediatric_warning_sign_check, which is faster and uses no AI.
只读 幂等
输入模式
{'type': 'object', 'required': ['question'], 'properties': {'lang': {'enum': ['en', 'es', 'fr', 'de', 'ru', 'ar', 'pt', 'hi'], 'type': 'string', 'default': 'en', 'description': 'Language of the answer. Sources are quoted whatever language they were written in.'}, 'country': {'type': 'string', 'pattern': '^[A-Za-z]{2}$', 'maxLength': 2, 'minLength': 2, 'description': "ISO 3166-1 alpha-2 of the parent's country, so the emergency number is the right one"}, 'question': {'type': 'string', 'maxLength': 1500, 'minLength': 2, 'description': "The question in plain words, e.g. 'my 2 year old has had a fever of 39 for two days'"}}, 'description': 'The question as a parent would write it, and where they are.'}
输出模式
{'type': 'object', 'properties': {'level': {'type': 'string', 'description': 'routine, urgent, emergency or mental_health, from the rule-based triage'}, 'answer': {'type': 'string', 'description': 'The answer, naming the organisation behind each clinical sentence'}, 'banner': {'type': ['string', 'null'], 'description': "The warning to show first when the level is not routine, with the country's number"}, 'sources': {'type': 'array', 'items': {'type': 'string'}, 'description': 'The documents cited, with organisation, title and URL'}, 'disclaimer': {'type': 'string', 'description': 'Information from published guidelines, not medical advice'}, 'verification': {'type': 'string', 'description': 'ok, regenerated, no_source or asked_age: how the answer passed the citation check'}}, 'description': 'The answer with its triage level and the documents behind it.'}
paediatric_warning_sign_check
Paediatric warning sign check
Checks a description of a child's symptoms against 96 fixed warning-sign rules, each tied to a published parent sheet, in eight languages and four scripts: breathing difficulty, seizures, meningitis signs, dehydration, poisoning, bites, heatstroke, newborn jaundice. Returns the level (emergency, urgent, mental_health, or routine when no rule fires), the rules that fired with their source, the warning text and the country's emergency number. No model: the same result every time. Use when symptoms are described, first, to know if the child needs emergency care, a visit today or home care. For the full explanation afterwards use paediatric_question_with_sources; for fluids in vomiting or diarrhoea with no danger sign, oral_rehydration_plan.
只读 幂等
输入模式
{'type': 'object', 'required': ['symptoms'], 'properties': {'lang': {'enum': ['en', 'es', 'fr', 'de', 'ru', 'ar', 'pt', 'hi'], 'type': 'string', 'default': 'en', 'description': 'Language of the warning and the reasons'}, 'country': {'type': 'string', 'pattern': '^[A-Za-z]{2}$', 'maxLength': 2, 'minLength': 2, 'description': 'ISO 3166-1 alpha-2, to return the right emergency number'}, 'symptoms': {'type': 'string', 'maxLength': 1500, 'minLength': 2, 'description': "What is happening, in the parent's own words and any of the eight languages, e.g. 'my baby is breathing fast and his lips look blue'. Include the age if known: some rules depend on it (fever under 3 months)."}}, 'description': "What is happening to the child, in the parent's own words."}
输出模式
{'type': 'object', 'properties': {'call': {'type': ['string', 'null'], 'description': 'The number to dial, only for an emergency in a known country'}, 'level': {'type': 'string', 'description': 'routine, urgent, emergency or mental_health'}, 'rules': {'type': 'array', 'items': {'type': 'object'}, 'description': 'Each rule that fired: id, level, reason in the requested language and the document it comes from'}, 'banner': {'type': ['string', 'null'], 'description': 'The warning to show, or null when routine'}, 'numbers': {'type': 'object', 'description': "The country's emergency and poison numbers"}, 'age_months': {'type': ['number', 'null'], 'description': 'The age read from the text, if any'}, 'disclaimer': {'type': 'string', 'description': 'Not a diagnosis'}}, 'description': 'The triage result from the fixed rules.'}
已添加
paediatric_guide_finder
2026年10月3日 02:40
已添加
oral_rehydration_plan
2026年10月3日 02:40
已添加
childhood_vaccination_schedule
2026年10月3日 02:40
已添加
child_medicine_dose
2026年10月3日 02:40
已添加
child_growth_percentile
2026年10月3日 02:40
已添加
paediatric_warning_sign_check
2026年10月3日 02:40
已添加
child_friendly_health_explanation
2026年10月3日 02:40
已添加
paediatric_question_with_sources
2026年10月3日 02:40