get_capabilitiesLABSCO SUMMARY
It can add, and that is all it can do.
No update, no delete — a mis-parsed instruction can create a wrong entry you then fix in the app, but it cannot silently rewrite three weeks of sleep history. Access is user-scoped through row-level security using the anon key rather than a service role, and the long-lived token only bootstraps a session whose JWT expires after 1 hour. If your client is node-based, note the Bun requirement early; it is the thing most likely to stop a first attempt.
What it is
A client, CLI and MCP server for Nestling. It reads a baby's tracked history and logs new entries that sync back into the app, and it deliberately cannot update or delete anything that is already there.
What you get
- What data sources and tools are available, for discovery —
get_capabilities - Your account profile and the baby roster, whose ids every other tool takes —
get_user,list_babies,get_baby - History for a baby over a date range: sleep sessions, feeds (breast, bottle, solids), nappy changes and diary entries —
list_sleep,list_feeds,list_nappies,list_diary - New entries logged: a sleep session with start and end, a feed with type and amount, a nappy change, and a diary entry with text and tags —
create_sleep,create_feed,create_nappy,create_diary - Flexible time input on the CLI side — ISO 8601,
today 3pm,yesterday 8:30pm,30m ago— resolved against your configured timezone
Requirements
A Nestling account and an API token generated in the app under Settings > Data > API Token, supplied as NESTLING_API_TOKEN, with NESTLING_TIMEZONE optional. Bun 1.3+ — the package ships TypeScript source with no build step, so the launch command must be bun or bunx, not node or npx. The package is nestling-ts (0.3.0), providing the nestling and nestling-mcp binaries. Alternatively use the hosted endpoint at https://mcp.nestling-app.com/mcp as a custom connector and paste your token at sign-in, or self-host the HTTP mode behind HTTPS, where each request authenticates with its own bearer token.
Setup effort
Add the hosted endpoint plus a key — paste it into your client, then supply credentials
USE CASES
Logging a feed or a nappy while your hands are full
Say what happened and when in plain language and have the entry created, instead of unlocking the app mid-task.
Understanding a week of sleep
Pull sleep sessions over a date range and ask for the pattern rather than reading a chart.
Answering a health visitor's question from the record
Read feeds, nappies and diary entries across the same window so the answer comes from logged data, not recall.
Capturing a milestone before you forget it
Create a diary entry with the text and tags at the moment it happens.
12 tools
Listed in project docs. Your client may show a different list.
get_userlist_babiesget_babylist_sleeplist_feedslist_nappieslist_diarycreate_sleepcreate_feedcreate_nappycreate_diaryBEFORE YOU INSTALL
What to know first
Tools you get
12 tools named in the project's documentation.
Requires
- Bun 1.3+
- NESTLING_API_TOKEN in your environment
INSTALLATION
Connect your client
Server setup
From source
git clone https://github.com/kparmesar/nestling-ts.git
cd nestling-ts
bun install
bun linkHosted endpoint
https://mcp.nestling-app.com/mcpAdd this hosted endpoint to your MCP client using the credentials listed under Requirements.
MCP Clients
Claude Desktop, Claude Code
{
"mcpServers": {
"nestling": {
"command": "bun",
"args": [
"run",
"nestling-mcp"
],
"cwd": "<YOUR_PATH_TO_NESTLING_TS>",
"env": {
"NESTLING_API_TOKEN": "<YOUR_NESTLING_API_TOKEN>",
"NESTLING_TIMEZONE": "Europe/London"
}
}
}
}Set cwd to the full path of the nestling-ts folder the git clone step creates.
ChatGPT
Use the hosted URL https://mcp.nestling-app.com/mcp, or run your own server in HTTP mode from the clone. It listens on http://localhost:8787/mcp (set PORT to change it); put it behind HTTPS so ChatGPT can reach it.
bun run nestling-mcp -- --httpIn ChatGPT GPT Builder → Actions → "Add action".
Set the server URL to your /mcp endpoint.
Set auth to Bearer and paste your Nestling API token.