Analyse disc golf bag gaps and overlap, recommend discs, and open an interactive Bag Map.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
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.
List of discs currently in the bag (optional if share_url or share_id is provided)
Optional BagIQ short share ID (e.g. '4fisr8a7')
Optional BagIQ share link (e.g. 'https://app.bagiq.app/?s=4fisr8a7' or 'https://app.bagiq.app/?discs=...')
Optional preferred brand for recommendations (e.g. 'Innova', 'Discraft')
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
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.
| Argument | Type | Description |
|---|---|---|
| discs | array | List of discs currently in the bag (optional if share_url or share_id is provided) |
| share_id | string | Optional BagIQ short share ID (e.g. '4fisr8a7') |
| share_url | string | Optional BagIQ share link (e.g. 'https://app.bagiq.app/?s=4fisr8a7' or 'https://app.bagiq.app/?discs=...') |
| preferred_brand | string | Optional preferred brand for recommendations (e.g. 'Innova', 'Discraft') |
{
"type": "object",
"properties": {
"discs": {
"type": "array",
"items": {
"oneOf": [
{
"type": "string",
"description": "Disc name, slug, or brand+name string (e.g. 'Innova Destroyer' or 'discraft-buzzz')"
},
{
"type": "object",
"required": [
"disc"
],
"properties": {
"disc": {
"type": "string",
"description": "Disc name or slug (required)"
},
"brand": {
"type": "string",
"description": "Manufacturer brand name"
},
"usage": {
"enum": [
"rare",
"sometimes",
"often",
"all the time"
],
"type": "string",
"description": "Usage frequency"
},
"locked": {
"type": "boolean",
"description": "If true, lock this disc to prevent cut recommendations"
},
"plastic": {
"type": "string",
"description": "Plastic blend (e.g. Star, Champion, ESP)"
},
"use_case": {
"type": "string",
"description": "Role or shot description (e.g. 'windy drives', 'tunnel shots')"
},
"confidence": {
"enum": [
"shaky",
"okay",
"trusted",
"money disc"
],
"type": "string",
"description": "Player confidence"
},
"throw_type": {
"enum": [
"backhand",
"forehand",
"both"
],
"type": "string",
"description": "Primary throw style"
},
"wear_state": {
"enum": [
"new",
"seasoned",
"beat"
],
"type": "string",
"description": "Wear condition"
}
}
}
]
},
"maxItems": 35,
"minItems": 1,
"description": "List of discs currently in the bag (optional if share_url or share_id is provided)"
},
"share_id": {
"type": "string",
"description": "Optional BagIQ short share ID (e.g. '4fisr8a7')"
},
"share_url": {
"type": "string",
"description": "Optional BagIQ share link (e.g. 'https://app.bagiq.app/?s=4fisr8a7' or 'https://app.bagiq.app/?discs=...')"
},
"preferred_brand": {
"type": "string",
"description": "Optional preferred brand for recommendations (e.g. 'Innova', 'Discraft')"
}
}
}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.
| Argument | Type | Description |
|---|---|---|
| discs | array | Full disc collection or bag (optional if share_url or share_id is provided) |
| share_id | string | Optional BagIQ short share ID (e.g. '4fisr8a7') |
| share_url | string | Optional BagIQ share link (e.g. 'https://app.bagiq.app/?s=4fisr8a7') |
| target_count | integer | Target number of discs in the minimal bag (2..6, default 3) |
{
"type": "object",
"properties": {
"discs": {
"type": "array",
"items": {
"oneOf": [
{
"type": "string",
"description": "Disc name, slug, or brand+name string (e.g. 'Innova Destroyer' or 'discraft-buzzz')"
},
{
"type": "object",
"required": [
"disc"
],
"properties": {
"disc": {
"type": "string",
"description": "Disc name or slug (required)"
},
"brand": {
"type": "string",
"description": "Manufacturer brand name"
},
"usage": {
"enum": [
"rare",
"sometimes",
"often",
"all the time"
],
"type": "string",
"description": "Usage frequency"
},
"locked": {
"type": "boolean",
"description": "If true, lock this disc to prevent cut recommendations"
},
"plastic": {
"type": "string",
"description": "Plastic blend (e.g. Star, Champion, ESP)"
},
"use_case": {
"type": "string",
"description": "Role or shot description (e.g. 'windy drives', 'tunnel shots')"
},
"confidence": {
"enum": [
"shaky",
"okay",
"trusted",
"money disc"
],
"type": "string",
"description": "Player confidence"
},
"throw_type": {
"enum": [
"backhand",
"forehand",
"both"
],
"type": "string",
"description": "Primary throw style"
},
"wear_state": {
"enum": [
"new",
"seasoned",
"beat"
],
"type": "string",
"description": "Wear condition"
}
}
}
]
},
"maxItems": 35,
"minItems": 3,
"description": "Full disc collection or bag (optional if share_url or share_id is provided)"
},
"share_id": {
"type": "string",
"description": "Optional BagIQ short share ID (e.g. '4fisr8a7')"
},
"share_url": {
"type": "string",
"description": "Optional BagIQ share link (e.g. 'https://app.bagiq.app/?s=4fisr8a7')"
},
"target_count": {
"type": "integer",
"default": 3,
"description": "Target number of discs in the minimal bag (2..6, default 3)"
}
}
}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.
| Argument | Type | Description |
|---|---|---|
| discs | array | List of discs in the bag (minimum 2 discs, optional if share_url or share_id is provided) |
| share_id | string | Optional BagIQ short share ID (e.g. '4fisr8a7') |
| share_url | string | Optional BagIQ share link (e.g. 'https://app.bagiq.app/?s=4fisr8a7') |
{
"type": "object",
"properties": {
"discs": {
"type": "array",
"items": {
"oneOf": [
{
"type": "string",
"description": "Disc name, slug, or brand+name string (e.g. 'Innova Destroyer' or 'discraft-buzzz')"
},
{
"type": "object",
"required": [
"disc"
],
"properties": {
"disc": {
"type": "string",
"description": "Disc name or slug (required)"
},
"brand": {
"type": "string",
"description": "Manufacturer brand name"
},
"usage": {
"enum": [
"rare",
"sometimes",
"often",
"all the time"
],
"type": "string",
"description": "Usage frequency"
},
"locked": {
"type": "boolean",
"description": "If true, lock this disc to prevent cut recommendations"
},
"plastic": {
"type": "string",
"description": "Plastic blend (e.g. Star, Champion, ESP)"
},
"use_case": {
"type": "string",
"description": "Role or shot description (e.g. 'windy drives', 'tunnel shots')"
},
"confidence": {
"enum": [
"shaky",
"okay",
"trusted",
"money disc"
],
"type": "string",
"description": "Player confidence"
},
"throw_type": {
"enum": [
"backhand",
"forehand",
"both"
],
"type": "string",
"description": "Primary throw style"
},
"wear_state": {
"enum": [
"new",
"seasoned",
"beat"
],
"type": "string",
"description": "Wear condition"
}
}
}
]
},
"maxItems": 35,
"minItems": 2,
"description": "List of discs in the bag (minimum 2 discs, optional if share_url or share_id is provided)"
},
"share_id": {
"type": "string",
"description": "Optional BagIQ short share ID (e.g. '4fisr8a7')"
},
"share_url": {
"type": "string",
"description": "Optional BagIQ share link (e.g. 'https://app.bagiq.app/?s=4fisr8a7')"
}
}
}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.
| Argument | Type | Description |
|---|---|---|
| discs | array | List of discs in the bag (optional if share_url or share_id is provided) |
| share_id | string | Optional BagIQ short share ID (e.g. '4fisr8a7') |
| share_url | string | Optional BagIQ share link (e.g. 'https://app.bagiq.app/?s=4fisr8a7') |
{
"type": "object",
"properties": {
"discs": {
"type": "array",
"items": {
"oneOf": [
{
"type": "string",
"description": "Disc name, slug, or brand+name string (e.g. 'Innova Destroyer' or 'discraft-buzzz')"
},
{
"type": "object",
"required": [
"disc"
],
"properties": {
"disc": {
"type": "string",
"description": "Disc name or slug (required)"
},
"brand": {
"type": "string",
"description": "Manufacturer brand name"
},
"usage": {
"enum": [
"rare",
"sometimes",
"often",
"all the time"
],
"type": "string",
"description": "Usage frequency"
},
"locked": {
"type": "boolean",
"description": "If true, lock this disc to prevent cut recommendations"
},
"plastic": {
"type": "string",
"description": "Plastic blend (e.g. Star, Champion, ESP)"
},
"use_case": {
"type": "string",
"description": "Role or shot description (e.g. 'windy drives', 'tunnel shots')"
},
"confidence": {
"enum": [
"shaky",
"okay",
"trusted",
"money disc"
],
"type": "string",
"description": "Player confidence"
},
"throw_type": {
"enum": [
"backhand",
"forehand",
"both"
],
"type": "string",
"description": "Primary throw style"
},
"wear_state": {
"enum": [
"new",
"seasoned",
"beat"
],
"type": "string",
"description": "Wear condition"
}
}
}
]
},
"maxItems": 35,
"minItems": 1,
"description": "List of discs in the bag (optional if share_url or share_id is provided)"
},
"share_id": {
"type": "string",
"description": "Optional BagIQ short share ID (e.g. '4fisr8a7')"
},
"share_url": {
"type": "string",
"description": "Optional BagIQ share link (e.g. 'https://app.bagiq.app/?s=4fisr8a7')"
}
}
}Retrieves and inspects a player's saved disc golf bag from a BagIQ share link (e.g. 'https://app.bagiq.app/?s=4fisr8a7'), short share ID, or slug link. Returns the full disc breakdown with plastics, wear states, confidence ratings, slot coverage, and interactive BagIQ deep links.
| Argument | Type | Description |
|---|---|---|
| share_id | string | BagIQ short share ID (e.g. '4fisr8a7') |
| share_url | string | BagIQ share link URL (e.g. 'https://app.bagiq.app/?s=4fisr8a7' or 'https://app.bagiq.app/?discs=innova-destroyer,discraft-buzzz') |
{
"type": "object",
"properties": {
"share_id": {
"type": "string",
"description": "BagIQ short share ID (e.g. '4fisr8a7')"
},
"share_url": {
"type": "string",
"description": "BagIQ share link URL (e.g. 'https://app.bagiq.app/?s=4fisr8a7' or 'https://app.bagiq.app/?discs=innova-destroyer,discraft-buzzz')"
}
}
}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.
| Argument | Type | Description |
|---|---|---|
| brand | string | Optional brand filter for recommendations |
| discs | array | Current bag contents (optional if share_url or share_id is provided) |
| limit | integer | Number of recommendations per gap (1..5, default 3) |
| gap_id | string | Specific gap ID to fill (e.g. 'fairway-understable', 'approach-overstable', 'mid-neutral') |
| share_id | string | Optional BagIQ short share ID (e.g. '4fisr8a7') |
| share_url | string | Optional BagIQ share link (e.g. 'https://app.bagiq.app/?s=4fisr8a7') |
{
"type": "object",
"properties": {
"brand": {
"type": "string",
"description": "Optional brand filter for recommendations"
},
"discs": {
"type": "array",
"items": {
"oneOf": [
{
"type": "string",
"description": "Disc name, slug, or brand+name string (e.g. 'Innova Destroyer' or 'discraft-buzzz')"
},
{
"type": "object",
"required": [
"disc"
],
"properties": {
"disc": {
"type": "string",
"description": "Disc name or slug (required)"
},
"brand": {
"type": "string",
"description": "Manufacturer brand name"
},
"usage": {
"enum": [
"rare",
"sometimes",
"often",
"all the time"
],
"type": "string",
"description": "Usage frequency"
},
"locked": {
"type": "boolean",
"description": "If true, lock this disc to prevent cut recommendations"
},
"plastic": {
"type": "string",
"description": "Plastic blend (e.g. Star, Champion, ESP)"
},
"use_case": {
"type": "string",
"description": "Role or shot description (e.g. 'windy drives', 'tunnel shots')"
},
"confidence": {
"enum": [
"shaky",
"okay",
"trusted",
"money disc"
],
"type": "string",
"description": "Player confidence"
},
"throw_type": {
"enum": [
"backhand",
"forehand",
"both"
],
"type": "string",
"description": "Primary throw style"
},
"wear_state": {
"enum": [
"new",
"seasoned",
"beat"
],
"type": "string",
"description": "Wear condition"
}
}
}
]
},
"maxItems": 35,
"minItems": 1,
"description": "Current bag contents (optional if share_url or share_id is provided)"
},
"limit": {
"type": "integer",
"default": 3,
"description": "Number of recommendations per gap (1..5, default 3)"
},
"gap_id": {
"type": "string",
"description": "Specific gap ID to fill (e.g. 'fairway-understable', 'approach-overstable', 'mid-neutral')"
},
"share_id": {
"type": "string",
"description": "Optional BagIQ short share ID (e.g. '4fisr8a7')"
},
"share_url": {
"type": "string",
"description": "Optional BagIQ share link (e.g. 'https://app.bagiq.app/?s=4fisr8a7')"
}
}
}