Skip to main content
Glama

get_activity

Retrieve daily activity metrics including steps, calories burned, distance traveled, and elevation gain from Withings health data for specified date ranges.

Instructions

Get daily activity data (steps, calories, distance, elevation)

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
startdateymdNoStart date in YYYY-MM-DD format
enddateymdNoEnd date in YYYY-MM-DD format
lastupdateNoGet activities modified since this timestamp

Implementation Reference

  • The main handler function for the get_activity tool. It prepares parameters based on input arguments and calls the Withings API endpoint /v2/measure with action=getactivity.
    async def _get_activity(self, args: dict) -> dict: """Get activity data.""" params = {"action": "getactivity"} 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"]) return await self._make_request("/v2/measure", params)
  • Registration of the get_activity tool in the list_tools handler, including name, description, and input schema definition.
    Tool( name="get_activity", description="Get daily activity data (steps, calories, distance, elevation)", 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 activities modified since this timestamp", }, }, }, ),
  • Dispatch logic in the call_tool handler that routes get_activity calls to the _get_activity implementation.
    elif name == "get_activity": result = await self._get_activity(arguments)
  • Input schema definition for the get_activity tool, specifying optional date parameters.
    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 activities modified since this timestamp", }, }, },
  • Helper function used by get_activity (and others) to make authenticated HTTP requests to the Withings API.
    async def _make_request(self, endpoint: str, params: dict) -> dict: """Make authenticated request to Withings API.""" headers = self.auth.get_headers() async with httpx.AsyncClient() as client: response = await client.get( f"{self.base_url}{endpoint}", headers=headers, params=params, ) response.raise_for_status() data = response.json() if data.get("status") != 0: raise Exception(f"API error: {data}") return data.get("body", {})

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