babybuddy-mcp
OfficialServer Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| MCP_HOST | No | Host to bind (HTTP transport only) | 0.0.0.0 |
| MCP_PORT | No | Port to listen on (HTTP transport only) | 8080 |
| BABYBUDDY_URL | Yes | URL of your babybuddy instance | |
| MCP_TRANSPORT | No | Transport: http or stdio | http |
| BABYBUDDY_TOKEN | Yes | API token from babybuddy Settings | |
| REQUEST_TIMEOUT | No | Timeout in seconds for babybuddy API calls | 30.0 |
| DEFAULT_PAGE_SIZE | No | Max records returned per list call | 100 |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| extensions | {
"io.modelcontextprotocol/ui": {}
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| children_list_childrenA | List child profiles. Always call this first to get child IDs and slugs needed by other tools. |
| children_get_childA | Get a single child profile by slug. Children are keyed by slug, not numeric ID. |
| children_create_childA | Add a new child profile. |
| children_update_childA | Update a child's profile by slug. Only provided fields are changed. |
| diapers_list_diaper_changesC | List diaper change records with optional filters. |
| diapers_create_diaper_changeA | Record a diaper change event. |
| diapers_update_diaper_changeA | Update an existing diaper change record. Only provided fields are changed. |
| diapers_delete_diaper_changeA | Delete a diaper change record. This action is permanent. |
| feedings_list_feedingsB | List feeding records with optional filters. |
| feedings_create_feedingC | Record a feeding session. |
| feedings_update_feedingA | Update an existing feeding record. Only provided fields are changed. |
| feedings_delete_feedingA | Delete a feeding record. This action is permanent. |
| sleep_list_sleepA | List sleep records with optional filters. |
| sleep_create_sleepB | Record a sleep session. |
| sleep_update_sleepA | Update an existing sleep record. Only provided fields are changed. |
| sleep_delete_sleepA | Delete a sleep record. This action is permanent. |
| pumping_list_pumpingC | List pumping session records with optional filters. |
| pumping_create_pumpingB | Record a pumping session. |
| pumping_update_pumpingB | Update an existing pumping record. Only provided fields are changed. |
| pumping_delete_pumpingA | Delete a pumping record. This action is permanent. |
| tummy_times_list_tummy_timesA | List tummy time session records with optional filters. |
| tummy_times_create_tummy_timeC | Record a tummy time session. |
| tummy_times_update_tummy_timeA | Update an existing tummy time record. Only provided fields are changed. |
| tummy_times_delete_tummy_timeA | Delete a tummy time record. This action is permanent. |
| timers_list_timersA | List active and recent timers. Use timer IDs when creating feedings, sleep, pumping, or tummy time records. |
| timers_get_timerA | Get a specific timer to see its name, start time, and elapsed duration. |
| timers_create_timerA | Start a new timer. Use the returned ID when finishing a feeding, sleep, pumping, or tummy time session. |
| timers_update_timerB | Update a timer's name or child association. |
| timers_restart_timerA | Restart a timer, resetting its start time to now while keeping the same timer. |
| timers_delete_timerA | Stop and delete a timer. Use create_feeding/create_sleep/etc. with timer_id first to log the session. |
| measurements_list_bmiC | List BMI measurements. |
| measurements_create_bmiC | Record a BMI measurement. |
| measurements_update_bmiA | Update an existing BMI record. Only provided fields are changed. |
| measurements_delete_bmiB | Delete a BMI record. This action is permanent. |
| measurements_list_heightC | List height measurements. |
| measurements_create_heightC | Record a height measurement. |
| measurements_update_heightA | Update an existing height record. Only provided fields are changed. |
| measurements_delete_heightA | Delete a height record. This action is permanent. |
| measurements_list_weightC | List weight measurements. |
| measurements_create_weightC | Record a weight measurement. |
| measurements_update_weightA | Update an existing weight record. Only provided fields are changed. |
| measurements_delete_weightA | Delete a weight record. This action is permanent. |
| measurements_list_head_circumferenceC | List head circumference measurements. |
| measurements_create_head_circumferenceB | Record a head circumference measurement. |
| measurements_update_head_circumferenceA | Update an existing head circumference record. Only provided fields are changed. |
| measurements_delete_head_circumferenceA | Delete a head circumference record. This action is permanent. |
| measurements_list_temperatureC | List temperature readings. |
| measurements_create_temperatureB | Record a temperature reading. |
| measurements_update_temperatureA | Update an existing temperature record. Only provided fields are changed. |
| measurements_delete_temperatureB | Delete a temperature record. This action is permanent. |
| notes_list_notesB | List notes with optional filters. |
| notes_create_noteA | Create a new note for a child. Optionally attach an image. |
| notes_update_noteA | Update an existing note. Only provided fields are changed. |
| notes_delete_noteA | Delete a note. This action is permanent. |
| notes_list_tagsA | List all available tags that can be applied to notes. |
| notes_create_tagC | Create a new tag. |
| notes_update_tagB | Update an existing tag by slug. Tags are keyed by slug, not numeric ID. |
| notes_delete_tagA | Delete a tag by slug. This action is permanent and removes the tag from all notes. |
| medications_list_medicationsB | List medication administration records with optional filters. |
| medications_create_medicationB | Record a medication administration for a child. |
| medications_update_medicationA | Update an existing medication record. Only provided fields are changed. |
| medications_delete_medicationA | Delete a medication record. This action is permanent. |
| profile_get_profileA | Get the current authenticated user's profile: user details, language, timezone, and API key. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 63 tools
Every tool targets a unique resource-action pair, such as feedings_create_feeding vs pumping_create_pumping. Even the many measurement types are clearly separated by their specific noun (bmi, height, weight, head_circumference, temperature), leaving no ambiguity between tools.
Tools follow a consistent <domain>_<verb>_<entity> pattern, with domains consistently pluralized (feedings_, measurements_, etc.) and entity names switching between singular and plural only as grammatical context demands. The pattern is uniform and predictable across all 63 tools.
With 63 tools, the count far exceeds the 50+ threshold defined as an extreme mismatch. While each tool serves a clear purpose, the sheer number makes the toolset unwieldy, likely overwhelming agents with context and selection overhead. The scope could be split into multiple focused servers.
The toolset covers all major Baby Buddy resources—children, feedings, pumping, diapers, sleep, tummy time, measurements, notes, tags, medications, timers, and profile—with full CRUD on most entities. The only notable gap is the absence of a child delete operation, and many records lack individual getters, though list-with-filters compensates for that.