Fitness AI MCP
Server Quality Checklist
Latest release: v1.0.0
- Disambiguation5/5
Each tool has a clearly distinct purpose: long-term planning, body composition analysis, form guidance, single workout generation, and calorie tracking. No overlap in functionality.
Naming Consistency5/5All tool names follow a consistent verb_noun pattern (e.g., build_training_plan, calculate_body_composition, check_exercise_form, generate_workout, track_calories).
Tool Count5/55 tools is well-scoped for a fitness AI, covering planning, analysis, form, generation, and nutrition without excess or deficiency.
Completeness3/5Core fitness operations are covered, but notable gaps exist: no progress tracking, exercise history, or meal planning tools. The surface is functional but not fully comprehensive.
Average 4.4/5 across 5 of 5 tools scored.
See the Tool Scores section below for per-tool breakdowns.
- No community issues in the last 6 months
- 28 commits in the last 12 weeks
- Last stable release on
- No critical vulnerability alerts
- No high-severity vulnerability alerts
- No code scanning findings
- CI is passing
This repository is licensed under MIT License.
This repository includes a README.md file.
No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.
Tip: use the "Try in Browser" feature on the server page to seed initial usage.
This repository includes a glama.json configuration file.
This server has been verified by its author.
Add related servers to improve discoverability.
How to sync the server with GitHub?
Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.
To manually sync the server, click the "Sync Server" button in the MCP server admin interface.
How is the quality score calculated?
The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).
Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.
Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).
Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.
Tool Scores
- Behavior5/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description carries full burden. It gives a comprehensive 'Behavioral Transparency' section covering side effects (read-only, no side effects), authentication, rate limits, error handling, idempotency, and data privacy. This fully informs the agent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness3/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with labeled sections, but there is redundancy: the 'Behavior' section and 'Behavioral Transparency' section repeat similar information (e.g., no side effects). Could be more concise without losing essential detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema is provided, but the description fails to describe the output format or structure, only saying 'structured output.' With 6 parameters and 0% schema coverage, the description covers most but not all (api_key missing). It provides good behavioral context but lacks output details.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does 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 lists allowed values for goal and experience_level, ranges for days_per_week and plan_weeks, and type for equipment_available. However, the api_key parameter is not mentioned at all, leaving a gap. Adds some meaning but not complete.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description starts with a clear verb and resource: 'Build a multi-week training program with periodization.' It distinguishes from siblings like generate_workout (single workout) and calculate_body_composition (different domain), making the tool's purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description includes explicit 'When to use' and 'When NOT to use' sections, providing context for appropriate use. However, it does not explicitly compare to sibling tools or specify when to prefer this over generate_workout.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior5/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It covers side effects (read-only, stateless), authentication (none for basic, API key for pro), rate limits (10/day free, unlimited pro), error handling (structured errors), idempotency, and data privacy (no storage/logging). This is exceptionally thorough.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is long but well-structured with clear sections (Args, Behavior, When to use, Behavioral Transparency). It front-loads the core purpose. While every sentence adds value, some repetition exists (e.g., read-only stated twice), but overall it's efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has 9 parameters, 3 required, and no output schema. The description covers inputs and behavior thoroughly but does not describe the output format or list of calculations returned (e.g., BMI value, body fat percentage). Given the complexity, this is a notable gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must add meaning. It lists all 9 parameters with brief explanations and default values. For example, sex is described as 'male, female' and activity_level as 'sedentary, light, moderate, active, very_active', which is helpful but lacks further detail on units or constraints.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states the tool calculates BMI, body fat estimate, BMR, and TDEE, with a clear list of inputs. It distinguishes from sibling tools that focus on training plans, form checking, workouts, and calorie tracking, making the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description includes 'When to use' and 'When NOT to use' sections, giving context for appropriate usage (e.g., structured analysis, not for real-time production without review). However, it doesn't explicitly contrast with siblings, though the purpose is distinct enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior5/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description comprehensively covers behavioral traits including side effects, authentication, rate limits, error handling, idempotency, and data privacy. Since no annotations are provided, this fully compensates with detailed, accurate information.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with sections (Args, Behavior, When to use, Behavioral Transparency) and front-loaded with the core purpose. However, it contains some redundancy (e.g., side effects mentioned twice) and could be more concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
While the description covers behavior, parameters, and usage guidelines thoroughly, it does not describe the output structure or format, which is a significant gap given the absence of an output schema. The 'When to use' section is also somewhat generic.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description lists 6 of 7 parameters with allowed values (e.g., goal, experience_level, muscle_groups), adding meaning beyond the schema which has 0% description coverage. However, the 'api_key' parameter is omitted, and the value sets are examples rather than exhaustive enums, slightly reducing clarity.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool generates a complete workout plan tailored to goals and equipment, with a specific verb and resource. It distinguishes from sibling tools like build_training_plan, calculate_body_composition, etc., by focusing on personalized plan generation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description includes explicit 'When to use' and 'When NOT to use' sections, providing context for appropriate usage and cautioning against real-time production use without human review. However, the when-to-use statement is somewhat generic and does not directly contrast with each sibling tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior5/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description has a comprehensive 'Behavioral Transparency' section detailing side effects (read-only, no side effects), authentication (no auth for basic, API key for pro), rate limits (10/day free, unlimited pro), error handling, idempotency, and data privacy. Since no annotations were provided, the description fully covers behavioral disclosure, exceeding expectations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is long but well-structured with clear sections (Args, Behavior, When to use, etc.) and front-loaded with the main purpose. There is some redundancy between the 'Behavior' and 'Behavioral Transparency' sections (both mention read-only and idempotency). Overall, sentences earn their place, but minor repetition prevents a perfect score.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (4 parameters, no output schema, no annotations), the description covers inputs, behavior, and constraints well. However, it lacks description of the output format (only says 'analysis output'), and the 'api_key' parameter is not explained as an input. These gaps leave the agent uncertain about what the tool returns and how the api_key parameter is used.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 4 parameters with 0% description coverage, so the description carries the full burden. It thoroughly explains the 'foods' parameter (list of dicts with keys: name, calories, and optional protein_g, carbs_g, fat_g, quantity) and the target parameters. However, the 'api_key' parameter in the schema is not explained in the description (though environment variable is mentioned). This is a minor gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool tracks daily calorie and macronutrient intake from food entries, using a specific verb ('Track') and resource ('calorie and macronutrient intake'). It distinguishes itself from sibling tools (build_training_plan, etc.) which focus on exercise and body composition, not nutrition tracking.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description includes dedicated 'When to use' and 'When NOT to use' sections. However, the 'When to use' is generic ('structured analysis or classification') and not specific to calorie tracking. The 'When NOT to use' appropriately warns against real-time production decisions without human review. No explicit comparison to sibling tools, but the domain is clearly different.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior5/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It comprehensively covers side effects (read-only, stateless, no modifications), authentication (none for basic usage, API key for pro), rate limits (10/day free tier), error handling (structured errors, no unhandled exceptions), idempotency, and data privacy. All these details are beyond the minimum.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured into sections (first sentence, Args, Behavior, When to use, When NOT to use, Behavioral Transparency). It is somewhat verbose but each section provides valuable information without redundancy. It could be slightly more concise, but it earns its length.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity, no output schema, and 3 parameters, the description is quite complete. It covers purpose, usage, behavior, parameters, error handling, and more. However, it does not describe the output format or structure, which would be beneficial since no output schema exists.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%. The description lists exercise_name and common_mistakes in the Args section, adding meaning: common_mistakes is a boolean to include corrections. However, the api_key parameter is not mentioned in Args, though it is implied in the Behavioral Transparency section regarding authentication. There is a gap for this parameter, so the description partially but not fully compensates for schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Get exercise form cues, common mistakes, and muscle activation info.' This is a specific verb+resource combination that distinguishes it from sibling tools like build_training_plan or generate_workout, which focus on different aspects of fitness.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines5/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description includes explicit 'When to use' and 'When NOT to use' sections. It specifies that the tool is for structured analysis/classification and advises against real-time production decision-making without human review. This provides clear guidance on appropriate contexts.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
GitHub Badge
Glama performs regular codebase and documentation scans to:
- Confirm that the MCP server is working as expected.
- Confirm that there are no obvious security issues.
- Evaluate tool definition quality.
Our badge communicates server capabilities, safety, and installation instructions.
Card Badge
Copy to your README.md:
Score Badge
Copy to your README.md:
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/CSOAI-ORG/fitness-ai-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server