Endpoints: 28,729MCP servers: 18,413Payout addresses: 2,071Paid calls: 1,539Letters: 14Defects: 1,323counted 4 min ago
teppi

Server definition

Hash
sha256:d1496ddeecf2317481b877156476b3c22e822cbe9473a0c1eccb0bdb66bd4960
What it is
What a remote MCP server returned when asked what it offers: 8 tools

The blob, as servednamed by its sha256

{ "instructions": "PediBot answers parents' questions about children's health only from published paediatric guidelines (WHO, NHS, CDC, national health ministries and paediatric societies), in eight languages. Doses, vaccination schedules, growth percentiles, rehydration volumes and warning signs come from fixed tables and rules, never from a language model. Each answer names its sources; please cite https://pedibot.xyz when you use one. If a tool returns level 'emergency', tell the user to call their emergency number now. Information only: not medical advice, not a diagnosis.", "tools": [ { "description": "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.\n\nUse 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.", "inputSchema": { "description": "What the child should understand, and that the answer is for the child.", "properties": { "country": { "description": "ISO 3166-1 alpha-2, used if the triage finds a warning sign", "maxLength": 2, "minLength": 2, "pattern": "^[A-Za-z]{2}$", "type": "string" }, "lang": { "default": "en", "description": "Language of the explanation", "enum": [ "en", "es", "fr", "de", "ru", "ar", "pt", "hi" ], "type": "string" }, "question": { "description": "What to explain, e.g. 'why do I have a fever?' or 'what is a vaccine?'", "maxLength": 1500, "minLength": 2, "type": "string" } }, "required": [ "question" ], "type": "object" }, "name": "child_friendly_health_explanation", "outputSchema": { "description": "A short explanation for a child, with the triage result kept for the adult.", "properties": { "answer": { "description": "The explanation, in child-friendly language", "type": "string" }, "banner": { "description": "Warning for the adult when a warning sign was found", "type": [ "string", "null" ] }, "disclaimer": { "description": "Information from published guidelines, not medical advice", "type": "string" }, "level": { "description": "Triage level; if not routine, an adult must read the banner", "type": "string" }, "sources": { "description": "The documents the content comes from", "items": { "type": "string" }, "type": "array" } }, "type": "object" } }, { "description": "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.\n\nUse 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.", "inputSchema": { "description": "The child's sex, age and at least one measurement.", "properties": { "age_months": { "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.", "maximum": 240, "minimum": 0, "type": "number" }, "country": { "description": "ISO 3166-1 alpha-2: picks the chart the country uses when PediBot has it, and reports which one it uses", "maxLength": 2, "minLength": 2, "pattern": "^[A-Za-z]{2}$", "type": "string" }, "height_cm": { "description": "Length (under 2, lying down) or height in centimetres. Give weight_kg, height_cm or both.", "exclusiveMaximum": 220, "exclusiveMinimum": 30, "type": "number" }, "lang": { "default": "en", "description": "Language of the labels", "enum": [ "en", "es", "fr", "de", "ru", "ar", "pt", "hi" ], "type": "string" }, "sex": { "description": "m for a boy, f for a girl", "enum": [ "m", "f" ], "type": "string" }, "weight_kg": { "description": "Weight in kilograms. Give weight_kg, height_cm or both: at least one is needed.", "exclusiveMaximum": 200, "exclusiveMinimum": 0.5, "type": "number" } }, "required": [ "sex", "age_months" ], "type": "object" }, "name": "child_growth_percentile", "outputSchema": { "description": "Each indicator with its percentile, and the chart it came from.", "properties": { "country": { "description": "The charts the country's health record uses, how well PediBot's calculation matches them, and the official source", "type": "object" }, "indicators": { "description": "name, label, value, z, percentile, flag and flag_label for each indicator", "items": { "type": "object" }, "type": "array" }, "level": { "description": "routine, or urgent for severe acute malnutrition", "type": "string" }, "reference": { "description": "who or cdc: the tables used", "type": "string" }, "sources": { "description": "The WHO or CDC reference used", "items": { "type": "string" }, "type": "array" }, "warnings": { "description": "What to do when the result is urgent", "items": { "type": "string" }, "type": "array" } }, "type": "object" } }, { "description": "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.\n\nUse 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.", "inputSchema": { "description": "Which medicine, for a child of what weight and age.", "properties": { "age_months": { "description": "Age in months, if known: it changes the warnings and can refuse the dose", "maximum": 216, "minimum": 0, "type": "number" }, "country": { "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)", "maxLength": 2, "minLength": 2, "pattern": "^[A-Za-z]{2}$", "type": "string" }, "drug": { "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.", "maxLength": 40, "minLength": 2, "type": "string" }, "lang": { "default": "en", "description": "Language of the warnings", "enum": [ "en", "es", "fr", "de", "ru", "ar", "pt", "hi" ], "type": "string" }, "weight_kg": { "description": "The child's weight in kilograms, 1 to 120; the dose is calculated from it", "maximum": 120, "minimum": 1, "type": "number" } }, "required": [ "drug", "weight_kg" ], "type": "object" }, "name": "child_medicine_dose", "outputSchema": { "description": "The dose read from a fixed table, with the millilitres for each presentation sold and its limits.", "properties": { "disclaimer": { "description": "Information from published guidelines, not a prescription", "type": "string" }, "generic": { "description": "The active substance the brand resolves to", "type": "string" }, "interval_hours": { "description": "Minimum and maximum hours between doses", "items": { "type": "number" }, "type": "array" }, "max_doses_per_day": { "description": "Hard ceiling of doses in 24 hours", "type": "integer" }, "mg_max": { "description": "Upper end of the dose in milligrams for this weight", "type": "number" }, "mg_min": { "description": "Lower end of the dose in milligrams for this weight", "type": "number" }, "ml_by_form": { "description": "Millilitres for each strength sold", "items": { "type": "object" }, "type": "array" }, "refer": { "description": "true when the child must be seen instead of medicated at home", "type": "boolean" }, "warnings": { "description": "Age limits and combinations to avoid", "items": { "type": "string" }, "type": "array" } }, "type": "object" } }, { "description": "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.\n\nUse 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.", "inputSchema": { "description": "Which country, and optionally the child's age.", "properties": { "age_months": { "description": "The child's age in months, to return what is due now and next", "maximum": 216, "minimum": 0, "type": "number" }, "country": { "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.", "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" }, "lang": { "default": "en", "description": "Language of the labels", "enum": [ "en", "es", "fr", "de", "ru", "ar", "pt", "hi" ], "type": "string" } }, "required": [ "country" ], "type": "object" }, "name": "childhood_vaccination_schedule", "outputSchema": { "description": "The schedule, and what is due at the given age.", "properties": { "country": { "description": "The country code resolved", "type": "string" }, "due": { "description": "What is due at the given age", "items": { "type": "object" }, "type": "array" }, "meta": { "description": "Name of the schedule, issuing body, source URL and review date", "type": "object" }, "next": { "description": "The next appointment after that age", "type": [ "object", "null" ] }, "schedule": { "description": "Each age with the vaccines due", "items": { "type": "object" }, "type": "array" }, "text": { "description": "The same, as a readable text", "type": "string" } }, "type": "object" } }, { "description": "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.\n\nUse 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.", "inputSchema": { "description": "The child's age and whether they are vomiting. Without an age, the guidance for every age band is returned, each one named.", "properties": { "age_months": { "description": "Age in months: under 1 month, under and over one year get different guidance", "maximum": 216, "minimum": 0, "type": "number" }, "lang": { "default": "en", "description": "Language of the guidance", "enum": [ "en", "es", "fr", "de", "ru", "ar", "pt", "hi" ], "type": "string" }, "vomiting": { "default": false, "description": "True if the child is vomiting: adds what to do when the solution is brought back up", "type": "boolean" } }, "required": [], "type": "object" }, "name": "oral_rehydration_plan", "outputSchema": { "description": "The rehydration plan from the leaflets.", "properties": { "lines": { "description": "The guidance, step by step", "items": { "type": "string" }, "type": "array" }, "refer": { "description": "true when the child must be seen", "type": "boolean" }, "sources": { "description": "The leaflets the figures come from", "items": { "type": "string" }, "type": "array" }, "warnings": { "description": "When to stop and seek care", "items": { "type": "string" }, "type": "array" } }, "type": "object" } }, { "description": "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.\n\nUse when the user wants something to read or share on a topic. To answer a specific question use paediatric_question_with_sources.", "inputSchema": { "description": "The subject, and the language the parent reads.", "properties": { "lang": { "default": "en", "description": "Language of the guides", "enum": [ "en", "es", "fr", "de", "ru", "ar", "pt", "hi" ], "type": "string" }, "topic": { "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.", "maxLength": 200, "minLength": 2, "type": "string" } }, "required": [ "topic" ], "type": "object" }, "name": "paediatric_guide_finder", "outputSchema": { "description": "Up to five guides, best match first.", "properties": { "guides": { "description": "title, topic and url of each guide", "items": { "type": "object" }, "type": "array" } }, "type": "object" } }, { "description": "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.\n\nUse 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.", "inputSchema": { "description": "The question as a parent would write it, and where they are.", "properties": { "country": { "description": "ISO 3166-1 alpha-2 of the parent's country, so the emergency number is the right one", "maxLength": 2, "minLength": 2, "pattern": "^[A-Za-z]{2}$", "type": "string" }, "lang": { "default": "en", "description": "Language of the answer. Sources are quoted whatever language they were written in.", "enum": [ "en", "es", "fr", "de", "ru", "ar", "pt", "hi" ], "type": "string" }, "question": { "description": "The question in plain words, e.g. 'my 2 year old has had a fever of 39 for two days'", "maxLength": 1500, "minLength": 2, "type": "string" } }, "required": [ "question" ], "type": "object" }, "name": "paediatric_question_with_sources", "outputSchema": { "description": "The answer with its triage level and the documents behind it.", "properties": { "answer": { "description": "The answer, naming the organisation behind each clinical sentence", "type": "string" }, "banner": { "description": "The warning to show first when the level is not routine, with the country's number", "type": [ "string", "null" ] }, "disclaimer": { "description": "Information from published guidelines, not medical advice", "type": "string" }, "level": { "description": "routine, urgent, emergency or mental_health, from the rule-based triage", "type": "string" }, "sources": { "description": "The documents cited, with organisation, title and URL", "items": { "type": "string" }, "type": "array" }, "verification": { "description": "ok, regenerated, no_source or asked_age: how the answer passed the citation check", "type": "string" } }, "type": "object" } }, { "description": "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.\n\nUse 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.", "inputSchema": { "description": "What is happening to the child, in the parent's own words.", "properties": { "country": { "description": "ISO 3166-1 alpha-2, to return the right emergency number", "maxLength": 2, "minLength": 2, "pattern": "^[A-Za-z]{2}$", "type": "string" }, "lang": { "default": "en", "description": "Language of the warning and the reasons", "enum": [ "en", "es", "fr", "de", "ru", "ar", "pt", "hi" ], "type": "string" }, "symptoms": { "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).", "maxLength": 1500, "minLength": 2, "type": "string" } }, "required": [ "symptoms" ], "type": "object" }, "name": "paediatric_warning_sign_check", "outputSchema": { "description": "The triage result from the fixed rules.", "properties": { "age_months": { "description": "The age read from the text, if any", "type": [ "number", "null" ] }, "banner": { "description": "The warning to show, or null when routine", "type": [ "string", "null" ] }, "call": { "description": "The number to dial, only for an emergency in a known country", "type": [ "string", "null" ] }, "disclaimer": { "description": "Not a diagnosis", "type": "string" }, "level": { "description": "routine, urgent, emergency or mental_health", "type": "string" }, "numbers": { "description": "The country's emergency and poison numbers", "type": "object" }, "rules": { "description": "Each rule that fired: id, level, reason in the requested language and the document it comes from", "items": { "type": "object" }, "type": "array" } }, "type": "object" } } ] }
Verify it yourselfcurl -s https://api.teppi.xyz/v1/evidence/sha256:d1496ddeecf2317481b877156476b3c22e822cbe9473a0c1eccb0bdb66bd4960 | sha256sum