Skip to main content
Glama

get_lifestyle_logging_data

Retrieve daily lifestyle logging data for a specified date from Garmin Connect to access hydration, stress, and other lifestyle metrics.

Instructions

Get daily lifestyle logging data for a date

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
dateNoDate in YYYY-MM-DD format. Defaults to today if not provided

Implementation Reference

  • Registration of the 'get_lifestyle_logging_data' tool via server.registerTool, with schema using dateParamSchema and handler calling client.getLifestyleLoggingData
    server.registerTool(
      'get_lifestyle_logging_data',
      {
        description: 'Get daily lifestyle logging data for a date',
        inputSchema: dateParamSchema.shape,
      },
      async ({ date }) => {
        const data = await client.getLifestyleLoggingData(date);
        return {
          content: [{ type: 'text' as const, text: JSON.stringify(data, null, 2) }],
        };
      },
    );
  • Handler/client method getLifestyleLoggingData that calls the Garmin API endpoint with the resolved date
    async getLifestyleLoggingData(date?: string): Promise<unknown> {
      const resolvedDate = date ?? todayString();
      return this.request(`${LIFESTYLE_LOGGING_ENDPOINT}/${resolvedDate}`);
    }
  • Input schema (dateParamSchema) used by the tool - defines optional 'date' parameter in YYYY-MM-DD format
    export const dateParamSchema = z.object({
      date: dateString
        .optional()
        .describe('Date in YYYY-MM-DD format. Defaults to today if not provided'),
    });
  • API endpoint constant used by the handler: LIFESTYLE_LOGGING_ENDPOINT = '/lifestylelogging-service/dailyLog'
    export const LIFESTYLE_LOGGING_ENDPOINT = '/lifestylelogging-service/dailyLog';
  • src/index.ts:49-49 (registration)
    Top-level registration of wellness tools (includes get_lifestyle_logging_data) via registerWellnessTools(server, client)
    registerWellnessTools(server, client);
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations exist, so the description must communicate behavioral traits. It only states 'get data' without mentioning read-only nature, auth requirements, or any side effects. This is insufficient for a data retrieval tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence with no wasted words. However, its brevity sacrifices necessary detail; a slightly longer description would improve clarity without reducing conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema and no annotations, the description should at least indicate the kind of data returned (e.g., steps, mood, meals). The vague term 'lifestyle logging data' leaves agents guessing, making the tool hard to invoke correctly without external knowledge.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The single parameter 'date' is fully described in the schema (format and default). The description adds no additional semantic value beyond what the schema already provides, meeting the baseline for 100% schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states it gets daily lifestyle logging data for a date, which indicates a specific resource. However, it lacks detail on what constitutes 'lifestyle logging' and does not differentiate from siblings like get_daily_summary or get_daily_health_snapshot.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus other similar get tools. The description does not indicate what distinguishes lifestyle logging from other daily data types.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other 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/Nicolasvegam/garmin-connect-mcp'

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