Skip to main content
Glama

get_resilience_data

Retrieve resilience data within a specified date range using ISO-formatted start and end dates. Provides a dictionary of resilience metrics for analysis or integration.

Instructions

Get resilience data for a specific date range. Args: start_date: Start date in ISO format (YYYY-MM-DD) end_date: End date in ISO format (YYYY-MM-DD) Returns: Dictionary containing resilience data

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
end_dateYes
start_dateYes

Implementation Reference

  • The MCP tool handler for get_resilience_data. It checks if the Oura client is initialized, parses the input date strings, calls the OuraClient's get_resilience_data method with date objects, and handles exceptions by returning an error dictionary.
    @mcp.tool() def get_resilience_data(start_date: str, end_date: str) -> dict[str, Any]: """ Get resilience data for a specific date range. Args: start_date: Start date in ISO format (YYYY-MM-DD) end_date: End date in ISO format (YYYY-MM-DD) Returns: Dictionary containing resilience data """ if oura_client is None: return {"error": "Oura client not initialized. Please provide an access token."} try: start = parse_date(start_date) end = parse_date(end_date) return oura_client.get_resilience_data(start, end) except Exception as e: return {"error": str(e)}
  • The OuraClient helper method that performs the actual API call to fetch daily resilience data from the Oura API endpoint, handles the HTTP response, removes 'id' fields from data items, and returns transformed data.
    def get_resilience_data( self, start_date: date, end_date: Optional[date] = None ) -> dict[str, Any]: """ Get resilience data for a specific date range. Args: start_date: Start date for the query end_date: End date for the query (optional, defaults to start_date) Returns: Dictionary containing resilience data """ if end_date is None: end_date = start_date params = { "start_date": start_date.isoformat(), "end_date": end_date.isoformat(), } url = f"{self.BASE_URL}/daily_resilience" response = self.client.get(url, headers=self.headers, params=params) if response.status_code != 200: error_msg = f"Error {response.status_code}: {response.text}" raise Exception(error_msg) # Get the raw response raw_data = response.json() # Transform the data - just return the data array directly transformed_data = [] for item in raw_data.get("data", []): # Create transformed item without the id field transformed_item = {k: v for k, v in item.items() if k != "id"} transformed_data.append(transformed_item) # Return with the original structure but with transformed data return {"data": transformed_data}

Other Tools

Related Tools

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/tomekkorbak/oura-mcp-server'

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