Czech DIY Retail MCP Server
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Czech DIY Retail MCP ServerCompare prices for Makita drill across all retailers"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Czech DIY Retail MCP Server (czech-diy-mcp)
Model Context Protocol (MCP) server for Czech DIY retail discovery. The server uses live current retailer pages for BAUHAUS CZ, HORNBACH CZ, OBI CZ and Baumax CZ.
Release status
1.0.0 is the production release. Live product search/detail is implemented for all four retailers; BAUHAUS and OBI expose live store stock, HORNBACH exposes qualitative store offers where present, and Baumax store stock is explicitly NOT_SUPPORTED.
Česká dokumentace
czech-diy-mcp je read-only MCP server pro vyhledávání zboží v českých hobby marketech a stavebninách. Nabízí jednotné rozhraní pro BAUHAUS CZ, HORNBACH CZ, OBI CZ a Baumax CZ.
Server poskytuje:
vyhledávání produktů, cen a kategorií;
detail produktu včetně technických parametrů, EAN/GTIN a obrázků, pokud jsou dostupné;
seznam prodejen;
dostupnost produktu v konkrétní prodejně;
porovnání cen mezi podporovanými prodejci.
Veřejné MCP nástroje jsou search_products, get_product, list_stores, get_stock a compare_price. Primární transport je Streamable HTTP na /mcp; kontrola dostupnosti aplikace je na /healthz.
Rychlé spuštění
uv sync --extra dev
uv run python -m czech_diy_mcp --transport http --port 8000Poté je MCP server dostupný na http://localhost:8000/mcp a health endpoint na http://localhost:8000/healthz.
Docker
docker build -t czech-diy-mcp:1.0.0 .
docker run --rm -p 8000:8000 czech-diy-mcp:1.0.0Důležitá pravidla dostupnosti
Pokud prodejce neposkytne spolehlivý údaj o skladovosti, server vrací UNKNOWN nebo NOT_SUPPORTED. Chybějící množství se nikdy nepřevádí na nulu a server nevymýšlí stav skladu. Skladová data jsou pouze okamžitý údaj a mohou se mezi jednotlivými požadavky změnit.
Server neprovádí objednávky, nepřidává zboží do košíku, nepřihlašuje zákazníky, nezpracovává platby a neřeší CAPTCHA ani jiné interaktivní výzvy.
Bezpečnost provozu
Server nepřijímá libovolné URL a používá pouze pevně definované domény prodejců. Přesto MCP endpoint nevystavujte přímo do veřejného internetu bez TLS, autentizace, rate limitu a firewallu. Podrobnosti jsou v Operations Manual a Security Policy.
Related MCP server: Shoptera Product Intelligence
1. Retailer Support Matrix
Retailer | Priority | Search | Details | Stores | Stock | Quantity |
BAUHAUS CZ | P0 (Primary) | ✅ | ✅ | ✅ | ✅ | Exact numerical stock exposed ( |
HORNBACH CZ | P1 | ✅ live | ✅ live | ✅ live | ✅ live/unknown | JSON-LD stock offers where exposed |
OBI CZ | P2 | ✅ live | ✅ live | ✅ live | ✅ live | quantity/status parsed from the selected store page |
Baumax CZ | P3 | ✅ live | ✅ live | ✅ live |
| retailer exposes no reliable store stock API |
DEK | P4 | 🔮 Future | 🔮 Future | 🔮 Future | 🔮 Future | 🔮 Future |
2. MCP Tools
The server exposes five normalized MCP tools:
search_products(query, retailer="all", max_price=None, max_results=20)Search all live-enabled retailers in production.
get_product(retailer, product_id)Retrieve full product details, GTIN/EAN, specifications, and manufacturer info.
list_stores(retailer, query=None)List physical store locations matching an optional query string (city, postcode, name).
get_stock(retailer, product_id, store_id)Query store-specific physical stock availability with maximum 60s cache TTL.
compare_price(query, retailers=None, max_results_per_retailer=10)Compare prices across all four currently enabled retailer adapters; results include per-retailer errors and do not invent unavailable stock.
3. Installation & Local Development
Requirements
Python 3.12+
Setup
uv sync --extra dev4. Operational Commands & Testing
Run Tests with 100% Line & Branch Coverage
uv run pytest -m "not smoke and not container" --cov=czech_diy_mcp --cov-branch --cov-report=term-missing --cov-fail-under=100Run Live Retailer Smoke Suite
pytest -m smokeCode Formatting & Type Checking
uv run ruff check .
uv run ruff format --check .
uv run pyrightMutation testing for critical parsing and comparison logic:
python scripts/run_mutation_audit.py5. Running the MCP Server
Streamable HTTP (Default)
python -m czech_diy_mcp --transport http --port 8000MCP endpoint:
POST /mcpHealth check:
GET /healthz
Stdio Transport
python -m czech_diy_mcp --transport stdio6. Docker Deployment
Build Image
docker build -t czech-diy-mcp .Run Container
docker run -d -p 8000:8000 --name czech-diy-mcp czech-diy-mcpDocker Compose
docker compose up -d7. Configuration
Environment variables (or .env file):
Variable | Default | Description |
|
| Bind host for HTTP server |
|
| Bind port for HTTP server |
|
| MCP endpoint path |
|
| Maximum search results per retailer |
|
| HTTP request timeout in seconds |
|
| Search cache TTL (seconds) |
|
| Product detail cache TTL (seconds) |
|
| Stock lookup cache TTL (seconds) |
|
| Store list cache TTL (seconds) |
|
| Max concurrent requests per retailer |
8. Architecture
MCP Client
│
▼
┌───────────────┐
│ MCP Server │
│ server.py │
└───────┬───────┘
│
▼
┌───────────────┐
│ Service Layer │
│ catalog.py │
└───────┬───────┘
│
┌─────────────────┼──────────────────┐
│ │ │
▼ ▼ ▼
BAUHAUS HORNBACH OBI
Adapter Adapter Adapter9. License
10. Documentation
Additional release documentation is maintained in docs/:
Architecture — application boundaries, adapters, data flow and normalized models.
Operations Manual — deployment, health checks, configuration, logs and incident handling.
Development and Testing — local workflow, fixtures, quality gates and live smoke tests.
Release Checklist — reproducible release procedure and acceptance criteria.
11. Data and availability policy
The server is read-only. It never places orders, adds products to baskets, authenticates users, solves challenges or accepts arbitrary URLs.
Retailer data is request-time data and may change between calls. UNKNOWN means that the retailer did not provide a reliable signal; it is never converted to OUT_OF_STOCK, and an absent quantity is never converted to zero. fetched_at is returned with normalized records.
BAUHAUS is the primary production adapter. HORNBACH and OBI provide live catalogue/store integrations; their stock precision depends on the signal exposed by the Czech site. Baumax store stock is intentionally NOT_SUPPORTED where no reliable upstream signal exists.
12. Release limitations
Retailer pages can rate-limit or challenge automated requests. Such responses are surfaced as structured errors.
Stock is inherently volatile and is cached for at most the configured stock TTL (60 seconds by default).
Exact quantity is returned only when the retailer explicitly exposes it.
The in-memory cache is process-local and is not a shared distributed cache.
DEK is reserved for a future adapter.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseAqualityBmaintenanceSearch for products available in physical stores near you. Find prices, stock, and store locations for hardware, tools, and construction supplies. Useful when you need something today and can't wait for delivery. 5 tools: search products, search stores, get product details, get store details, list categories. No authentication required. Covers ~2400 products across ~4000 stores in Spain.181Apache 2.0
- AlicenseNot gradedqualityDmaintenanceSearch product catalogs across thousands of Central European e-shops. Semantic search, keyword matching, GTIN/EAN lookup — via REST API or MCP. \~2,500 e-shops | ~8.5M products | 7 countries (CZ, SK, PL, HU, RO, DE, AT)MIT
- FlicenseAqualityCmaintenanceEnables searching Canadian Tire's product catalogue, checking product details, store-level stock, and finding nearby stores.4

idealo MCP Serverofficial
AlicenseNot gradedqualityFmaintenanceEnables product search, price comparison, and price history analysis across 6 European marketplaces (DE, AT, GB, FR, IT, ES).15MIT
Related MCP Connectors
Search ~8.5M products from 2,500+ Central European e-shops. Semantic, keyword, GTIN lookup.
Read-only shopping decisions, product search, offers, and price history for Greece.
Shopping search across 100M+ products, with every retailer's offer and live price in one place.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/uskaritel/czech-diy-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server