babybuddy-mcp

babybuddy-mcp

Connect AI assistants to your Baby Buddy instance to log and query feedings, sleep, diaper changes, and more.

Category
Visit Server

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

  1. Log in to your babybuddy web UI
  2. Click your username in the top-right corner → Settings
  3. 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

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.

Official
Featured
TypeScript
Magic Component Platform (MCP)

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.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

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.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

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.

Official
Featured
TypeScript
Kagi MCP Server

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.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

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.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured