MyFitnessPal MCP Server
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@MyFitnessPal MCP Servershow me my nutrition summary for yesterday"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
mcp-myfitnesspal
Available Tools
6 toolsget_daily_exerciseA
Get exercise activities: cardio (duration, calories) and strength (sets, reps, weight).
Args: date: Date in YYYY-MM-DD format (defaults to today)
| Name | Required | Description | Default |
|---|---|---|---|
| date | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description should disclose more. Only mentions default date behavior; lacks details on read-only nature, error handling, or what happens with no data.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences plus args are concise, but could front-load purpose more prominently.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with one optional parameter, description explains return types partially. Lacks output schema but sufficient for basic use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only one parameter (date), and description adds format (YYYY-MM-DD) and default behavior (today), compensating for 0% schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the verb 'Get' and the resource 'exercise activities', specifies types (cardio, strength) with details, and distinguishes from sibling tools like get_daily_macros.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit when-to-use or alternative guidance, but the purpose is clear enough that usage is implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_daily_macrosB
Get comprehensive macro and micronutrient breakdown with all tracked nutrients.
Args: date: Date in YYYY-MM-DD format (defaults to today)
| Name | Required | Description | Default |
|---|---|---|---|
| date | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It discloses the tool returns nutrient breakdown but does not mention read-only nature, authentication needs, or any side effects. For a get endpoint, basic safety traits should be implied but not stated, which limits transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with no fluff. First sentence defines purpose, second describes parameter. Information is front-loaded and compact, making it easy to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (1 optional param, no output schema) and sibling set, the description covers core purpose and parameter but omits return format or examples. While not critically incomplete, it could mention typical nutrients returned to set expectations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, but the description adds meaning for the single 'date' parameter: specifies format (YYYY-MM-DD) and default (today). This goes beyond the schema's type-only definition, providing necessary semantic detail.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool gets 'comprehensive macro and micronutrient breakdown with all tracked nutrients.' This distinguishes it from siblings like 'get_daily_summary' by specifying nutrient-level detail, but could more explicitly contrast with similar tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like get_daily_summary or get_daily_meals. The agent is left to infer from the description, with no explicit 'when to use' or 'when not to use' instructions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_daily_mealsA
Get detailed meal-by-meal breakdown with all foods, servings, and calories.
Args: date: Date in YYYY-MM-DD format (defaults to today)
| Name | Required | Description | Default |
|---|---|---|---|
| date | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears full responsibility. It only states what the tool returns, without disclosing behavioral traits like idempotency, rate limits, authentication needs, or side effects. This is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: one sentence for purpose and one for arguments. No wasted words, front-loaded with the main action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with one optional parameter and no output schema, the description adequately explains the return (meal-by-meal breakdown with foods, servings, calories) and the date parameter. It could benefit from more detail on output structure, but overall is complete for typical usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 0% description coverage for the date parameter. The description adds the required format 'YYYY-MM-DD' and clarifies that it defaults to today. This provides meaningful context beyond the raw schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get' and resource 'daily meals', specifying a meal-by-meal breakdown with foods, servings, and calories. It differentiates from siblings like get_daily_summary or get_daily_macros by emphasizing granularity, but does not explicitly contrast them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for retrieving detailed meal data, but provides no explicit guidance on when to use this tool vs. alternatives (e.g., get_daily_summary). No exclusions or context for when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_daily_summaryA
Get daily nutrition overview: calories consumed/remaining, macro breakdown, water, and goals.
Args: date: Date in YYYY-MM-DD format (defaults to today)
| Name | Required | Description | Default |
|---|---|---|---|
| date | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It mentions the default date behavior but does not disclose any other behavioral traits like idempotency, authentication requirements, or side effects. It is a read operation, but without annotations, the description offers minimal transparency beyond the obvious.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences plus a parameter block, with no redundant information. It front-loads the purpose and immediately follows with parameter details. Every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with one optional parameter and no output schema, the description covers the key return elements (calories, macros, water, goals) and parameter format. It lacks examples or structure of the output, but is sufficient for basic usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It provides format ('YYYY-MM-DD'), default behavior ('defaults to today'), and type (date). This adds meaningful value beyond the schema's type definitions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool provides a daily nutrition overview including calories, macros, water, and goals. It uses specific verbs ('Get') and resource ('daily nutrition overview'), and distinguishes from siblings like get_daily_macros and get_water_intake by implying a combined view.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description lists what the tool returns but provides no guidance on when to use it over siblings (e.g., get_daily_macros for detailed macros, get_date_range_summary for multiple days). No when-not-to-use or alternative suggestions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_date_range_summaryA
Get aggregate nutrition data over a date range with trends and insights.
Args: start_date: Start date in YYYY-MM-DD format end_date: End date in YYYY-MM-DD format
| Name | Required | Description | Default |
|---|---|---|---|
| start_date | Yes | ||
| end_date | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full burden. It states the tool aggregates data, implying a read-only operation, but does not explicitly disclose side effects, idempotency, or any constraints. Behavioral traits are insufficiently covered.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is brief and front-loaded with the core purpose, followed by parameter details. Every sentence adds value, though the args list could be integrated into a more structured format.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's purpose (aggregation and trends) and absence of an output schema, the description is vague. It does not specify what metrics, trends, or insights are returned, leaving the agent with an incomplete understanding of the tool's output.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema only provides types and requiredness. The description adds format constraints (YYYY-MM-DD) for both parameters, which is valuable and goes beyond the schema. This compensates for the 0% schema description coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool aggregates nutrition data over a date range, including trends and insights. This specific verb-resource combination distinguishes it from daily siblings like get_daily_summary or get_daily_macros.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use for date-range queries versus daily tools, but it does not explicitly state when to use or avoid this tool, nor does it mention alternatives. Guidance is only implicit via context with siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_water_intakeA
Get water consumption for a specific day.
Args: date: Date in YYYY-MM-DD format (defaults to today)
| Name | Required | Description | Default |
|---|---|---|---|
| date | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It only states it 'gets' data with a date parameter, lacking details on side effects, authentication, rate limits, or return format. Minimal transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Very concise, two sentences. The first sentence immediately states the tool's purpose, and the second explains the parameter. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple with one optional parameter, and the description covers purpose and parameter details. However, without an output schema, more information about the return value (e.g., units, structure) would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 0% coverage, but the description adds meaning by specifying the date format (YYYY-MM-DD) and default behavior (defaults to today). This compensates well for the lack of parameter description in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool gets water consumption for a specific day, which distinguishes it from sibling tools that deal with exercise, macros, meals, and summaries.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool vs alternatives. The description implies usage for retrieving daily water intake, but does not mention conditions or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
6 tool updates
- First observed
get_daily_exercise - First observed
get_daily_macros - First observed
get_daily_meals - First observed
get_daily_summary - First observed
get_date_range_summary - First observed
get_water_intake
TDQS
Scored across 6 tools
The tools have clear distinctions in their data focus (exercise, macros, meals, summary, date range, water), but there is significant functional overlap between get_daily_summary and the more specific tools like get_daily_macros or get_daily_meals, which could lead to confusion about which to use for certain queries. The descriptions help clarify, but the boundaries are not perfectly distinct.
All tool names follow a consistent verb_noun pattern with 'get_' as the prefix, followed by descriptive nouns (e.g., get_daily_exercise, get_daily_macros). This uniformity makes the tool set predictable and easy to understand at a glance.
With 6 tools, the count is reasonable for a fitness tracking domain, covering key aspects like daily data, summaries, and date ranges. It's slightly lean but well-scoped, though it might benefit from additional tools for actions like logging or updating data.
The tool set is severely incomplete as it only provides read-only operations (all 'get_' tools) with no ability to create, update, or delete data. For a fitness app like MyFitnessPal, this misses essential CRUD functionality such as logging meals, exercises, or water intake, which are core to the domain.
Maintenance
Related MCP Connectors
Log meals, check calories and macros, set up a nutrition plan, and search foods.
Food logging, nutrition summaries, and meal photo calorie and macro estimates.
Log what you ate by talking to your AI assistant — calories and macros, completely free.
Food and nutrition data: search, macros, and comparisons
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to read and write MyFitnessPal data, including food diary, exercises, body measurements, nutrition goals, and water intake.MIT
- AlicenseAqualityDmaintenanceEnables AI assistants to read and log MyFitnessPal nutrition data, including tracking calories, macros, searching foods, and adding meals through natural conversation.711 npmMIT
- AlicenseAqualityCmaintenanceEnables AI assistants to interact with MyFitnessPal data including food diary, exercises, body measurements, nutrition goals, and water intake through natural language.2057MIT
- AlicenseAqualityBmaintenanceEnables Claude to manage MyFitnessPal food diaries, nutrition goals, exercises, body measurements, and water intake via a remote MCP server using session cookie authentication.182MIT