MCP server for self-hosted BabyBuddy.
Transport: Streamable HTTP (runs on http://localhost:8080)
Auth: Direct API Token via environment variables. No login required.
cd babybuddy-mcp
pip install -r requirements.txtSet the following environment variables in your .env file or shell:
| Variable | Description |
|---|---|
BABYBUDDY_INSTANCE |
Your full BabyBuddy URL (e.g., https://your-instance.com/) |
BABYBUDDY_TOKEN |
Your API token (Settings → API → your token) |
Optional:
| Variable | Default | Description |
|---|---|---|
HOST |
localhost |
Bind address |
PORT |
8080 |
Listen port |
SERVER_URL |
http://localhost:8080 |
Public base URL |
python3 server.py| Tool | Description |
|---|---|
list_children |
List all children (returns IDs needed by other tools) |
log_feeding |
Log a feeding — type, method, start/end, optional amount |
get_feedings |
Recent feedings for a child |
delete_feeding |
Delete a feeding session by ID |
log_sleep |
Log a sleep session (nap or night) |
get_sleep |
Recent sleep sessions |
delete_sleep |
Delete a sleep session by ID |
log_diaper_change |
Log a diaper change — wet, solid, color, amount |
get_diaper_changes |
Recent diaper changes |
delete_diaper_change |
Delete a diaper change by ID |
log_temperature |
Log temperature in °C |
get_temperature |
Recent temperature readings |
delete_temperature |
Delete a temperature reading by ID |
log_weight |
Log weight in kg |
get_weight |
Weight history |
delete_weight |
Delete a weight measurement by ID |
log_height |
Log height in cm |
get_height |
Height history |
delete_height |
Delete a height measurement by ID |
log_head_circumference |
Log head circumference in cm |
get_head_circumference |
Head circumference history |
delete_head_circumference |
Delete a head circumference measurement by ID |
log_pumping |
Log a pumping session in ml |
get_pumping |
Recent pumping sessions |
delete_pumping |
Delete a pumping session by ID |
add_note |
Add a free-text note |
get_notes |
Recent notes |
delete_note |
Delete a note by ID |
get_timers |
List active timers |
start_timer |
Start a new timer |
stop_timer |
Stop/delete a timer |
get_tags |
List all tags |
get_daily_summary |
All events for a child on a given day |
The included Dockerfile targets Cloud Run.
gcloud run deploy babybuddy-mcp \
--source=. \
--allow-unauthenticated \
--set-env-vars="BABYBUDDY_INSTANCE=$BABYBUDDY_INSTANCE,BABYBUDDY_TOKEN=$BABYBUDDY_TOKEN"To run the end-to-end tests against your real BabyBuddy instance:
- Ensure your
.envfile hasBABYBUDDY_INSTANCEandBABYBUDDY_TOKENset. - Install test dependencies:
uv pip install -r requirements.txt
- Run the tests:
uv run pytest tests/test_e2e.py