Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
GARMINTOKENSNoOptional path to existing Garmin token directory (for Garmin integration)
MACROFACTOR_DB_PATHYesAbsolute path to the DuckDB database file (e.g., /absolute/path/to/macrofactor.duckdb)
MACROFACTOR_DATA_DIRYesAbsolute path to directory containing MacroFactor export .xlsx files

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
setup_checkA

Check local setup and explain the easiest next action.

Use this first when the MCP seems empty, stale, misconfigured, or when you
are not sure which tool to call next.

Args:
    show_workflows: Include common question-to-tool workflows.
import_exportA

Import a MacroFactor .xlsx export file into the database.

Supports both Quick Export and All-Time Data formats.
If filename is empty, auto-detects the most recent .xlsx in the data directory.

Args:
    filename: Path to .xlsx file, or empty to auto-detect.
clear_dataA

Clear all imported data so you can reimport fresh exports.

data_statusA

Check what data is currently loaded — date ranges, row counts, last import.

queryA

Run a custom SQL query against the MacroFactor database.

Available tables:
  - daily: date, calories, macros, targets, weight, expenditure, steps, micros
  - food_log: date, time, food details (from Quick Export)
  - workouts: date, exercise, sets, reps, weight (from Quick Export)
  - muscle_sets: date, muscle_group, sets
  - muscle_volume: date, muscle_group, volume_kg
  - exercise_tracking: date, exercise, metric, value (from All-Time)
  - body_metrics: date, metric, value
  - custom_foods: food_name, nutrition info
  - nutrition_targets: program_date, weekday, targets
  - food_log_notes: date, name, note
  - garmin_daily_stats: date, steps, calories, HR, stress, body battery
  - garmin_activities: activity_id, date, type, duration, distance, HR, power
  - garmin_sleep: date, sleep phases, score, HRV, SpO2
  - garmin_training_status: date, status, VO2max, training load, FTP
  - garmin_body_fat: date, body_fat_pct
  - garmin_sync_log: sync history

Use `data_status` to see what's loaded.

Args:
    sql: SQL query (read-only SELECT statements only).
get_nutrition_summaryC

Get nutrition summary for a specific date.

Args:
    date_str: Date in YYYY-MM-DD format. Empty = today.
get_nutrition_rangeB

Get daily nutrition data for a date range.

Args:
    start_date: Start date (YYYY-MM-DD)
    end_date: End date (YYYY-MM-DD)
get_food_logA

Get all foods logged on a specific date.

Args:
    date_str: Date (YYYY-MM-DD). Default: today.
search_foodA

Search logged foods by name across all dates.

Also searches custom foods if no log results found.

Args:
    query: Search term (case-insensitive).
    limit: Max results (default 20).
get_weight_trendB

Get weight trend data. Defaults to last 30 days.

Args:
    start_date: Start date (YYYY-MM-DD). Default: 30 days ago.
    end_date: End date (YYYY-MM-DD). Default: today.
get_workout_logB

Get workout details for a specific date.

Args:
    date_str: Date (YYYY-MM-DD). Default: most recent workout.
get_workout_historyA

Get a summary of all workouts in a date range. Defaults to last 30 days.

Args:
    start_date: Start date (YYYY-MM-DD)
    end_date: End date (YYYY-MM-DD)
get_muscle_group_summaryB

Get muscle group sets and volume summary. Defaults to last 7 days.

Args:
    start_date: Start date (YYYY-MM-DD)
    end_date: End date (YYYY-MM-DD)
get_exercise_progressB

Track progress for a specific exercise over time.

Args:
    exercise: Exercise name (case-insensitive, partial match).
    metric: One of: estimated_1rm, estimated_3rm, estimated_10rm,
            total_volume, best_set_volume, heaviest_weight,
            total_reps, best_set_reps, total_sets,
            total_duration, best_set_duration,
            total_distance, best_set_distance.
    limit: Max data points to return (default 20, most recent).
list_exercisesA

List all tracked exercises with available metrics.

sync_garminA

Sync Garmin health data into local DuckDB for fast cross-queries with MacroFactor data.

Pulls daily stats, activities, sleep, training status, and body fat
from Garmin Connect for the last N days. Data is upserted (idempotent).

Args:
    days: Number of days to sync (default 7).
garmin_statusA

Quick Garmin health snapshot for a date. No API calls — reads from synced DuckDB data.

