Skip to main content
Glama

watch.diy – DIY Store Finder

Server Details

Product availability and prices at German DIY stores (OBI, Bauhaus, toom, Hornbach…) by postcode

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Uptime
100.0% over the last 24 hours
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
ChatGPT
–
Claude
–

TDQS

A4.1/5.0

Scored across 2 tools

Disambiguation5/5

find_product answers 'which product is this / what does it cost online' while where_to_buy_nearby answers 'which nearby store has it' — two clearly separate questions with an explicit hand-off (use an EAN from find_product). The descriptions even cross-reference each other to steer selection, leaving no realistic path to picking the wrong tool.

Naming Consistency4/5

Both names are lowercase snake_case and self-descriptive, but the conventions differ: find_product is a clean verb_noun, whereas where_to_buy_nearby is an interrogative phrase rather than a verb_noun action. It reads fine and is not confusing, just not a uniform pattern.

Tool Count3/5

Only two tools exist, which is thin even for a narrow domain; there is no way to browse categories, look up a retailer, or resolve a product without a name/EAN/MPN. The two tools are individually well-scoped, but the surface feels minimal rather than deliberately tight.

Completeness4/5

The two core workflows — online product/price lookup and local store availability — are both fully covered, including error, quota and staleness semantics (priceAsOf, partial, unknown status). Minor gaps remain: no category or retailer discovery, no reverse lookup from a store, and no way to broaden a no-match search beyond retrying with a different identifier.

Available Tools

2 tools
find_productFind a product and its prices per chainA
Read-onlyIdempotent
Inspect

Searches watch.diy's index of DIY and garden products at German retailers (OBI, Bauhaus, toom, Hornbach, hagebau, Globus and more) by product name, EAN or manufacturer part number (MPN), and returns up to limit (1-5, default 3) products, best match first. Per product: name, brand, its EANs and per retailer the retailer's product name, its product page url and price with priceAsOf (when the price was read; a price older than 35 days is returned as null with priceNote). Only products the retailers sell themselves and still list online; store availability is not part of this answer: use where_to_buy_nearby with an EAN from here and a German postcode. Also returns match (ean, identifier, hybrid or text: how the query was answered) and a notice. When nothing matches, products is empty and message says what the index covers. Limits: public lookups are limited per client. Errors: invalid_request (names the field and the reason), quota_exceeded (with the minutes until it can be tried again), public_unavailable.

Inputs: query (required), limit. Returns: match, notice, message, products

where_to_buy_nearbyCheck availability at stores near a postcodeA
Read-only
Inspect

Checks the availability of 1-3 products (EANs) at every OBI, Bauhaus, toom, Hornbach, hagebau and Globus store within radiusKm (1-30, default 10) of a German postal code, based on the retailers' pages. Returns per product and retailer: status (read; not_listed_in_our_data = watch.diy knows no listing of this product at that retailer, which may still sell it; no_store_in_radius), the retailer's product name, its product page url, price with priceAsOf (a price older than 35 days is returned as null with priceNote), and stores [{name, city, zip, km, state, updated}]. Store state is one of available, not_available, not_sold_in_store, unknown: available (the retailer's page shows it as available at that store), not_available (the retailer's page shows it as not available at that store; it does not mean the store never carries it), not_sold_in_store (the retailer does not sell it in that store), unknown (no information for that store). updated is "recently" (within the last 24 hours) or a date (YYYY-MM-DD). Also returns partial (true when there is no information for some stores), location {plz, radiusKm} and a notice. Can take a few seconds. Limits: public lookups are limited per client and per day. Errors: invalid_request (names the field and the reason, e.g. an unknown postal code), quota_exceeded (with the minutes until it can be tried again), public_unavailable.

Inputs: plz (required), products (required), radiusKm. Returns: notice, partial, location, products

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      B
      quality
      B
      maintenance
      Enables AI assistants to search the toom.de DIY shop, manage a basket per market, check real stock, find markets and articles nearby, compare products, verify whether items fit a car or doorway, and plan pickup routes. It only reads and prepares data — checkout, payment, and article inquiries remain with the user on toom.de.
      22
      AGPL 3.0
    • A
      license
      Not graded
      quality
      C
      maintenance
      Enables product search, price comparison, and price history analysis across 6 European marketplaces (DE, AT, GB, FR, IT, ES).
      25
      MIT
    Try in Browser

    Glama MCP Gateway

    Add one secure layer between your agents and this server.

    Resources