# PediBot (remote · pedibot.xyz)

Children's health from published guidelines: doses, vaccines, growth charts, warning signs.

- Trust score: 74/100 (medium)
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-10-07

## Components

- remote · `pedibot.xyz`: 74/100 (this document), [markdown](https://verifymcp.io/servers/xyz-pedibot-pedibot/pedibot.md), [page](https://verifymcp.io/servers/xyz-pedibot-pedibot/pedibot)

## Channel facts

- Endpoint: `https://pedibot.xyz/mcp`
- Transports: `streamable-http`
- Auth: `none`
- Version: `1.0.0`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-10-07.

- **Endpoint Security**: 80/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - No authorisation is required to call this server. Every tool declares its destructiveHint and none is destructive, so open access doesn't expose one.
  - HTTPS is enforced; there's no plaintext access path.
  - The HSTS (Strict-Transport-Security) header is present.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 65/100
  - AI-judged instruction clarity (excellent).
  - Context-footprint check failed: tool/resource definitions use about 2113 tokens (~264/item across 8 items; 8 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 17/100
  - Stability observed for 5 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
  - Structured output schemas are declared (100% of tools); any adoption earns full credit.
- **Tool Safety**: 100/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - We read all 8 captured tool definition(s), and no name or description among them implies an irreversible operation.
  - An AI judge read all 9 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### How do I install the PediBot MCP server?

PediBot is a hosted endpoint at https://pedibot.xyz/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

### Claude

```bash
claude mcp add --transport http xyz-pedibot-pedibot 'https://pedibot.xyz/mcp'
```

### Cursor

```json
{
  "mcpServers": {
    "xyz-pedibot-pedibot": {
      "url": "https://pedibot.xyz/mcp"
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "xyz-pedibot-pedibot": {
      "type": "http",
      "url": "https://pedibot.xyz/mcp"
    }
  }
}
```

### Codex

```toml
[mcp_servers.xyz-pedibot-pedibot]
url = "https://pedibot.xyz/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "xyz-pedibot-pedibot": {
      "type": "remote",
      "url": "https://pedibot.xyz/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add xyz-pedibot-pedibot --url 'https://pedibot.xyz/mcp' --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  xyz-pedibot-pedibot:
    url: "https://pedibot.xyz/mcp"
```

### Netclaw

```json
{
  "McpServers": {
    "xyz-pedibot-pedibot": {
      "Transport": "http",
      "Url": "https://pedibot.xyz/mcp"
    }
  }
}
```

### Vellum

```bash
assistant mcp add xyz-pedibot-pedibot -t streamable-http -u 'https://pedibot.xyz/mcp'
```

### Other

```json
{
  "mcpServers": {
    "xyz-pedibot-pedibot": {
      "type": "http",
      "url": "https://pedibot.xyz/mcp"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-10-07 (score 74, +1)

No change was recorded against any check on this day. Stability & Change Management went from 7 to 17. That category is still filling its 30-day observation window: 2 days of observed history at the previous scan, 5 at this one. The score rises as the window fills, whether or not the server changes. Other categories moved too: Schema Quality & AI Usability fell 1.

### 2026-10-04 (score 73, +1)

No change was recorded against any check on this day. Stability & Change Management went from 3 to 7. That category is still filling its 30-day observation window: 1 days of observed history at the previous scan, 2 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-03 (score 72, 0)

- [security] Tool “child_medicine_dose” rewrote its description, which is the text the model reads
- [security] Tool “paediatric_guide_finder” rewrote its description, which is the text the model reads
- [security] Tool “paediatric_warning_sign_check” rewrote its description, which is the text the model reads
- [functional improvement] Stability: unverified → 0.03
- [cosmetic] “paediatric_guide_finder” reworded the description of “topic”
- [cosmetic] “paediatric_warning_sign_check” reworded the description of “symptoms”

### 2026-10-02 (score 72)

First indexed and scored.

## MCP tools (8)

### `paediatric_question_with_sources` (~241 tokens)

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.

Input parameters:

- `country` (string): ISO 3166-1 alpha-2 of the parent's country, so the emergency number is the right one
- `lang` (string): Language of the answer. Sources are quoted whatever language they were written in.
- `question` (string, required): The question in plain words, e.g. 'my 2 year old has had a fever of 39 for two days'

Output parameters:

- `answer` (string): The answer, naming the organisation behind each clinical sentence
- `banner` (string|null): The warning to show first when the level is not routine, with the country's number
- `disclaimer` (string): Information from published guidelines, not medical advice
- `level` (string): routine, urgent, emergency or mental_health, from the rule-based triage
- `sources` (array): The documents cited, with organisation, title and URL
- `verification` (string): ok, regenerated, no_source or asked_age: how the answer passed the citation check

### `child_friendly_health_explanation` (~183 tokens)

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.

Input parameters:

- `country` (string): ISO 3166-1 alpha-2, used if the triage finds a warning sign
- `lang` (string): Language of the explanation
- `question` (string, required): What to explain, e.g. 'why do I have a fever?' or 'what is a vaccine?'

Output parameters:

- `answer` (string): The explanation, in child-friendly language
- `banner` (string|null): Warning for the adult when a warning sign was found
- `disclaimer` (string): Information from published guidelines, not medical advice
- `level` (string): Triage level; if not routine, an adult must read the banner
- `sources` (array): The documents the content comes from

### `paediatric_warning_sign_check` (~256 tokens)

Paediatric warning sign check

Checks a description of a child's symptoms against 97 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.

Input parameters:

- `country` (string): ISO 3166-1 alpha-2, to return the right emergency number
- `lang` (string): Language of the warning and the reasons
- `symptoms` (string, required): 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…

Output parameters:

- `age_months` (number|null): The age read from the text, if any
- `banner` (string|null): The warning to show, or null when routine
- `call` (string|null): The number to dial, only for an emergency in a known country
- `disclaimer` (string): Not a diagnosis
- `level` (string): routine, urgent, emergency or mental_health
- `numbers` (object): The country's emergency and poison numbers
- `rules` (array): Each rule that fired: id, level, reason in the requested language and the document it comes from

### `child_growth_percentile` (~329 tokens)

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.

Input parameters:

- `age_months` (number, required): 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.
- `country` (string): ISO 3166-1 alpha-2: picks the chart the country uses when PediBot has it, and reports which one it uses
- `height_cm` (number): Length (under 2, lying down) or height in centimetres. Give weight_kg, height_cm or both.
- `lang` (string): Language of the labels
- `sex` (string, required): m for a boy, f for a girl
- `weight_kg` (number): Weight in kilograms. Give weight_kg, height_cm or both: at least one is needed.

Output parameters:

- `country` (object): The charts the country's health record uses, how well PediBot's calculation matches them, and the official source
- `indicators` (array): name, label, value, z, percentile, flag and flag_label for each indicator
- `level` (string): routine, or urgent for severe acute malnutrition
- `reference` (string): who or cdc: the tables used
- `sources` (array): The WHO or CDC reference used
- `warnings` (array): What to do when the result is urgent

### `child_medicine_dose` (~371 tokens)

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.

Input parameters:

- `age_months` (number): Age in months, if known: it changes the warnings and can refuse the dose
- `country` (string): 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)
- `drug` (string, required): 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; a…
- `lang` (string): Language of the warnings
- `weight_kg` (number, required): The child's weight in kilograms, 1 to 120; the dose is calculated from it

Output parameters:

- `disclaimer` (string): Information from published guidelines, not a prescription
- `generic` (string): The active substance the brand resolves to
- `interval_hours` (array): Minimum and maximum hours between doses
- `max_doses_per_day` (integer): Hard ceiling of doses in 24 hours
- `mg_max` (number): Upper end of the dose in milligrams for this weight
- `mg_min` (number): Lower end of the dose in milligrams for this weight
- `ml_by_form` (array): Millilitres for each strength sold
- `refer` (boolean): true when the child must be seen instead of medicated at home
- `warnings` (array): Age limits and combinations to avoid

### `childhood_vaccination_schedule` (~229 tokens)

Childhood vaccination schedule

The official childhood vaccination schedule of a country, for 92 countries: 8 transcribed by hand from the ministry's own document and 84 read from the WHO's immunization schedule database (all of Africa, the Gulf, Latin America). 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.

Input parameters:

- `age_months` (number): The child's age in months, to return what is due now and next
- `country` (string, required): ISO 3166-1 alpha-2 code, upper case, of one of the 92 countries with a schedule (the enum). For any other country there is no schedule and the tool says so.
- `lang` (string): Language of the labels

Output parameters:

- `country` (string): The country code resolved
- `due` (array): What is due at the given age
- `meta` (object): Name of the schedule, issuing body, source URL and review date
- `next` (object|null): The next appointment after that age
- `schedule` (array): Each age with the vaccines due
- `text` (string): The same, as a readable text

### `oral_rehydration_plan` (~212 tokens)

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.

Input parameters:

- `age_months` (number): Age in months: under 1 month, under and over one year get different guidance
- `lang` (string): Language of the guidance
- `vomiting` (boolean): True if the child is vomiting: adds what to do when the solution is brought back up

Output parameters:

- `lines` (array): The guidance, step by step
- `refer` (boolean): true when the child must be seen
- `sources` (array): The leaflets the figures come from
- `warnings` (array): When to stop and seek care

### `paediatric_guide_finder` (~176 tokens)

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.

Input parameters:

- `lang` (string): Language of the guides
- `topic` (string, required): 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.

Output parameters:

- `guides` (array): title, topic and url of each guide

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/xyz-pedibot-pedibot/pedibot#diagnostics

## Score history

- 2026-10-07: 74
- 2026-10-04: 73
- 2026-10-03: 72
- 2026-10-02: 72

## Common questions

### What is the PediBot MCP server?

PediBot is an MCP server listed in the public MCP registry as xyz.pedibot/pedibot. Children's health from published guidelines: doses, vaccines, growth charts, warning signs. This page covers its hosted endpoint (https://pedibot.xyz/mcp).

### Is the PediBot MCP server safe to use?

PediBot scores 74 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

### What tools does the PediBot MCP server expose?

PediBot exposes 8 tools: paediatric_question_with_sources, child_friendly_health_explanation, paediatric_warning_sign_check, child_growth_percentile, child_medicine_dose, and 3 more. Their descriptions and schemas cost roughly 1,997 tokens of context every time the server is loaded.

### Does the PediBot MCP server require authentication?

No. We connected to PediBot without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.

### Is the PediBot MCP server still maintained?

PediBot is still listed as active in the MCP registry. We last reached this channel on 7 October 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

## Links

- Remote endpoint: https://pedibot.xyz/mcp
- Website: https://pedibot.xyz/
- Changelog RSS feed: https://verifymcp.io/servers/xyz-pedibot-pedibot/pedibot.xml
- Changelog JSON feed: https://verifymcp.io/servers/xyz-pedibot-pedibot/pedibot.json
- HTML version of this page: https://verifymcp.io/servers/xyz-pedibot-pedibot/pedibot
