BagIQ MCP
Server Details
Analyse disc golf bag gaps and overlap, recommend discs, and open an interactive Bag Map.
- Status
- Healthy
- Uptime
- 100.0% over 21 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 6 tools
The tools are generally focused, but analyze_bag overlaps with find_bag_gaps and detect_overlap since it already reports both gaps and overlaps. The descriptions differentiate full analysis from targeted lookups, so a capable agent can choose correctly, but misselection is possible if the goal is just to find gaps or overlaps.
All six tools follow a consistent snake_case verb_noun pattern (analyze_bag, build_minimal_bag, detect_overlap). The names clearly communicate the action and subject with no stylistic mixing.
Six tools is well-scoped for a bag-analysis domain; each covers a distinct workflow step from retrieving a bag to analyzing, optimizing, and filling it. No tool feels redundant enough to cut.
The surface covers the core analysis lifecycle: retrieve a shared bag, identify gaps/overlaps, optimize to a minimal set, and get filler recommendations. It lacks broader capabilities like direct disc lookup or bag comparison, but these are not essential to the stated mission.
Available Tools
6 toolsanalyze_bagAInspect
Performs a complete BagIQ analysis on a player's disc golf bag. Can accept a list of discs OR a BagIQ share link (e.g. 'https://app.bagiq.app/?s=4fisr8a7'). Returns slot coverage percentage, bag identity label (e.g. 'Overstable-heavy', 'Chaos bag'), top missing shot gaps, redundant overlaps, and mapped flight coordinates.
| Name | Required | Description | Default |
|---|---|---|---|
| discs | No | List of discs currently in the bag (optional if share_url or share_id is provided) | |
| share_id | No | Optional BagIQ short share ID (e.g. '4fisr8a7') | |
| share_url | No | Optional BagIQ share link (e.g. 'https://app.bagiq.app/?s=4fisr8a7' or 'https://app.bagiq.app/?discs=...') | |
| preferred_brand | No | Optional preferred brand for recommendations (e.g. 'Innova', 'Discraft') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral burden and clearly frames the operation as non-mutating analysis while listing what it returns. It does not mention authentication, rate limits, or whether shared-bag data is fetched or stored, but 'analyze' plus return-value language makes the read-only intent reasonably clear.
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 dense, purposeful sentences with no filler. The core purpose and input modes are front-loaded, and the output list with examples earns its place.
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?
Despite no output schema, the description enumerates the main return categories (slot coverage, identity label, gaps, overlaps, flight coordinates) and both input modes. The only notable gap is not explaining how preferred_brand factors into the analysis, though the schema partially covers that parameter.
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 100%, so the baseline applies; the schema already documents discs, share_id, share_url, and preferred_brand. The description adds a useful high-level 'OR' between disc list and share link, but it omits preferred_brand and does not materially extend the schema's parameter explanations.
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?
States a specific verb and resource ('Performs a complete BagIQ analysis on a player's disc golf bag') and enumerates concrete outputs (slot coverage, bag identity label, gaps, overlaps, flight coordinates). The word 'complete' plus the output list clearly differentiates it from focused siblings like find_bag_gaps and detect_overlap.
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 this is the comprehensive analysis tool by using 'complete' and listing gap/overlap outputs, but it never explicitly says when to prefer analyze_bag over the focused siblings (find_bag_gaps, detect_overlap, recommend_bag_fillers). Input-mode guidance is present ('list of discs OR a BagIQ share link'), but alternative routing is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
build_minimal_bagAInspect
Extracts an optimal 3-to-5 disc minimalist setup from a larger bag, maximizing shot coverage while detailing necessary compromises. Accepts discs list or a BagIQ share link.
| Name | Required | Description | Default |
|---|---|---|---|
| discs | No | Full disc collection or bag (optional if share_url or share_id is provided) | |
| share_id | No | Optional BagIQ short share ID (e.g. '4fisr8a7') | |
| share_url | No | Optional BagIQ share link (e.g. 'https://app.bagiq.app/?s=4fisr8a7') | |
| target_count | No | Target number of discs in the minimal bag (2..6, default 3) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. It discloses that the tool produces an optimal setup with compromises, but does not explicitly state read-only behavior, network fetching for share links, or that target_count may range beyond the stated 3-5 (schema allows 2-6).
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, front-loaded with the core action; the second sentence covers input modes. 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?
For a tool with a complex nested discs schema and no output schema, the description defines the high-level goal but leaves the return shape and the target_count range unclear (3-5 vs 2-6). Input flexibility is mentioned, but output structure is not.
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 100% and every parameter has a description, so the baseline is 3. The description adds only a high-level note that inputs can be 'discs list or a BagIQ share link', which is useful but not substantial; the '3-to-5' wording conflicts with target_count's 2..6 range.
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 states a specific verb ('Extracts'), a resource ('minimalist setup from a larger bag'), and an objective ('maximizing shot coverage while detailing necessary compromises'). This clearly differentiates it from siblings like analyze_bag or find_bag_gaps by its output being a constructed minimal set.
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: when a user has a larger bag and wants a condensed setup. It does not explicitly name alternatives or exclusion criteria, even though sibling tools like analyze_bag and recommend_bag_fillers exist.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
detect_overlapAInspect
Detects redundant molds occupying the same flight slot or shot role, ranking pairs by overlap severity and recommending which disc to keep vs cut. Accepts discs list or a BagIQ share link.
| Name | Required | Description | Default |
|---|---|---|---|
| discs | No | List of discs in the bag (minimum 2 discs, optional if share_url or share_id is provided) | |
| share_id | No | Optional BagIQ short share ID (e.g. '4fisr8a7') | |
| share_url | No | Optional BagIQ share link (e.g. 'https://app.bagiq.app/?s=4fisr8a7') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the behavioral burden. It discloses that the tool detects overlaps, ranks pairs, and recommends keep/cut decisions, which implies a read-only analysis workflow. It does not mention side effects, but none are indicated by the described behavior.
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 compact sentences with no filler: the first states the core purpose and output, the second states accepted input forms. Every clause contributes useful information.
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 description is sufficient for an agent to understand what the tool does, what inputs are acceptable, and what kind of output to expect. With no output schema, it helpfully states the output as ranked overlapping pairs with keep/cut recommendations. It could be more explicit about exact return formatting, but that is a minor gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the description does not need to restate parameter details. The phrase 'Accepts discs list or a BagIQ share link' adds a small amount of orientation by clarifying the two input modes, but it mostly paraphrases what the schema already documents.
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 uses a specific verb ('Detects') with a clear resource ('redundant molds occupying the same flight slot or shot role') and states the tool's unique output ('ranking pairs by overlap severity and recommending which disc to keep vs cut'). This clearly differentiates it from siblings like find_bag_gaps or recommend_bag_fillers.
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 naturally signals when to use the tool: whenever redundancy or overlap between discs in a bag is the concern. It gives clear context for selection, though it does not explicitly name alternative tools or state 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.
find_bag_gapsAInspect
Identifies missing shot shapes and unserved flight slots across BagIQ's 9 core slot targets (putter, midrange, fairway, and distance drivers), ranking voids by severity. Accepts discs list or a BagIQ share link.
| Name | Required | Description | Default |
|---|---|---|---|
| discs | No | List of discs in the bag (optional if share_url or share_id is provided) | |
| share_id | No | Optional BagIQ short share ID (e.g. '4fisr8a7') | |
| share_url | No | Optional BagIQ share link (e.g. 'https://app.bagiq.app/?s=4fisr8a7') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It does disclose the key behavior—identifying and ranking voids by severity—and implies read-only analysis. However, it does not describe side effects, external fetching from a share link, failure behavior, or how results are returned.
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 a single, front-loaded sentence that states purpose, scope, and accepted inputs without filler. Every part earns its place.
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 description is adequate for a straightforward analysis tool: it names the target slots and says voids are ranked. However, with no output schema, it does not explain the result structure, severity values, or how missing discs are represented, so an agent still has some uncertainty about the return.
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 100%, so the schema already documents all parameters. The description adds some value by summarizing that either a discs list or a BagIQ share link can be supplied, but it does not deepen parameter semantics beyond 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?
The description states a specific action ('Identifies missing shot shapes and unserved flight slots') with a clear resource (BagIQ's 9 core slot targets) and a distinctive behavior (ranking voids by severity). This clearly differentiates it from siblings like detect_overlap or recommend_bag_fillers.
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 gives clear context: use this when you need to identify bag gaps against BagIQ's slot targets, and it specifies the accepted input modes (discs list or share link). It does not explicitly name alternative tools or when-not conditions, so it stops 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.
recommend_bag_fillersAInspect
Suggests the highest-rated discs to fill missing shot slots or close voids in the bag based on BagIQ matrix coordinates and DiscList ratings, with interactive 1-click 'Add to Bag' deep links. Accepts discs list or a BagIQ share link.
| Name | Required | Description | Default |
|---|---|---|---|
| brand | No | Optional brand filter for recommendations | |
| discs | No | Current bag contents (optional if share_url or share_id is provided) | |
| limit | No | Number of recommendations per gap (1..5, default 3) | |
| gap_id | No | Specific gap ID to fill (e.g. 'fairway-understable', 'approach-overstable', 'mid-neutral') | |
| share_id | No | Optional BagIQ short share ID (e.g. '4fisr8a7') | |
| share_url | No | Optional BagIQ share link (e.g. 'https://app.bagiq.app/?s=4fisr8a7') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It explains the recommendation basis (BagIQ matrix coordinates and DiscList ratings) and the output style (1-click 'Add to Bag' deep links). However, it does not disclose whether the tool modifies any bag state, whether authentication is needed, or what happens when no gaps or discs are found.
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 filler, front-loads the primary action, and packs the essential context: purpose, underlying data, output behavior, and accepted input formats. Every clause contributes useful information.
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 recommendation tool with 6 optional parameters and full schema coverage, the description is largely complete: it states the core purpose, input modes, algorithm inputs, and output style. It doesn't fully describe response shape or side effects, which would matter more given there is no output schema, but the existing description is still sufficient for an agent to invoke the tool correctly.
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 100%, so the baseline is 3. The description adds context about accepting a discs list or a BagIQ share link, which maps to the discs and share_url/share_id parameters, but it does not provide meaning beyond the schema for individual parameters.
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 uses a specific verb ('Suggests'), names the resource ('highest-rated discs'), and defines the exact purpose ('fill missing shot slots or close voids'). It also distinguishes itself from gap-detection siblings like find_bag_gaps by emphasizing it produces fill recommendations rather than just identifying gaps.
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 when to use the tool: when the user needs actual disc recommendations to fill bag voids. It does not explicitly state when not to use it or name alternatives such as find_bag_gaps or detect_overlap for gap identification, so the usage context is clear but the exclusion guidance is missing.
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
- Changed
analyze_bag4 fields changed- changed
Input schema / properties / discs / descriptionPrevious value: -"List of discs currently in the bag (1 to 35 discs)"New value: +"List of discs currently in the bag (optional if share_url or share_id is provided)" - added
Input schema / properties / share_idAdded value: +{ + "description": "Optional BagIQ short share ID (e.g. '4fisr8a7')", + "type": "string" +} - added
Input schema / properties / share_urlAdded value: +{ + "description": "Optional BagIQ share link (e.g. 'https://app.bagiq.app/?s=4fisr8a7' or 'https://app.bagiq.app/?discs=...')", + "type": "string" +} - removed
Input schema / requiredRemoved value: -[ - "discs" -]
- Changed
build_minimal_bag4 fields changed- changed
Input schema / properties / discs / descriptionPrevious value: -"Full disc collection or bag"New value: +"Full disc collection or bag (optional if share_url or share_id is provided)" - added
Input schema / properties / share_idAdded value: +{ + "description": "Optional BagIQ short share ID (e.g. '4fisr8a7')", + "type": "string" +} - added
Input schema / properties / share_urlAdded value: +{ + "description": "Optional BagIQ share link (e.g. 'https://app.bagiq.app/?s=4fisr8a7')", + "type": "string" +} - removed
Input schema / requiredRemoved value: -[ - "discs" -]
- Changed
detect_overlap4 fields changed- changed
Input schema / properties / discs / descriptionPrevious value: -"List of discs in the bag (minimum 2 discs)"New value: +"List of discs in the bag (minimum 2 discs, optional if share_url or share_id is provided)" - added
Input schema / properties / share_idAdded value: +{ + "description": "Optional BagIQ short share ID (e.g. '4fisr8a7')", + "type": "string" +} - added
Input schema / properties / share_urlAdded value: +{ + "description": "Optional BagIQ share link (e.g. 'https://app.bagiq.app/?s=4fisr8a7')", + "type": "string" +} - removed
Input schema / requiredRemoved value: -[ - "discs" -]
- Changed
find_bag_gaps4 fields changed- changed
Input schema / properties / discs / descriptionPrevious value: -"List of discs in the bag"New value: +"List of discs in the bag (optional if share_url or share_id is provided)" - added
Input schema / properties / share_idAdded value: +{ + "description": "Optional BagIQ short share ID (e.g. '4fisr8a7')", + "type": "string" +} - added
Input schema / properties / share_urlAdded value: +{ + "description": "Optional BagIQ share link (e.g. 'https://app.bagiq.app/?s=4fisr8a7')", + "type": "string" +} - removed
Input schema / requiredRemoved value: -[ - "discs" -]
- Added
get_shared_bag - Changed
recommend_bag_fillers4 fields changed- changed
Input schema / properties / discs / descriptionPrevious value: -"Current bag contents"New value: +"Current bag contents (optional if share_url or share_id is provided)" - added
Input schema / properties / share_idAdded value: +{ + "description": "Optional BagIQ short share ID (e.g. '4fisr8a7')", + "type": "string" +} - added
Input schema / properties / share_urlAdded value: +{ + "description": "Optional BagIQ share link (e.g. 'https://app.bagiq.app/?s=4fisr8a7')", + "type": "string" +} - removed
Input schema / requiredRemoved value: -[ - "discs" -]
5 tool updates
- First observed
analyze_bag - First observed
build_minimal_bag - First observed
detect_overlap - First observed
find_bag_gaps - First observed
recommend_bag_fillers
Related MCP Connectors
Search disc golf discs, compare flight ratings, and find similar alternatives across brands.
Search current disc golf retailer inventory across 50+ shops by mould, plastic, price, and country.
Search disc golf courses worldwide, find nearby courses, and retrieve course details and updates.
Read-only PDGA disc golf data — players, events, courses and season statistics.
Related MCP Servers
- AlicenseAqualityCmaintenanceEnables Magic: The Gathering players to analyze deck lists using real Scryfall oracle text, detecting synergies and conflicts. Generates three viewable documents: an interactive synergy map, a detailed guide, and a printable cheat sheet.9MIT
- AlicenseNot gradedqualityCmaintenanceEnables AI assistants to search, manage, and analyze personal Discogs music collections with features like mood-based recommendations, advanced search, and collection analytics.11 npmMIT
- FlicenseNot gradedqualityDmaintenanceTurns your Garmin watch into a sailing analytics tool by combining GPS data from Garmin Connect with historical weather data, providing insights like speed, VMG, wind conditions, and interactive maps.2-
- AlicenseBqualityCmaintenanceEnables generating capacity-safe, risk-weighted scan schedules, identifying coverage blind spots, and comparing sealed scan plans.3MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.