Skip to main content
Glama
MyFitnessPal MCP Server

MyFitnessPal MCP Server

by delize

mfp_get_steps

Read-onlyIdempotent

Retrieve daily step counts synced to MyFitnessPal for a date range, including totals, averages, and null entries for days without data.

Instructions

Get daily step counts synced into MyFitnessPal (e.g. from Apple Health).

Returns one entry per day in the range. Days with no synced data have steps: null. Ranges are limited to 31 days per call.

Args: params: GetStepsInput containing: - start_date (str, optional): Defaults to 6 days before end_date - end_date (str, optional): Defaults to today - response_format (str): 'markdown' or 'json'

Returns: str: Daily step counts with a total/average summary

Input Schema

NameRequiredDescriptionDefault
paramsYes

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv1.4.0

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/non-destructive, so the safety profile is covered. The description adds genuinely new behavior: one entry per day, null steps for days without synced data, and a hard 31-day-per-call range limit — all things the annotations cannot express.

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?

Front-loaded with the one-line purpose, then constraints, then args and returns in a scannable Google-style docstring. Minor redundancy between the prose line about per-day entries and the Returns section, but nothing that wastes an agent's attention.

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?

For a single-param read tool with an output schema present, this covers purpose, defaults, null semantics, and the range cap — enough to call it correctly. It stops short of mentioning error behavior when the 31-day limit is exceeded, but that is a minor gap.

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

Parameters4/5

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

Top-level schema description coverage is 0% (the single `params` wrapper is undocumented), so the description must compensate, and it does: it enumerates start_date, end_date, and response_format with their defaulting rules (6 days back, today). It adds meaning beyond the schema even though it does not restate the YYYY-MM-DD pattern.

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

Purpose5/5

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

The description opens with a specific verb+resource ('Get daily step counts') and even names the upstream source ('synced into MyFitnessPal, e.g. from Apple Health'), which disambiguates it from generic measurement or diary siblings. An agent can distinguish this from mfp_get_measurements or mfp_get_diary without opening the schema.

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?

Usage is implied by the resource name, and the 31-day range cap tells the agent when the call will fail, but there is no explicit when-to-use/when-not guidance and no named alternative (e.g. for manually logged vs synced steps). Adequate but leaves routing to inference.

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