IntegrateIntegrate
Integrations

Garmin Integration

Manage Garmin list activities, list daily summaries, list sleep, list heart rates, list body composition

The Garmin integration provides access to manage Garmin list activities, list daily summaries, list sleep, list heart rates, list body composition through the Integrate MCP server.

Installation

The Garmin integration is included with the SDK:

import { garminIntegration } from "integrate-sdk/server";

Setup

1. Create a Garmin OAuth App

  1. Create an OAuth application for Garmin
  2. Configure your redirect URI
  3. Note your Client ID and Client Secret

2. Configure the Integration on Your Server

Add the Garmin integration to your server configuration. The integration automatically reads GARMIN_CLIENT_ID and GARMIN_CLIENT_SECRET from your environment variables:

import { createMCPServer, garminIntegration } from "integrate-sdk/server";

export const { client: serverClient } = createMCPServer({
  apiKey: process.env.INTEGRATE_API_KEY,
  integrations: [
    garminIntegration({
      scopes: ["activities", "heartrate", "sleep", "stress", "body_composition", "user_metrics"], // Optional
    }),
  ],
});

You can override the environment variables by passing explicit values:

garminIntegration({
  clientId: process.env.CUSTOM_GARMIN_ID,
  clientSecret: process.env.CUSTOM_GARMIN_SECRET,
      scopes: ["activities", "heartrate", "sleep", "stress", "body_composition", "user_metrics"], // Optional
});

3. Client-Side Usage

The default client automatically includes all integrations. You can use it directly:

import { client } from "integrate-sdk";

await client.authorize("garmin");
const result = await client.garmin.listActivities({});

console.log(result);

If you're using a custom client, add the integration to the integrations array:

import { createMCPClient, garminIntegration } from "integrate-sdk";

const customClient = createMCPClient({
  integrations: [garminIntegration()],
});

Configuration Options

Prop

Type

Default Scopes

These defaults are applied unless you override scopes in the integration config:

  • activities
  • heartrate
  • sleep
  • stress
  • body_composition
  • user_metrics

Tools

garmin_list_activities

List activities

Prop

Type

garmin_list_daily_summaries

List daily summaries

Prop

Type

garmin_list_sleep

List sleep

Prop

Type

garmin_list_heart_rates

List heart rates

Prop

Type

garmin_list_body_composition

List body composition

Prop

Type

Notes

  • Category: Fitness
  • Authentication mode: OAuth

On this page