Skip to main content
Glama
Running Companion MCP Server

Running Companion MCP Server

This server has been deprecated

Personal project, not offered for public use.

Body and nutrition

get_body_report
Read-only

Review weight trend with safe-rate assessment and projected date, body composition, fitness age, calorie burn, sweat rates and daily protein/carb ranges; add run minutes for a run fuel/fluid plan.

Instructions

Weight trend against the user's goal with a safe-rate assessment and projected date, body composition (two-week averages of fat and muscle, a muscle-loss flag), Garmin's fitness age, calories burned on rest, training and big days, the user's own sweat rates (ml/h, overall and warm vs cool), and daily protein and carbohydrate ranges for their weight from the ACSM/ISSN position stands. Pass run_minutes (and hard) for a fuel and fluid plan for one run. This is general sports-nutrition guidance, not a diet: never suggest aggressive deficits, and point to a sports dietitian for personal plans.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "get_body_report"
  }
}

Input Schema

NameRequiredDescriptionDefault
dateNo
hardNo
run_minutesNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.3.3

TDQS

B3.4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered and the description's job is to add context, which it does: it names the upstream source (Garmin's fitness age), the aggregation method (two-week averages, muscle-loss flag), and the units for sweat rate (ml/h, warm vs cool). It also states the interpretive stance the agent must take (general sports-nutrition guidance, not a diet; no aggressive deficits; escalate to a dietitian). It does not say what happens when data is missing or sparse, which is the main remaining gap.

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

Conciseness3/5

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

It is front-loaded with the headline output (weight trend) and no sentence is padding, but the first sentence is a long comma-chained catalogue of seven-plus data items that is harder to scan than it needs to be. A short bulleted or clause-separated structure would have made the same content far more usable.

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

Completeness4/5

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

With no output schema, the description must describe return content, and it does so thoroughly, including aggregation windows and units. For a zero-required-parameter read-only report, an agent can call it correctly with no args or with run_minutes alone. The unexplained date parameter and undefined empty-data behavior are the only substantive omissions.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must carry all parameter meaning. run_minutes is genuinely explained (it switches the tool into a per-run fuel and fluid plan), and hard is at least implied as indicating a hard session within that plan. The date parameter is never mentioned at all, and the 10-600 bounds and default for hard are left entirely to the schema.

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

Purpose4/5

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

The description enumerates concrete resources: weight trend vs goal, body composition two-week averages, fitness age, calorie burn by day type, sweat rates, and macro ranges. That is specific enough for an agent to know exactly what data comes back. It never distinguishes itself from close siblings such as get_weekly_report or get_sleep_stress_report, which is what keeps it at 4 rather than 5.

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

Usage Guidelines3/5

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

There is one real usage rule: pass run_minutes (and hard) to get a fuel and fluid plan for a single run, which implies the no-arg call returns the general report. Beyond that, there is no statement of when to choose this over get_weekly_report or get_progress, and no explicit when-not guidance. The safety instruction (never suggest aggressive deficits, refer to a dietitian) governs output handling rather than tool selection.

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