Skip to main content
Glama

get_sleep_summary

Retrieve sleep analysis data including duration, deep sleep, REM cycles, wake-ups, breathing disturbances, and apnea metrics from Withings health devices for monitoring sleep patterns and quality.

Instructions

Get sleep summary data (duration, deep sleep, REM, wake up count, breathing disturbances, apnea, etc.)

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
startdateymdNoStart date in YYYY-MM-DD format
enddateymdNoEnd date in YYYY-MM-DD format
lastupdateNoGet sleep data modified since this timestamp
data_fieldsNoComma-separated list of data fields to include (e.g., 'breathing_disturbances_intensity,apnea_hypopnea_index,snoring,rr_average'). If not specified, returns default fields.

Implementation Reference

  • Implements the core logic for the get_sleep_summary tool: constructs parameters from input args and calls the Withings /v2/sleep API with action=getsummary.
    async def _get_sleep_summary(self, args: dict) -> dict: """Get sleep summary.""" params = {"action": "getsummary"} if "startdateymd" in args: params["startdateymd"] = args["startdateymd"] if "enddateymd" in args: params["enddateymd"] = args["enddateymd"] if "lastupdate" in args: params["lastupdate"] = self._parse_date(args["lastupdate"]) if "data_fields" in args: params["data_fields"] = args["data_fields"] return await self._make_request("/v2/sleep", params)
  • Registers the get_sleep_summary tool with the MCP server via list_tools(), including name, description, and input schema definition.
    Tool( name="get_sleep_summary", description="Get sleep summary data (duration, deep sleep, REM, wake up count, breathing disturbances, apnea, etc.)", inputSchema={ "type": "object", "properties": { "startdateymd": { "type": "string", "description": "Start date in YYYY-MM-DD format", }, "enddateymd": { "type": "string", "description": "End date in YYYY-MM-DD format", }, "lastupdate": { "type": "string", "description": "Get sleep data modified since this timestamp", }, "data_fields": { "type": "string", "description": "Comma-separated list of data fields to include (e.g., 'breathing_disturbances_intensity,apnea_hypopnea_index,snoring,rr_average'). If not specified, returns default fields.", }, }, }, ),
  • In the call_tool handler, routes 'get_sleep_summary' tool invocations to the _get_sleep_summary implementation method.
    elif name == "get_sleep_summary": result = await self._get_sleep_summary(arguments)
  • Input schema definition for the get_sleep_summary tool, specifying properties for date ranges, lastupdate, and optional data_fields.
    inputSchema={ "type": "object", "properties": { "startdateymd": { "type": "string", "description": "Start date in YYYY-MM-DD format", }, "enddateymd": { "type": "string", "description": "End date in YYYY-MM-DD format", }, "lastupdate": { "type": "string", "description": "Get sleep data modified since this timestamp", }, "data_fields": { "type": "string", "description": "Comma-separated list of data fields to include (e.g., 'breathing_disturbances_intensity,apnea_hypopnea_index,snoring,rr_average'). If not specified, returns default fields.", }, }, },

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/schimmmi/withings-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server