migros-mcp
Unofficial read-only MCP server for Turkish Migros Sanal Market, enabling product search, product details, categories, Money-discount promotions, and price statistics from Migros's public catalogue.
Search products by Turkish keyword, with pagination and sorting by relevance, best seller, discount, discount amount, price ascending, or price descending.
Fetch full details for a single product using its numeric product ID from search results.
List top-level Migros store categories with IDs, names, and link slugs.
List Money-discounted products for a keyword, ordered by best discount first.
Compute price statistics for a keyword's first search page: min, median, max, mean, cheapest, and priciest products.
Prices are in Turkish Lira (TRY); Money discount percentage is a loyalty discount, not a shelf-price cut.
Read-only, no API key or login; does not provide store lookup or delivery slots.
Click on "Deploy 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., "@migros-mcp find the cheapest olive oil on Migros"
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.
migros-mcp 🇹🇷
mcp-name: io.github.mohammad-abbasi-sh/migros-mcp
Unofficial read-only MCP server for Migros Sanal Market (migros.com.tr), Türkiye's largest supermarket chain — live product search, prices, Money-discount promotions, categories and price stats.
Part of the "Turkey MCP factory". Not affiliated with Migros. Note: this is the Turkish Migros (migros.com.tr) — not the Swiss Migros, which has its own unrelated
migros-mcpon npm. Price comparison across chains is covered byyibudak/marketfiyati_mcp(marketfiyati.org.tr); this server covers Migros's own catalogue, promos and categories.
For AI agents
Add to your MCP client config (stdio):
{
"mcpServers": {
"migros": {
"command": "uvx",
"args": ["migros-mcp==0.1.1"]
}
}
}Or run locally: python -m migros_mcp.server (needs mcp<2, curl-cffi).
Related MCP server: Market Fiyatı MCP Server
Tools
Tool | Description |
| Search products — |
| Full detail for one product — |
| Top-level store categories (11) |
| Money-discounted products for a keyword, best discount first |
| Price stats (min/median/max/mean, cheapest & priciest) for a keyword |
Example output (migros_search_products / "süt", price_asc):
{"query": "süt", "hit_count": 371, "page_count": 13, "count": 36,
"products": [{"id": 20000011010208, "name": "Sütaş Latte 1 L",
"brand": "Sütaş", "category": "Uzun Ömürlü Süt",
"price_tl": 189.0, "money_discount_pct": 0, ...}]}Notes:
Prices are Turkish Lira (TRY); the API reports kuruÅŸ (1/100 TRY).
money_discount_pctis the Money-loyalty discount percentage, not a strikethrough — the shelf price is what a guest pays.The first search result is often a sponsored/pinned product; the rest follow the requested sort.
Data: Migros's public
product-bffJSON API (migros.com.tr/rest/product-bff) — no key, no login, read-only.Store lookup and delivery slots need an authenticated session, so this server does not offer them.
Development
python3 -m venv .venv && .venv/bin/pip install "mcp<2" curl-cffi pytest
.venv/bin/python -m pytest tests/ -qtests/test_products.py— offline, parses real captured API fixturestests/test_live.py— 4 cautious live requests against migros.com.tr
License
MIT
Built by Mohammad Abbasi — Almanibama · mabbasi.ir
Available Tools
5 toolsmigros_get_productA
Full detail for one Migros product by numeric id (from search results).
Inputs: product_id (required). Returns: result
migros_list_categoriesB
Top-level Migros store categories (id, name, link slug).
Inputs: no named parameters. Returns: result
migros_list_promotionsA
Discounted (Money-indirimli) products for a keyword, best discount first. query: e.g. "süt", "çay", "deterjan". money_discount_pct is the Money-loyalty discount, not a price cut — see the server instructions.
Inputs: query (required), limit. Returns: result
migros_price_statsA
Price statistics (min/median/max/mean, cheapest & priciest) for a keyword's first page of Migros search results (up to 36 products).
Inputs: query (required). Returns: result
migros_search_productsA
Search Migros products by keyword (Turkish, e.g. "süt", "ekmek"). sort: relevance | best_seller | discount | discount_amount | price_asc | price_desc. Returns up to 36 products per page with prices in TRY.
Inputs: query (required), page, sort. Returns: result
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 5 tools
The tools are mostly distinct, but migros_search_products with discount-related sort options overlaps conceptually with migros_list_promotions. Descriptions help differentiate general search from Money-discount-specific promotions, while get_product, categories, and price_stats are clearly separate.
All tools use the migros_ prefix and snake_case, which is consistent. Four follow a verb_noun pattern, with migros_price_stats being a noun-only minor deviation.
Five tools are well-scoped for a product search/catalog/price-information server. Each tool has a clear role, and the set avoids unnecessary bloat.
Core capabilities like product search, product detail, categories, promotions, and price statistics are present. However, migros_list_categories is a dead end without a tool to fetch products by category, and search/price stats are limited to the first page of up to 36 results without explicit pagination control.
Maintenance
Related MCP Connectors
Product Barcode API - camgoz.net: Provides information on products available in markets across.
Read-only Tudetic product search and vehicle compatibility with safe public pricing.
Read-only shopping decisions, product search, offers, and price history for Greece.
Prices in 31 Israeli supermarket chains by barcode. Free search; API key or x402 pay-per-call.
Related MCP Servers
- AlicenseAqualityDmaintenanceEnables querying Turkish market prices, searching products, and comparing prices across different stores using the Market Fiyatı API.35 npm36MIT
- FlicenseNot gradedqualityDmaintenanceEnables searching and comparing grocery prices from Turkish markets via marketfiyati.org.tr.5-
- AlicenseAqualityCmaintenanceRead-only MCP server for Greek supermarket product and price data from PosoKanei. Enables product search, barcode lookup, price comparison across retailers, and basket evaluation.1049 npm5MIT
- AlicenseCqualityBmaintenanceEnables Claude or any MCP client to search the Migros catalogue, check offers and stores, and read your own Cumulus data and receipts, with read-only defaults and explicit confirmation for account-changing actions.105MIT