Skip to main content
Glama

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-mcp on npm. Price comparison across chains is covered by yibudak/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

migros_search_products

Search products — query (Turkish, e.g. "süt"), page, sort: relevance / best_seller / discount / discount_amount / price_asc / price_desc

migros_get_product

Full detail for one product — product_id (numeric, from search)

migros_list_categories

Top-level store categories (11)

migros_list_promotions

Money-discounted products for a keyword, best discount first

migros_price_stats

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_pct is 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-bff JSON 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/ -q
  • tests/test_products.py — offline, parses real captured API fixtures

  • tests/test_live.py — 4 cautious live requests against migros.com.tr

License

MIT


Built by Mohammad Abbasi — Almanibama · mabbasi.ir

Available Tools

5 tools
migros_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

    A3.6/5.0

    Scored across 5 tools

    Disambiguation4/5

    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.

    Naming Consistency4/5

    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.

    Tool Count5/5

    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.

    Completeness3/5

    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

    ActivityMaintained
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers