Skip to main content
Glama

Server Quality Checklist

67%
Profile completionA complete profile improves this server's visibility in search results.
  • Latest release: v0.1.0

  • Disambiguation5/5

    Each tool has a clearly distinct purpose with no overlap: analyze_workout evaluates workouts, find_exercises locates exercises by muscle, get_alternatives suggests substitutes, get_muscles_worked details muscle involvement, search_exercises finds exercises by name, and search_muscles finds muscles by name. The descriptions explicitly differentiate their functions, preventing agent confusion.

    Naming Consistency5/5

    All tools follow a consistent verb_noun pattern with snake_case throughout (e.g., analyze_workout, find_exercises, get_muscles_worked). The naming is predictable and readable, using clear verbs like 'analyze', 'find', 'get', and 'search' that accurately reflect each tool's action.

    Tool Count5/5

    With 6 tools, this server is well-scoped for its fitness/bodybuilding domain. Each tool earns its place by covering key workflows: discovering muscles and exercises, analyzing muscle involvement, finding alternatives, and evaluating workouts. The count is neither too sparse nor bloated, fitting typical agent needs efficiently.

    Completeness4/5

    The tool set provides strong coverage for core muscle and exercise analysis tasks, including search, retrieval, and workout evaluation. A minor gap exists in update or management operations (e.g., no tools for creating or modifying exercise/muscle data), but this is reasonable for a lookup-oriented server, and agents can work around it with the provided tools.

  • Average 4/5 across 6 of 6 tools scored. Lowest: 3.3/5.

    See the Tool Scores section below for per-tool breakdowns.

    • 0 of 1 community issues answered or closed in the last 6 months
    • 0 commits in the last 12 weeks
    • No stable releases found
    • No critical vulnerability alerts
    • No high-severity vulnerability alerts
    • No code scanning findings
    • CI status not available
  • 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.

  • Add a glama.json file to provide metadata about your server.

  • If you are the author, simply .

    If the server belongs to an organization, first add glama.json to the root of your repository:

    {
      "$schema": "https://glama.ai/mcp/schemas/server.json",
      "maintainers": [
        "your-github-username"
      ]
    }

    Then . Browse examples.

  • 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

  • Behavior3/5

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

    Without annotations, the description carries the full burden of behavioral disclosure. It successfully identifies the analytical dimensions (coverage, gaps, imbalances) but omits critical operational details such as whether results are cached, any rate limits, or whether the analysis is deterministic.

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

    Conciseness5/5

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

    Two sentences efficiently deliver the tool's purpose and input requirements with zero redundancy or filler content. The structure front-loads the value proposition (analysis for gaps/imbalances) before mentioning mechanics.

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

    Completeness3/5

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

    For a single-parameter analytical tool, the description adequately covers the input intent but fails to compensate for the missing output schema. It does not describe the return format (structured data vs narrative) or analysis depth, leaving agents uncertain about result handling.

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

    Parameters3/5

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

    With 100% schema description coverage ('List of exercise IDs or names'), the parameter is already well-documented. The description's 'Pass a list of exercise names or IDs' adds no new semantic information beyond the schema, meeting the baseline expectation.

    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 clearly specifies the analytical operation ('Analyze') and the exact dimensions evaluated (muscle coverage, gaps, imbalances), which distinguishes this from simple retrieval siblings like get_muscles_worked. However, it does not explicitly state that this tool analyzes a *collection* of exercises as a workout plan, leaving subtle ambiguity.

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

    Usage Guidelines2/5

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

    While the second sentence ('Pass a list of exercise names or IDs') provides basic invocation syntax, there is no guidance on when to select this tool versus siblings like get_muscles_worked or find_exercises, nor any mention of prerequisites or constraints.

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

  • Behavior2/5

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

    No annotations provided, so description carries full burden. Only states basic operation ('Find exercises') without disclosing return format, pagination behavior beyond the limit parameter, read-only nature, or error handling. Does not mention what data structure is returned.

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

    Conciseness5/5

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

    Two sentences with zero waste. First sentence establishes purpose and capability; second provides prerequisite workflow. Well-structured and appropriately sized for the tool's complexity.

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

    Completeness3/5

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

    Adequate for a 7-parameter lookup tool with no output schema or annotations. Covers primary use case and prerequisite workflow. Lacks output format disclosure and error scenario documentation, which is notable given the rich enum parameter set (5 enums) and absence of structured behavioral metadata.

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

    Parameters3/5

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

    Schema has 100% description coverage, establishing baseline 3. Description mentions 'optional filters' generally but adds no semantic depth beyond the schema's existing enum descriptions and type definitions. Second sentence clarifies muscle accepts ID or name, which aligns with parameter description but adds workflow context.

    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?

    Clear verb ('Find') and resource ('exercises') with specific scope ('target a specific muscle'). Mentions prerequisite workflow with search_muscles, implicitly distinguishing from that sibling. However, does not explicitly differentiate from 'search_exercises' sibling, leaving potential ambiguity about when to use which search tool.

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

    Usage Guidelines4/5

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

    Explicitly states prerequisite: 'Use search_muscles first if you don't know the muscle ID.' This provides clear workflow guidance. Missing explicit 'when not to use' guidance regarding 'search_exercises' alternative.

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

  • Behavior3/5

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

    No annotations provided, so description carries full burden. It discloses return content ('matching exercise IDs and names') which compensates for the missing output schema. However, lacks other behavioral traits: no mention of result limits, pagination, case sensitivity, or exact vs fuzzy matching behavior.

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

    Conciseness5/5

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

    Three sentences with zero waste: 1) purpose, 2) return value, 3) workflow guidance. Each earns its place; no redundancy with structured fields. Appropriately front-loaded.

    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-parameter search tool with simple string input, the description adequately covers the discovery workflow and return format. Could be improved by noting result limits or error behaviors, but sufficient given the low complexity and high schema coverage.

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

    Parameters3/5

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

    Schema coverage is 100% (query parameter has description with examples). The description does not add parameter-specific semantics (e.g., syntax rules, formatting), but the schema is self-documenting, warranting the baseline score of 3.

    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?

    Clear verb ('Search'), resource ('exercises'), and scope ('by name'). Mentions return values (IDs and names) to clarify output. However, does not distinguish from sibling 'find_exercises', which appears to serve a similar discovery function.

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

    Usage Guidelines5/5

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

    Explicitly states the workflow position: 'Use this to discover exercise IDs before calling get_muscles_worked or get_alternatives.' This establishes prerequisites and relationships with specific sibling tools, providing clear when-to-use guidance.

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

  • Behavior3/5

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

    Discloses the ranking behavior (muscle overlap score) which is crucial context, but lacks safety/operational disclosure required due to missing annotations. No mention of error handling for invalid exercise IDs or whether results are cached.

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

    Conciseness5/5

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

    Two sentences, zero waste. First sentence establishes purpose and ranking method; second provides the critical usage prerequisite. Purpose is front-loaded.

    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?

    Adequate for a 2-parameter retrieval tool without output schema. Describes what is returned (ranked alternatives) and the ranking logic. Minor gap: no description of the alternative object structure or error conditions.

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

    Parameters3/5

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

    Schema coverage is 100% with clear descriptions ('Exercise ID or name', 'Max results'). Description reinforces the exercise parameter usage through the ID reference in usage guidelines, but adds no syntax/format details beyond the schema. Baseline 3 appropriate for high-coverage schemas.

    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?

    Excellent specificity: verb (Find) + resource (alternative exercises) + unique ranking mechanism (muscle overlap score). Clearly distinguishes from generic search siblings by specifying the muscle overlap algorithm.

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

    Usage Guidelines5/5

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

    Explicit prerequisite with sibling named: 'Use search_exercises first if you don't know the exercise ID.' Perfectly clarifies the workflow dependency between this tool and search_exercises.

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

  • Behavior3/5

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

    With no annotations provided, the description carries full burden. It discloses output structure (three muscle categories) but does not explicitly confirm read-only safety, error handling when exercises are not found, or rate limiting. The verb 'Get' implies retrieval, but explicit behavioral guarantees are absent.

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

    Conciseness5/5

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

    Two sentences with zero waste: first sentence front-loads core purpose (muscle retrieval with categorization), second sentence gives prerequisite workflow. Every word earns its place; no redundancy with schema or title.

    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?

    Appropriately complete for a single-parameter lookup tool with 100% schema coverage. The description compensates for missing output_schema by detailing the return structure (primary/secondary/stabilizer muscles) and provides clear sibling references. Minor gap: lacks error handling description for invalid exercise IDs.

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

    Parameters3/5

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

    Schema description coverage is 100% with clear description ('Exercise ID or name') and example ('barbell_bench_press'). Description references 'exercise' and 'exercise ID' but does not add semantic information beyond the schema's documentation, warranting the baseline score for high-coverage schemas.

    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?

    States specific verb ('Get') plus granular resource scope ('primary, secondary, and stabilizer muscles worked by an exercise'). Distinguishes clearly from siblings like 'search_exercises' (which finds exercises) by focusing on retrieving detailed muscle categorization for a specific known exercise.

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

    Usage Guidelines5/5

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

    Provides explicit prerequisite workflow: 'Use search_exercises first if you don't know the exercise ID.' This directly names the sibling alternative and defines the exact condition for using that tool instead, guiding correct invocation sequence.

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

  • Behavior4/5

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

    With no annotations provided, the description carries the full burden. It successfully discloses the return format ('matching muscle IDs and names'), which is critical since no output schema exists. Does not mention error behaviors or pagination, but covers the essential output contract.

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

    Conciseness5/5

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

    Three sentences with zero waste: action statement, return value disclosure, and usage guideline. Information is front-loaded and logically ordered.

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

    Completeness5/5

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

    For a simple search tool with one parameter and no output schema, the description is complete. It explains the return values and provides clear prerequisite guidance relative to siblings, which satisfies completeness requirements.

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

    Parameters3/5

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

    Schema coverage is 100% with the 'query' parameter fully documented (including examples like 'chest', 'bicep'). The description does not add additional parameter semantics, but with complete schema coverage, baseline 3 is appropriate.

    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?

    States specific verb ('Search'), resource ('muscles'), and scope ('by name'). The final sentence distinguishes this from sibling find_exercises by clarifying it returns IDs needed for that tool.

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

    Usage Guidelines5/5

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

    Explicitly states when to use this tool: 'Use this to discover muscle IDs before calling find_exercises.' This directly addresses the workflow relationship with a sibling tool.

    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

musclesworked-mcp MCP server

Copy to your README.md:

Score Badge

musclesworked-mcp MCP server

Copy to your README.md:

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/csjoblom/musclesworked-mcp'

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