BagIQ MCP

Analyse disc golf bag gaps and overlap, recommend discs, and open an interactive Bag Map.

¿Debería usar esto?

Calidad y seguridad

B
Calidad de la descripción
93%
Integridad del esquema
90%
Calidad de los nombres
93%
Riesgo de envenenamiento
60%
Coincidencia de permisos
100%
Cumplimiento del protocolo
100%

Hallazgos (3)

  • HIGHTool poisoning patterns detected
  • MEDIUMTool description contains URL to non-standard domainen analyze_bag
  • MEDIUMTool description contains URL to non-standard domainen get_shared_bag

Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.

Costo de contexto

~2,455Tokens (definiciones de herramientas)
~3.9 KBTamaño de respuesta típico
Impacto moderado en la atención (1.92% del contexto de 128k)

Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.

Instalar

Instalación con un clic

Agrega esto a tu archivo `claude_desktop_config.json`:

{
  "mcpServers": {
    "bagiq": {
      "url": "https://data.bagiq.app/mcp"
    }
  }
}

Puntos de conexión remotos

https://data.bagiq.app/mcpstreamable-http

Qué puede hacer

Inventario de herramientas

Herramientas (6)

🟢 Solo lectura🟡 Escritura🔴 Eliminación⚪ Desconocido
🟢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.

Esquema de entrada

{
  "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.

Esquema de entrada

{
  "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.

Esquema de entrada

{
  "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.

Esquema de entrada

{
  "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.

Esquema de entrada

{
  "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.

Esquema de entrada

{
  "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')"
    }
  }
}

Comunidad

Califica este servidor

Evidencia

Observaciones recientes

verificadoversión no registrada6 herramientas
verificadoversión no registrada6 herramientas