get_sleep_details
Retrieve detailed sleep data including all sleep phases for a specified date range from your Withings device.
Instructions
Get detailed sleep data with all sleep phases
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| startdate | No | Start date (YYYY-MM-DD) or Unix timestamp | |
| enddate | No | End date (YYYY-MM-DD) or Unix timestamp |
Implementation Reference
- The handler method _get_sleep_details that executes the 'get_sleep_details' tool logic. It calls the Withings API endpoint /v2/sleep with action=get to retrieve detailed sleep data including all sleep phases.
async def _get_sleep_details(self, args: dict) -> dict: """Get detailed sleep data.""" params = {"action": "get"} if "startdate" in args: params["startdate"] = self._parse_date(args["startdate"]) if "enddate" in args: params["enddate"] = self._parse_date(args["enddate"], end_of_day=True) return await self._make_request("/v2/sleep", params) - Input schema definition for the 'get_sleep_details' tool. It defines two optional parameters: startdate and enddate (both strings, YYYY-MM-DD or Unix timestamp).
Tool( name="get_sleep_details", description="Get detailed sleep data with all sleep phases", inputSchema={ "type": "object", "properties": { "startdate": { "type": "string", "description": "Start date (YYYY-MM-DD) or Unix timestamp", }, "enddate": { "type": "string", "description": "End date (YYYY-MM-DD) or Unix timestamp", }, }, }, ), - src/withings_mcp_server/server.py:216-217 (registration)Registration/dispatch of the tool name 'get_sleep_details' in the call_tool handler. When name matches 'get_sleep_details', it calls self._get_sleep_details(arguments).
elif name == "get_sleep_details": result = await self._get_sleep_details(arguments)