Skip to main content
Glama
bjornj12

golf-coach

Server Quality Checklist

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

  • Disambiguation5/5

    Each tool targets a distinct domain: authentication, Trackman data queries, session analysis, training plan management, visualization rendering, setup/onboarding, cross-source synthesis, and GameBook round management. No two tools have overlapping purposes; the only minor overlap is between `source`'s `rounds` and `gamebook`'s stored rounds, but they are clearly separated by data source.

    Naming Consistency3/5

    The tool names use inconsistent styles: some are noun-like (`auth`, `source`, `setup`, `gamebook`), some are verb-like (`synthesize`, `build_visualization`), and some are underscore-separated nouns (`session_analysis`, `training_plan`). There is no consistent verb_noun pattern across the set, though each name is self-explanatory and readable.

    Tool Count5/5

    With 8 tools, the server is well-scoped for a golf coaching workflow. Each tool covers a distinct functional area, and the number falls within the ideal 3-15 range, so the tool count is appropriate.

    Completeness5/5

    The tool surface covers the full coaching lifecycle: data ingestion (Trackman, GameBook), raw data queries, session analysis, training plan creation and verification, cross-source synthesis, visualization output, and setup/onboarding. There are no obvious dead ends; the only minor gap might be lack of explicit delete/update operations, but the retention caps and completed statuses handle that in practice.

  • Average 4.7/5 across 8 of 8 tools scored. Lowest: 4.1/5.

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

    • No community issues in the last 6 months
    • 104 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.

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

  • 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

  • Behavior4/5

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

    The description discloses key behaviors beyond annotations: it stores records locally, keeps only the last 30, and mentions deterministic classification. This adds context to the non-read-only annotation by explaining side effects, though it could be richer (e.g., permissions, error behavior).

    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?

    The description is well-structured with a concise bullet list of actions. The final instruction about the prompt adds some ambiguity but the overall length and organization are effective and mostly earn their place.

    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?

    Given the presence of an output schema and clear action structures, the description provides sufficient context for a two-parameter tool. It covers storage behavior, action variants, and parameter requirements, though it could mention how to obtain activity_id or handle errors.

    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?

    With 0% schema description coverage, the description compensates by explaining the 'action' enum values and specifying that analyze and get require 'activity_id'. It could further define what activity_id represents, but the usage context is reasonably clear.

    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 clearly states it performs per-session analysis with specific actions (analyze, get, list). It explicitly describes the classification task and storage of results, which distinguishes it from sibling tools like gamebook or training_plan.

    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?

    The description implies usage for session analysis but does not explicitly state when to use this tool versus alternatives. It mentions driving with a specific prompt, but provides no exclusions or comparisons with sibling tools.

    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?

    Beyond the annotations (readOnlyHint, idempotentHint), the description discloses that the tool only returns content and cannot perform external actions like creating Projects. This explains the tool's non-mutating behavior and its limitation, which is valuable context not fully captured by annotations alone.

    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?

    The description is well-structured with a concise opening sentence, a bulleted list of return items, and a short paragraph on limitations. Each sentence serves a purpose—no fluff or redundancy—and the most important information is front-loaded.

    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?

    Given zero parameters, a detailed output schema, and annotations covering safety, the description fully explains what the tool does, what it returns, and its limitations. It leaves no ambiguity about the tool's role in the overall setup workflow, making it contextually complete.

    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?

    The tool has zero parameters, so schema coverage is trivially 100%. Per the rubric, a baseline of 4 applies for 0-param tools. The description does not need to explain paramet semantics, but it does clarify the returned object structure, which adds useful context.

    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 'One-call onboarding for the Trackman golf coach,' which clearly states a specific verb (onboarding) and resource (coach setup). It enumerates concrete outputs (system_prompt, skills, instructions) and thus distinguishes itself from sibling tools like auth or session_analysis by its setup-focused role.

    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?

    It explains that the tool returns setup content and explicitly states an MCP server cannot create Projects or enable Skills itself, which clarifies when to use this tool (to get setup material) versus doing manual setup separately. It also notes the alternative of using Claude Code to directly write files, providing contextual usage guidance without explicit exclusions.

    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?

    Beyond annotations (readOnlyHint, idempotentHint), the description discloses key behaviors: the output is self-contained with no network/external resources, the visualization adapts because all data is optional, and it renders specific components (measured flight, drills grouped by range/home). This gives the agent a solid mental model.

    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?

    The description is front-loaded with the core purpose and returns format, then dives into data shape. While lengthy, the detail is necessary for a single complex parameter. The reference to a 'trackman-visualizer prompt' is slightly cryptic but does not undermine clarity.

    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?

    Given one parameter with poor schema coverage, the description fully defines the input structure and output format. Annotations already cover safety, so no extra behavioral safety info is needed. The tool is complex, and the description leaves no critical gaps.

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

    Parameters5/5

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

    The input schema only describes 'data' as an object with additionalProperties true, giving zero field-level detail. The description compensates fully by enumerating the complete data shape, including nested shots, swing, targets, and blocks arrays with their fields. This is essential for the agent to construct valid input.

    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: 'Render a coaching diagnosis into a self-contained animated HTML page.' This clearly distinguishes it from sibling tools like trackman or session_analysis by focusing on visualization output. The return type and artifact context further clarify its unique role.

    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?

    It provides clear context: use this when you have a coaching diagnosis and need a standalone HTML page ready for an artifact. However, it does not explicitly name alternatives or state when not to use it, so it falls short of a 5.

    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?

    Annotations already declare the tool read-only and idempotent, but the description adds valuable behavioral context: it runs expert analyzers, returns specific factual sections, and raises loudly on token expiration rather than returning empty results, with a clear recovery step. This goes beyond the annotations and improves transparency.

    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?

    The description is well-structured with a clear front-loaded purpose, followed by output details and error handling. Every sentence conveys necessary information without repetition or fluff.

    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?

    The description covers the tool's purpose, its key output sections, and the only notable error condition (token expiry). Since an output schema exists, it need not enumerate all return fields, and the summary is sufficient for an agent to select and invoke the tool correctly.

    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?

    The tool accepts zero parameters, so the baseline is 4. The description does not need to explain parameter options, and it appropriately focuses on behavior and output given the empty input schema.

    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 clearly states the tool's function as a cross-source, context-aware view that runs expert analyzers and aligns findings by skill area. It explicitly notes it does not produce verdicts, distinguishing it from other analysis tools and giving it a specific role.

    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?

    The description implies when to use this tool (for cross-source synthesis and contextual analysis) but does not explicitly name alternative tools or state 'when not to use'. It does provide a clear recovery instruction for token expiry, which adds usage context.

    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 discloses the self-check mechanism ('refuses inconsistent reads'), the coverage flags on unverified dimensions, and the last-5 retention policy. This goes well beyond the minimal annotations and manages expectations about data trustworthiness.

    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?

    The description is compact yet information-dense, using a bulleted action list to organize functional details. The opening sentence and parentheses efficiently convey scope and storage limits.

    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?

    All four actions have stated behavior and return values, and the nested round structure is fully documented. The existence of an output schema also covers response details, making this complete for a tool with this complexity.

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

    Parameters5/5

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

    Even though the schema's parameters have no descriptions, the tool description explains each action's required parameters ('save' needs `round`, 'get' needs `round_id`) and provides an inline schema for the round object. This fully compensates for the 0% schema coverage.

    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 resource ('On-course rounds ingested from Golf GameBook screenshots') and enumerates four concrete actions (save, list, get, compare). It clearly distinguishes from sibling tools by scoping to GameBook screenshot data rather than Trackman or session analysis.

    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?

    The description implies when to use the tool by noting that the `gamebook-screenshot-analysis` skill extracts and saves rounds here. However, it does not explicitly mention alternatives or exclusions, so users must infer that Trackman/session data goes elsewhere.

    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?

    Annotations already declare readOnlyHint and idempotentHint, and the description aligns by stating 'reads' and 'Raw only.' It adds behavioral detail beyond annotations: per-action `take` defaults, `completed=None` returns all rounds regardless of completion state, and session returns different payloads for RANGE_PRACTICE vs COURSE_PLAY. This contextual information is valuable for invoking the tool correctly.

    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?

    The description is long but well-structured, with a front-loaded purpose and a bulleted list of actions. Every sentence conveys either an action's purpose, its parameters, or behavioral nuances, so nothing feels redundant. Given the tool's complexity (7 sub-actions, 11 params), the length is appropriate.

    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?

    The description covers all 7 actions, all relevant parameters, default pagination behavior, and the distinction between activity types. It even notes the shape of responses (totalCount + page of summaries for sessions, scorecards for rounds). Since an output schema exists, detailed return-theme documentation is unnecessary, making the description complete for a tool of this complexity.

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

    Parameters5/5

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

    Schema coverage is 0%, so the description bears the full burden for parameter semantics. It explains each action's relevant parameters, e.g., `handicap` takes `skip`/`take` default 20 and `only_in_avg`; `sessions` takes `kinds`, `time_from`/`time_to`, `include_hidden`; `rounds` takes `completed`; and `clubs` takes `include_retired`. It also clarifies the default `take` values per action, which are not obvious from the schema.

    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 clearly defines the tool as 'Trackman data reads' and lists seven specific actions (profile, handicap, sessions, session, rounds, clubs, summary), each with a resource and purpose. It distinguishes itself with 'Raw only,' making clear it provides unprocessed launch-monitor data. Although it doesn't reference sibling tools explicitly, the specificity of actions and raw-only scope makes 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/5

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

    The description provides clear context for each sub-action, e.g., 'Use session with an item's id for full detail' and explains when to use sessions vs session vs rounds. However, it never explicitly contrasts the tool with sibling tools or says when not to use it. The 'Raw only' phrase is a subtle exclusion but no named alternatives are given.

    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?

    Beyond the annotations (readOnlyHint=false, openWorldHint=true, idempotentHint=false), the description discloses specific behavioral details: the queue is capped at 50 plans, save returns the stored plan with id, verify returns per-target means and all_met, and done optionally links a result_session_id. It also clarifies that verify grades 'a recent session's real shot metrics,' which is not in the schema. No contradictions with annotations.

    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?

    The description is appropriately sized for a five-action tool, with a clear one-line summary followed by a bulleted list. Each action gets a compact, information-dense line. There is no filler or repetition; every sentence adds value.

    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?

    Covers all 6 parameters, all 5 actions, return types, state changes, and constraints (cap of 50). It explains the purpose of each action in context and references output behaviors. The existing output schema can further detail return structures, but the description alone is sufficient for an agent to select and invoke the tool correctly for most scenarios.

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

    Parameters5/5

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

    Schema coverage is 0%, so the description carries full weight—and it succeeds. It defines the 'plan' parameter as a structured dict with fields (title, focus, diagnosis, blocks, target_specs), gives an example target_specs shape, explains 'needs plan_id' for done and verify, specifies status enum values, and clarifies the meaning of activity_id and result_session_id. This adds profound meaning beyond the bare schema.

    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 'The coach's memory: save prescribed practice plans and recall/grade them,' which clearly states the tool's purpose and scope. It then enumerates five specific actions (save, next, list, done, verify) with distinct verbs and resources, distinguishing itself from sibling tools like session_analysis and trackman.

    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?

    Each action includes contextual usage: save persists to a pending queue, next answers 'what's today's training?', list shows plans oldest→newest, done marks complete, verify grades against target_specs. However, the description does not explicitly mention when to avoid this tool or use an alternative, so it misses full alternative/exclusion guidance.

    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 discloses detailed behavioral traits beyond the annotations: it opens a browser window, returns immediately with `pending: true`, runs a background task that won't close on its own, and never echoes the token. This adds significant context about side effects and workflow that the annotations (readOnlyHint, openWorldHint, idempotentHint) only hint at abstractly.

    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?

    The description is well-structured with a clear lead sentence followed by bulleted action explanations and parameter notes. Every sentence contributes necessary operational detail, and the formatting (bold, code, parentheses) aids readability without being wasteful.

    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?

    Given the tool's complexity (multi-action, side effects, pending state) and the presence of an output schema, the description is remarkably complete. It explains the full lifecycle, error scenarios (expired session), and user-interaction flow, making it fully sufficient for an agent to use correctly without additional context.

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

    Parameters5/5

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

    Despite 0% schema coverage, the description fully explains each parameter: `action` (status vs login, with default), `source` (only trackman needs auth), and `open_browser` (controls whether a sign-in window opens). This provides semantic meaning beyond the raw schema, covering all three parameters effectively.

    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 clearly states the tool's purpose: 'Check or (re)establish your Trackman sign-in.' It goes beyond a simple verb by detailing the two actions (`status` and `login`) and their distinct functions, making it unambiguous and distinguishing it from sibling tools which are all data/analysis oriented.

    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?

    The description provides explicit guidance: 'Use this first' for `status`, instructs to call `status` after login to confirm, and warns against re-calling `login` while pending. It also notes that only `trackman` needs auth, implying when the tool is not needed. This is comprehensive and highly actionable.

    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

golf-coach MCP server

Copy to your README.md:

Score Badge

golf-coach 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/bjornj12/golf-coach'

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