Skip to main content
Glama

get_today_readiness_data

Retrieve today's readiness metrics from Oura Ring data to assess recovery status and plan daily activities based on physical preparedness.

Instructions

Get readiness data for today. Returns: Dictionary containing readiness data for today

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Implementation Reference

  • Primary handler and registration for the 'get_today_readiness_data' MCP tool. Uses @mcp.tool() decorator for registration and implements logic to fetch today's readiness data via OuraClient.
    @mcp.tool() def get_today_readiness_data() -> dict[str, Any]: """ Get readiness data for today. Returns: Dictionary containing readiness data for today """ if oura_client is None: return {"error": "Oura client not initialized. Please provide an access token."} try: today = date.today() return oura_client.get_readiness_data(today, today) except Exception as e: return {"error": str(e)}
  • Core helper function in OuraClient that performs the HTTP request to Oura API for daily readiness data, processes the response by filtering out unnecessary fields, and returns transformed data. Called by the tool handler.
    self, start_date: date, end_date: Optional[date] = None ) -> dict[str, Any]: """ Get readiness 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 readiness 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_readiness" 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 and timestamp fields transformed_item = { k: v for k, v in item.items() if k != "id" and not k.endswith("_timestamp") and k != "timestamp" } transformed_data.append(transformed_item) # Return with the original structure but with transformed data return {"data": transformed_data}

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/YuzeHao2023/MCP-oura'

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