BagIQ MCP
Analyse disc golf bag gaps and overlap, recommend discs, and open an interactive Bag Map.
사용해야 할까요
품질 및 안전성
발견 사항 (3)
- HIGH
- MEDIUManalyze_bag에서
- MEDIUMget_shared_bag에서
도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.
컨텍스트 비용
이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.
설치
원클릭 설치
`claude_desktop_config.json` 파일에 다음을 추가하세요:
{
"mcpServers": {
"bagiq": {
"url": "https://data.bagiq.app/mcp"
}
}
}원격 엔드포인트
https://data.bagiq.app/mcpstreamable-http할 수 있는 일
도구 목록
도구 (6)
🟢analyze_bag(share_url, share_id, discs, preferred_brand)
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.
입력 스키마
{
"type": "object",
"properties": {
"share_url": {
"type": "string",
"description": "Optional BagIQ share link (e.g. 'https://app.bagiq.app/?s=4fisr8a7' or 'https://app.bagiq.app/?discs=...')"
},
"share_id": {
"type": "string",
"description": "Optional BagIQ short share ID (e.g. '4fisr8a7')"
},
"discs": {
"type": "array",
"items": {
"oneOf": [
{
"type": "string",
"description": "Disc name, slug, or brand+name string (e.g. 'Innova Destroyer' or 'discraft-buzzz')"
},
{
"type": "object",
"properties": {
"disc": {
"type": "string",
"description": "Disc name or slug (required)"
},
"brand": {
"type": "string",
"description": "Manufacturer brand name"
},
"plastic": {
"type": "string",
"description": "Plastic blend (e.g. Star, Champion, ESP)"
},
"wear_state": {
"type": "string",
"enum": [
"new",
"seasoned",
"beat"
],
"description": "Wear condition"
},
"confidence": {
"type": "string",
"enum": [
"shaky",
"okay",
"trusted",
"money disc"
],
"description": "Player confidence"
},
"usage": {
"type": "string",
"enum": [
"rare",
"sometimes",
"often",
"all the time"
],
"description": "Usage frequency"
},
"throw_type": {
"type": "string",
"enum": [
"backhand",
"forehand",
"both"
],
"description": "Primary throw style"
},
"use_case": {
"type": "string",
"description": "Role or shot description (e.g. 'windy drives', 'tunnel shots')"
},
"locked": {
"type": "boolean",
"description": "If true, lock this disc to prevent cut recommendations"
}
},
"required": [
"disc"
]
}
]
},
"description": "List of discs currently in the bag (optional if share_url or share_id is provided)",
"minItems": 1,
"maxItems": 35
},
"preferred_brand": {
"type": "string",
"description": "Optional preferred brand for recommendations (e.g. 'Innova', 'Discraft')"
}
}
}🟢find_bag_gaps(share_url, share_id, discs)
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.
입력 스키마
{
"type": "object",
"properties": {
"share_url": {
"type": "string",
"description": "Optional BagIQ share link (e.g. 'https://app.bagiq.app/?s=4fisr8a7')"
},
"share_id": {
"type": "string",
"description": "Optional BagIQ short share ID (e.g. '4fisr8a7')"
},
"discs": {
"type": "array",
"items": {
"oneOf": [
{
"type": "string",
"description": "Disc name, slug, or brand+name string (e.g. 'Innova Destroyer' or 'discraft-buzzz')"
},
{
"type": "object",
"properties": {
"disc": {
"type": "string",
"description": "Disc name or slug (required)"
},
"brand": {
"type": "string",
"description": "Manufacturer brand name"
},
"plastic": {
"type": "string",
"description": "Plastic blend (e.g. Star, Champion, ESP)"
},
"wear_state": {
"type": "string",
"enum": [
"new",
"seasoned",
"beat"
],
"description": "Wear condition"
},
"confidence": {
"type": "string",
"enum": [
"shaky",
"okay",
"trusted",
"money disc"
],
"description": "Player confidence"
},
"usage": {
"type": "string",
"enum": [
"rare",
"sometimes",
"often",
"all the time"
],
"description": "Usage frequency"
},
"throw_type": {
"type": "string",
"enum": [
"backhand",
"forehand",
"both"
],
"description": "Primary throw style"
},
"use_case": {
"type": "string",
"description": "Role or shot description (e.g. 'windy drives', 'tunnel shots')"
},
"locked": {
"type": "boolean",
"description": "If true, lock this disc to prevent cut recommendations"
}
},
"required": [
"disc"
]
}
]
},
"description": "List of discs in the bag (optional if share_url or share_id is provided)",
"minItems": 1,
"maxItems": 35
}
}
}🟢detect_overlap(share_url, share_id, discs)
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.
입력 스키마
{
"type": "object",
"properties": {
"share_url": {
"type": "string",
"description": "Optional BagIQ share link (e.g. 'https://app.bagiq.app/?s=4fisr8a7')"
},
"share_id": {
"type": "string",
"description": "Optional BagIQ short share ID (e.g. '4fisr8a7')"
},
"discs": {
"type": "array",
"items": {
"oneOf": [
{
"type": "string",
"description": "Disc name, slug, or brand+name string (e.g. 'Innova Destroyer' or 'discraft-buzzz')"
},
{
"type": "object",
"properties": {
"disc": {
"type": "string",
"description": "Disc name or slug (required)"
},
"brand": {
"type": "string",
"description": "Manufacturer brand name"
},
"plastic": {
"type": "string",
"description": "Plastic blend (e.g. Star, Champion, ESP)"
},
"wear_state": {
"type": "string",
"enum": [
"new",
"seasoned",
"beat"
],
"description": "Wear condition"
},
"confidence": {
"type": "string",
"enum": [
"shaky",
"okay",
"trusted",
"money disc"
],
"description": "Player confidence"
},
"usage": {
"type": "string",
"enum": [
"rare",
"sometimes",
"often",
"all the time"
],
"description": "Usage frequency"
},
"throw_type": {
"type": "string",
"enum": [
"backhand",
"forehand",
"both"
],
"description": "Primary throw style"
},
"use_case": {
"type": "string",
"description": "Role or shot description (e.g. 'windy drives', 'tunnel shots')"
},
"locked": {
"type": "boolean",
"description": "If true, lock this disc to prevent cut recommendations"
}
},
"required": [
"disc"
]
}
]
},
"description": "List of discs in the bag (minimum 2 discs, optional if share_url or share_id is provided)",
"minItems": 2,
"maxItems": 35
}
}
}🟢recommend_bag_fillers(share_url, share_id, discs, gap_id, brand, ...)
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.
입력 스키마
{
"type": "object",
"properties": {
"share_url": {
"type": "string",
"description": "Optional BagIQ share link (e.g. 'https://app.bagiq.app/?s=4fisr8a7')"
},
"share_id": {
"type": "string",
"description": "Optional BagIQ short share ID (e.g. '4fisr8a7')"
},
"discs": {
"type": "array",
"items": {
"oneOf": [
{
"type": "string",
"description": "Disc name, slug, or brand+name string (e.g. 'Innova Destroyer' or 'discraft-buzzz')"
},
{
"type": "object",
"properties": {
"disc": {
"type": "string",
"description": "Disc name or slug (required)"
},
"brand": {
"type": "string",
"description": "Manufacturer brand name"
},
"plastic": {
"type": "string",
"description": "Plastic blend (e.g. Star, Champion, ESP)"
},
"wear_state": {
"type": "string",
"enum": [
"new",
"seasoned",
"beat"
],
"description": "Wear condition"
},
"confidence": {
"type": "string",
"enum": [
"shaky",
"okay",
"trusted",
"money disc"
],
"description": "Player confidence"
},
"usage": {
"type": "string",
"enum": [
"rare",
"sometimes",
"often",
"all the time"
],
"description": "Usage frequency"
},
"throw_type": {
"type": "string",
"enum": [
"backhand",
"forehand",
"both"
],
"description": "Primary throw style"
},
"use_case": {
"type": "string",
"description": "Role or shot description (e.g. 'windy drives', 'tunnel shots')"
},
"locked": {
"type": "boolean",
"description": "If true, lock this disc to prevent cut recommendations"
}
},
"required": [
"disc"
]
}
]
},
"description": "Current bag contents (optional if share_url or share_id is provided)",
"minItems": 1,
"maxItems": 35
},
"gap_id": {
"type": "string",
"description": "Specific gap ID to fill (e.g. 'fairway-understable', 'approach-overstable', 'mid-neutral')"
},
"brand": {
"type": "string",
"description": "Optional brand filter for recommendations"
},
"limit": {
"type": "integer",
"description": "Number of recommendations per gap (1..5, default 3)",
"default": 3
}
}
}🟢build_minimal_bag(share_url, share_id, discs, target_count)
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.
입력 스키마
{
"type": "object",
"properties": {
"share_url": {
"type": "string",
"description": "Optional BagIQ share link (e.g. 'https://app.bagiq.app/?s=4fisr8a7')"
},
"share_id": {
"type": "string",
"description": "Optional BagIQ short share ID (e.g. '4fisr8a7')"
},
"discs": {
"type": "array",
"items": {
"oneOf": [
{
"type": "string",
"description": "Disc name, slug, or brand+name string (e.g. 'Innova Destroyer' or 'discraft-buzzz')"
},
{
"type": "object",
"properties": {
"disc": {
"type": "string",
"description": "Disc name or slug (required)"
},
"brand": {
"type": "string",
"description": "Manufacturer brand name"
},
"plastic": {
"type": "string",
"description": "Plastic blend (e.g. Star, Champion, ESP)"
},
"wear_state": {
"type": "string",
"enum": [
"new",
"seasoned",
"beat"
],
"description": "Wear condition"
},
"confidence": {
"type": "string",
"enum": [
"shaky",
"okay",
"trusted",
"money disc"
],
"description": "Player confidence"
},
"usage": {
"type": "string",
"enum": [
"rare",
"sometimes",
"often",
"all the time"
],
"description": "Usage frequency"
},
"throw_type": {
"type": "string",
"enum": [
"backhand",
"forehand",
"both"
],
"description": "Primary throw style"
},
"use_case": {
"type": "string",
"description": "Role or shot description (e.g. 'windy drives', 'tunnel shots')"
},
"locked": {
"type": "boolean",
"description": "If true, lock this disc to prevent cut recommendations"
}
},
"required": [
"disc"
]
}
]
},
"description": "Full disc collection or bag (optional if share_url or share_id is provided)",
"minItems": 3,
"maxItems": 35
},
"target_count": {
"type": "integer",
"description": "Target number of discs in the minimal bag (2..6, default 3)",
"default": 3
}
}
}🟢get_shared_bag(share_url, share_id)
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.
입력 스키마
{
"type": "object",
"properties": {
"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')"
},
"share_id": {
"type": "string",
"description": "BagIQ short share ID (e.g. '4fisr8a7')"
}
}
}커뮤니티
증거