babybuddy-mcp
Connect AI assistants to your Baby Buddy instance to log and query feedings, sleep, diaper changes, and more.
README
babybuddy-mcp
An MCP server for the Baby Buddy baby tracking application. Connect AI assistants to your babybuddy instance to log and query feedings, sleep, diaper changes, and more.
Built with FastMCP and designed to run alongside babybuddy in Docker.
Requirements
- mise (for local development)
- Python 3.13+
- A running babybuddy instance with API access
Setup
1. Get your API token
- Log in to your babybuddy web UI
- Click your username in the top-right corner → Settings
- Copy the API Key shown on the page
2. Configure environment
cp .env.example .env
Edit .env:
BABYBUDDY_URL=http://localhost:8000 # URL of your babybuddy instance
BABYBUDDY_TOKEN=your-api-key-here # Token from step 1
MCP_TRANSPORT=http # "http" for Docker, "stdio" for Claude Desktop
MCP_PORT=8080
Running with Docker
docker compose up --build
The MCP server will be available at http://localhost:8080/mcp/.
If babybuddy is running on the same Docker network, set BABYBUDDY_URL to use its service name (e.g. http://babybuddy:8000).
Connecting to Claude Desktop (stdio mode)
Set MCP_TRANSPORT=stdio in .env, then add to your Claude Desktop claude_desktop_config.json:
{
"mcpServers": {
"babybuddy": {
"command": "mise",
"args": ["x", "python@3.13", "--", "uv", "run", "python", "-m", "babybuddy_mcp"],
"cwd": "/path/to/babybuddy-mcp",
"env": {
"BABYBUDDY_URL": "http://localhost:8000",
"BABYBUDDY_TOKEN": "your-api-key-here",
"MCP_TRANSPORT": "stdio"
}
}
}
}
Connecting via HTTP transport
Add to your MCP client config:
{
"mcpServers": {
"babybuddy": {
"url": "http://localhost:8080/mcp/"
}
}
}
Available Tools
Tools are organized by domain with namespaced names (e.g. feedings_list_feedings).
| Domain | Tools |
|---|---|
| children | list_children, get_child, create_child, update_child |
| diapers | list_diaper_changes, create_diaper_change, update_diaper_change, delete_diaper_change |
| feedings | list_feedings, create_feeding, update_feeding, delete_feeding |
| sleep | list_sleep, create_sleep, update_sleep, delete_sleep |
| pumping | list_pumping, create_pumping, update_pumping, delete_pumping |
| tummy_times | list_tummy_times, create_tummy_time, update_tummy_time, delete_tummy_time |
| timers | list_timers, get_timer, create_timer, update_timer, delete_timer |
| measurements | list/create/update/delete × bmi, height, weight, head_circumference, temperature |
| notes | list_notes, create_note, update_note, delete_note, list_tags, create_tag, update_tag, delete_tag |
Environment Variables
| Variable | Required | Default | Description |
|---|---|---|---|
BABYBUDDY_URL |
Yes | — | URL of your babybuddy instance |
BABYBUDDY_TOKEN |
Yes | — | API token from babybuddy Settings |
MCP_TRANSPORT |
No | http |
Transport: http or stdio |
MCP_HOST |
No | 0.0.0.0 |
Host to bind (HTTP transport only) |
MCP_PORT |
No | 8080 |
Port to listen on (HTTP transport only) |
REQUEST_TIMEOUT |
No | 30.0 |
Timeout in seconds for babybuddy API calls |
DEFAULT_PAGE_SIZE |
No | 100 |
Max records returned per list call |
Development
# Install tools and dependencies
mise install
mise run install
# Run tests
mise run test
# Lint
mise run lint
# Type check
mise run typecheck
Example prompts
- "Log a feeding for Alice — she had breast milk from the left breast from 2pm to 2:25pm today"
- "How many times did Alice eat yesterday?"
- "Record a diaper change for Alice at 3pm — wet only"
- "Start a sleep timer for Alice"
- "Alice just woke up, end her sleep timer and log it"
- "What was Alice's weight at her last checkup?"
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.