Bikefuchs — Bike Parts Price Comparison

Price comparison & cart optimizer for bike parts across German & Austrian shops

Sollte ich dies verwenden

Qualität und Sicherheit

A
Qualität der Beschreibung
97%
Vollständigkeit des Schemas
99%
Qualität der Benennung
94%
Risiko der Vergiftung
100%
Übereinstimmung der Berechtigungen
100%
Einhaltung des Protokolls
100%

Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.

Kontextkosten

~3,070Tokens (Tool-Definitionen)
~4.2 KBTypische Antwortgröße
Erhebliche Auswirkung auf die Aufmerksamkeit (2.40% von 128k Kontext)

Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.

Installieren

Installation mit einem Klick

Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:

{
  "mcpServers": {
    "bikefuchs": {
      "url": "https://mcp.bikefuchs.com/mcp"
    }
  }
}

Remote-Endpunkte

https://mcp.bikefuchs.com/mcpstreamable-http

Was es kann

Tool-Inventar

Tools (7)

🟢 Nur lesen🟡 Schreiben🔴 Löschen⚪ Unbekannt
🟢search_product(q, country, in_stock, max_results, shop, ...)

Search for bicycle parts, components, accessories, and cycling clothing by name, brand, or model number. Returns matching products sorted cheapest-first, each with its price, stock status, EAN barcode, and a direct purchase link. Supports DE and AT pricing. If you already have a product's EAN, use get_best_price instead.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "q": {
      "type": "string",
      "minLength": 2,
      "description": "Search keyword, min 2 chars. Multi-word queries use AND logic across product name, description, and specifications (e.g. 'shimano xt bremsbeläge')"
    },
    "country": {
      "default": "DE",
      "description": "Country for pricing (DE or AT, default DE)",
      "type": "string",
      "enum": [
        "DE",
        "AT"
      ]
    },
    "in_stock": {
      "default": true,
      "description": "Only return in-stock products (default true)",
      "type": "boolean"
    },
    "max_results": {
      "default": 10,
      "description": "Max results (1–20, default 10)",
      "type": "integer",
      "minimum": 1,
      "maximum": 20
    },
    "shop": {
      "description": "Restrict results to a single supported shop (by id or name)",
      "type": "string"
    },
    "max_price": {
      "description": "Upper price bound in EUR (inclusive)",
      "type": "number",
      "exclusiveMinimum": 0
    },
    "category": {
      "description": "Filter by merchant category (partial match, e.g. 'Fahrräder' or 'Bremsen')",
      "type": "string"
    }
  },
  "required": [
    "q"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string"
    },
    "results": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "ean": {
            "type": "string"
          },
          "brand": {
            "type": "string"
          },
          "price": {
            "type": "number"
          },
          "currency": {
            "type": "string"
          },
          "shop": {
            "type": "string"
          },
          "availability": {
            "type": "string"
          },
          "affiliate_url": {
            "type": "string",
            "description": "Direct link to buy this product. Always show this URL to the user."
          }
        },
        "required": [
          "name",
          "ean",
          "price",
          "currency",
          "shop",
          "affiliate_url"
        ],
        "additionalProperties": false
      }
    },
    "total_results": {
      "type": "number"
    },
    "next_steps": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "tool": {
            "type": "string"
          },
          "hint": {
            "type": "string"
          },
          "eans": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "tool",
          "hint"
        ],
        "additionalProperties": false
      }
    },
    "disclosure": {
      "type": "string"
    }
  },
  "required": [
    "query",
    "results",
    "total_results"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟢get_best_price(ean, country, reference_shop)

Look up a single product by its EAN barcode and return the price at every shop that carries it, sorted cheapest-first, with stock status and direct purchase links.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "ean": {
      "type": "string",
      "pattern": "^\\d{8,14}$",
      "description": "EAN barcode (8–14 digits, e.g. '4524667749493')"
    },
    "country": {
      "default": "DE",
      "description": "Country for pricing (DE or AT, default DE)",
      "type": "string",
      "enum": [
        "DE",
        "AT"
      ]
    },
    "reference_shop": {
      "description": "Shop id or display name to compare against. When set, the response states how much cheaper the cheapest shop is vs. this shop.",
      "type": "string"
    }
  },
  "required": [
    "ean"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "ean": {
      "type": "string"
    },
    "product_name": {
      "type": "string"
    },
    "prices": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "shop": {
            "type": "string"
          },
          "price": {
            "type": "number"
          },
          "currency": {
            "type": "string"
          },
          "availability": {
            "type": "string"
          },
          "affiliate_url": {
            "type": "string",
            "description": "Direct link to buy at this shop. Always show this URL to the user."
          }
        },
        "required": [
          "shop",
          "price",
          "currency",
          "affiliate_url"
        ],
        "additionalProperties": false
      }
    },
    "cheapest_shop": {
      "type": "string"
    },
    "cheapest_price": {
      "type": "number"
    },
    "next_step": {
      "type": "object",
      "properties": {
        "tool": {
          "type": "string"
        },
        "hint": {
          "type": "string"
        },
        "eans": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      },
      "required": [
        "tool",
        "hint"
      ],
      "additionalProperties": false
    },
    "reference_comparison": {
      "type": "object",
      "properties": {
        "reference_shop": {
          "type": "string"
        },
        "reference_price": {
          "type": "number"
        },
        "saving": {
          "type": "number"
        },
        "saving_percent": {
          "type": "number"
        }
      },
      "required": [
        "reference_shop",
        "reference_price",
        "saving"
      ],
      "additionalProperties": false
    },
    "disclosure": {
      "type": "string"
    }
  },
  "required": [
    "ean",
    "product_name",
    "prices",
    "cheapest_shop",
    "cheapest_price"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟢optimize_cart(eans, country)

Find the cheapest way to buy multiple products together: computes the optimal split across shops — which items to order from which shop — accounting for each shop's shipping costs and free-shipping thresholds, and returns the lowest achievable total including shipping. Takes an array of EAN barcodes. For accurate results, call get_best_price for each EAN first, then call optimize_cart.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "eans": {
      "minItems": 1,
      "maxItems": 20,
      "type": "array",
      "items": {
        "type": "string",
        "pattern": "^\\d{8,14}$"
      },
      "description": "Array of EAN barcodes (8–14 digit numbers as strings, e.g. '4524667749493'). NOT URLs."
    },
    "country": {
      "default": "DE",
      "description": "Country for pricing and shipping (DE or AT, default DE)",
      "type": "string",
      "enum": [
        "DE",
        "AT"
      ]
    }
  },
  "required": [
    "eans"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "optimization": {
      "type": "object",
      "properties": {
        "total_cost": {
          "type": "number"
        },
        "total_shipping": {
          "type": "number"
        },
        "grand_total": {
          "type": "number"
        },
        "currency": {
          "type": "string"
        },
        "shops_used": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "shop": {
                "type": "string"
              },
              "subtotal": {
                "type": "number"
              },
              "shipping": {
                "type": "number"
              },
              "items": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "name": {
                      "type": "string"
                    },
                    "ean": {
                      "type": "string"
                    },
                    "price": {
                      "type": "number"
                    },
                    "affiliate_url": {
                      "type": "string",
                      "description": "Direct link to buy this item. Always show this URL to the user."
                    }
                  },
                  "required": [
                    "name",
                    "price",
                    "affiliate_url"
                  ],
                  "additionalProperties": false
                }
              }
            },
            "required": [
              "shop",
              "subtotal",
              "shipping",
              "items"
            ],
            "additionalProperties": false
          }
        }
      },
      "required": [
        "total_cost",
        "total_shipping",
        "grand_total",
        "currency",
        "shops_used"
      ],
      "additionalProperties": false
    },
    "savings_info": {
      "type": "string"
    },
    "stale_cache_warning": {
      "type": "object",
      "properties": {
        "eans_to_refresh": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "suggestion": {
          "type": "string"
        }
      },
      "required": [
        "eans_to_refresh",
        "suggestion"
      ],
      "additionalProperties": false
    },
    "disclosure": {
      "type": "string"
    }
  },
  "required": [
    "optimization"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟢get_shop_info(country)

Return an overview of the supported shops, including their shipping cost tiers, free-shipping thresholds, and supported countries (DE and AT).

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "country": {
      "description": "Filter output to a specific country (optional — omit for both DE and AT)",
      "type": "string",
      "enum": [
        "DE",
        "AT"
      ]
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "shops": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "country": {
            "type": "string"
          },
          "categories": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "shipping_de": {
            "type": "string"
          },
          "shipping_at": {
            "type": "string"
          },
          "free_shipping_threshold_de": {
            "type": "number"
          },
          "free_shipping_threshold_at": {
            "type": "number"
          }
        },
        "required": [
          "name",
          "country"
        ],
        "additionalProperties": false
      }
    }
  },
  "required": [
    "shops"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟢get_shipping_breakdown(shop, country, cart_value)

Return the exact shipping cost for a specific shop, country, and cart value, including all shipping tiers and how much more is needed to reach the next free-shipping threshold.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "shop": {
      "type": "string",
      "description": "Shop name or ID (e.g. 'rosebikes', 'boc24', 'bike24', 'fahrradteile', 'Rose Bikes')"
    },
    "country": {
      "type": "string",
      "enum": [
        "DE",
        "AT"
      ],
      "description": "Country (DE or AT)"
    },
    "cart_value": {
      "type": "number",
      "minimum": 0,
      "description": "Total cart value in EUR (e.g. 49.99)"
    }
  },
  "required": [
    "shop",
    "country",
    "cart_value"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "shop": {
      "type": "string"
    },
    "country": {
      "type": "string"
    },
    "cart_value": {
      "type": "number"
    },
    "shipping_cost": {
      "type": "number"
    },
    "free_shipping_threshold": {
      "type": "number"
    },
    "currency": {
      "type": "string"
    }
  },
  "required": [
    "shop",
    "country",
    "cart_value",
    "shipping_cost",
    "currency"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟢find_alternatives_for_product(ean, country)

Given a product's EAN barcode, return every shop that carries it with prices and availability, sorted cheapest-first.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "ean": {
      "type": "string",
      "pattern": "^\\d{8,14}$",
      "description": "EAN barcode (8–14 digits, e.g. '4524667749493')"
    },
    "country": {
      "default": "DE",
      "description": "Country for pricing (DE or AT, default DE)",
      "type": "string",
      "enum": [
        "DE",
        "AT"
      ]
    }
  },
  "required": [
    "ean"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "ean": {
      "type": "string"
    },
    "product_name": {
      "type": "string"
    },
    "alternatives": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "shop": {
            "type": "string"
          },
          "price": {
            "type": "number"
          },
          "currency": {
            "type": "string"
          },
          "availability": {
            "type": "string"
          },
          "affiliate_url": {
            "type": "string",
            "description": "Direct link to buy at this shop."
          }
        },
        "required": [
          "shop",
          "price",
          "currency",
          "affiliate_url"
        ],
        "additionalProperties": false
      }
    },
    "disclosure": {
      "type": "string"
    }
  },
  "required": [
    "ean",
    "product_name",
    "alternatives"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟢resolve_product(url, country)

Turn a product page URL from a supported shop into structured product data — EAN barcode, price, stock status, and a purchase link — so the EAN can then be used with get_best_price or optimize_cart. Multi-variant product families return a labeled candidate list (size/colour, price, EAN per variant): ask the user to pick a variant, then use that exact variant's EAN with the other tools.

Eingabe-Schema

{
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "format": "uri",
      "description": "Product page URL from a supported shop (e.g. 'https://www.rosebikes.de/p/<product-name>-<id>')"
    },
    "country": {
      "default": "DE",
      "description": "Country for pricing (DE or AT, default DE)",
      "type": "string",
      "enum": [
        "DE",
        "AT"
      ]
    }
  },
  "required": [
    "url"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Ausgabe-Schema

{
  "type": "object",
  "properties": {
    "product_name": {
      "type": "string"
    },
    "ean": {
      "type": "string"
    },
    "brand": {
      "type": "string"
    },
    "price": {
      "type": "number"
    },
    "shop": {
      "type": "string"
    },
    "affiliate_url": {
      "description": "Affiliate link for this product.",
      "type": "string"
    },
    "status": {
      "description": "'not_resolved' when the exact variant could not be determined; 'pick_variant' when labeled variant options are returned to choose from.",
      "type": "string"
    },
    "resolved": {
      "type": "boolean"
    },
    "family_url": {
      "description": "Branded /go/ link to the product family page so the user can pick the variant.",
      "type": "string"
    },
    "message": {
      "type": "string"
    },
    "axis": {
      "description": "Variant axis of the options: 'size', 'colour', 'mixed', 'size_name' or 'name'.",
      "type": "string"
    },
    "options": {
      "description": "Variants of ONE product. Ask the user to pick one, then use that variant's EAN.",
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "ean": {
            "type": "string",
            "description": "EAN of this exact variant — use it with get_best_price / optimize_cart."
          },
          "size": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "colour": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "donor_label": {
            "description": "Verbatim variant/product name; use as the choice label when present.",
            "type": "string"
          },
          "product_name": {
            "description": "Verbatim product name for a flat name-axis option; use as the choice label when present.",
            "type": "string"
          },
          "price": {
            "description": "Price at the input shop; null when only a family-level page price exists.",
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ]
          },
          "in_stock": {
            "description": "Stock at the input shop; null when unknown per variant.",
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": [
          "ean"
        ],
        "additionalProperties": false
      }
    },
    "disclosure": {
      "type": "string"
    }
  },
  "required": [
    "product_name",
    "shop"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}

Community

Diesen Server bewerten

Nachweis

Aktuelle Beobachtungen

verifiziertVersion nicht aufgezeichnet7 Tools
verifiziertVersion nicht aufgezeichnet7 Tools