babybuddy-mcp
OfficialClick on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@babybuddy-mcpLog a feeding for Alice: breast milk, left breast, 2pm to 2:25pm today"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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
Related MCP server: Nextcloud MCP Server
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 .envEdit .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=8080Running with Docker
docker compose up --buildThe 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 |
|
diapers |
|
feedings |
|
sleep |
|
pumping |
|
tummy_times |
|
timers |
|
measurements |
|
notes |
|
Environment Variables
Variable | Required | Default | Description |
| Yes | — | URL of your babybuddy instance |
| Yes | — | API token from babybuddy Settings |
| No |
| Transport: |
| No |
| Host to bind (HTTP transport only) |
| No |
| Port to listen on (HTTP transport only) |
| No |
| Timeout in seconds for babybuddy API calls |
| No |
| 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 typecheckExample 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?"
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/babybuddy/babybuddy-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server