BagIQ MCP
Server Details
Analyse disc golf bag lineups across nine core flight roles, spot critical gaps and redundant overlaps, receive gap-filling disc recommendations, and open an interactive Bag Map on app.bagiq.app. Free, public, read-only.
- Status
- Healthy
- Uptime
- 100.0% over 22 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 6 tools
Most tools have clearly distinct purposes, but analyze_bag overlaps somewhat with find_bag_gaps and detect_overlap since it already reports gaps and overlaps. The descriptions do clarify that analyze_bag is the comprehensive option while the others focus on specific aspects, so confusion is limited.
All tool names follow a consistent verb_bag or verb_noun snake_case pattern (analyze_bag, build_minimal_bag, detect_overlap, find_bag_gaps, get_shared_bag, recommend_bag_fillers). The naming style is uniform and predictable, making it easy to infer tool behavior.
Six tools is a well-scoped number for a disc golf bag analysis server. Each tool addresses a distinct analytical need—overall analysis, minimal bag building, overlap detection, gap finding, bag retrieval, and filler recommendations—without unnecessary duplication.
The tool surface covers the core disc golf bag analysis workflow: importing a bag via share link, performing comprehensive analysis, identifying gaps and overlaps, building a minimal bag, and receiving filler recommendations. No obvious dead ends or missing essential operations for the stated purpose.
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 Servers
- AlicenseAqualityCmaintenanceEnables brand visibility monitoring across major AI platforms like ChatGPT, Claude, Gemini, and Perplexity. It allows users to track visibility scores, analyze competitor data, and receive actionable insights to improve AI-generated brand recommendations.167 npm1MIT
- AlicenseCqualityAmaintenanceCompetitor Monitor AI - MCP server providing AI-powered tools and automation by MEOK AI Labs119 npm37 PyPIMIT
- AlicenseNot gradedqualityBmaintenanceEnables tracking competitor websites, changelogs, blog feeds, and pricing pages with meaningful diffs, classification, and Markdown digests via MCP tools for listing, adding, removing competitors, running checks, and retrieving digests or changes.MIT

industrylens-mcpofficial
AlicenseNot gradedqualityBmaintenanceBrowse IndustryLens's published competitive-intelligence reports and head-to-head competitor comparisons from any AI agent — real, source-backed data.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.