Combines daily stats, sleep, and training status in one view.
Run sync_garmin first to populate data.

Args:
    date_str: Date in YYYY-MM-DD format. Empty = today.
daily_briefingA

Complete day view combining MacroFactor nutrition + Garmin health data.

The cross-data tool — shows nutrition, adherence, body, activity,
sleep, and training in one view. No API calls — reads from DuckDB.

Args:
    date_str: Date in YYYY-MM-DD format. Empty = today.
get_compliance_reportB

Compare actual intake vs targets over a date range. Shows adherence.

Args:
    start_date: Start date (YYYY-MM-DD)
    end_date: End date (YYYY-MM-DD)
get_digestA

Get a comprehensive weekly or monthly digest combining nutrition, weight, training, and adherence.

One call instead of five — gives a complete picture of a period.

Args:
    period: "week" (last 7 days) or "month" (last 30 days).
    end_date: End date (YYYY-MM-DD). Default: today.
detect_phasesA

Auto-detect cut/bulk/maintenance phases from weight trend and energy balance.

Analyzes the full history and identifies distinct phases based on trend weight
direction and caloric balance. Each phase shows duration, weight change, and
average deficit/surplus.

Args:
    min_days: Minimum days for a phase to be reported (default 14).
analyze_meal_patternsA

Analyze meal timing, frequency, and which foods correlate with hitting targets.

Shows when you eat, how many meals per day, most frequent foods, and which
foods appear most on days where you hit your calorie and protein targets.

Args:
    start_date: Start date (YYYY-MM-DD). Default: 30 days ago.
    end_date: End date (YYYY-MM-DD). Default: today.
    limit: Max foods to show per category (default 15).
get_combined_dataA

Unified cross-domain query — returns merged nutrition + health data by date.

One call replaces multiple tool calls. Returns all requested domains in one payload.

Args:
    start_date: Start date (YYYY-MM-DD). Default: 7 days ago.
    end_date: End date (YYYY-MM-DD). Default: today.
    domains: List of domains to include. Options: nutrition, weight, sleep,
             training, activity, workouts. Default: all.
weekly_reportA

Comprehensive 7-day report — nutrition, workouts, sleep, body, activity in one call.

Includes daily detail for weight and nutrition, full workout breakdown with
merged MacroFactor + Garmin strength data, sleep trends, and training load.

Args:
    end_date: Last day of the week (YYYY-MM-DD). Default: today.
recovery_checkA

Readiness assessment — should you train hard today?

Combines last night's sleep, body battery, training load ratio,
and yesterday's nutrition compliance into a single readiness view.

Args:
    date_str: Date to check (YYYY-MM-DD). Default: today.
nutrition_performance_correlationA

Correlate nutrition intake with next-day training metrics.

Shows whether protein/calorie intake patterns affect next-day body battery,
HRV, and workout performance. Splits days into high/low intake buckets.

Args:
    start_date: Start date (YYYY-MM-DD). Default: 30 days ago.
    end_date: End date (YYYY-MM-DD). Default: today.
sleep_analysisA

Analyze what affects sleep quality — prior-day training, calories, timing.

Correlates sleep scores with training intensity, total calories, and meal
timing from the preceding day.

Args:
    start_date: Start date (YYYY-MM-DD). Default: 30 days ago.
    end_date: End date (YYYY-MM-DD). Default: today.
body_comp_trendA

Track body composition over time — weight, body fat, training volume, energy balance.

Answers: am I gaining muscle or fat? Combines weight trend with body fat,
training volume, and calorie surplus/deficit.

Args:
    start_date: Start date (YYYY-MM-DD). Default: 90 days ago.
    end_date: End date (YYYY-MM-DD). Default: today.
get_insightsA

Get personalized insights based on your nutrition, training, sleep, and recovery data.

Analyzes cross-domain patterns specific to YOUR data. Includes:
- Current state (phase, weight trajectory, weekly nutrition pacing)
- Trend alerts (sleep, HRV, body battery, compliance changes)
- Personal correlations (what actually affects YOUR recovery)
- Actionable recommendations prioritized by urgency
- Sparkline trends for key metrics

Works best with both MacroFactor and Garmin data synced.
No arguments needed — analyzes everything automatically.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

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/NasserAlbusaidi/macrofactor-mcp'

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