Raneen catalogue API and MCP server

Search the catalogue of www.raneen.com and read prices (EGP) and stock, in Arabic or English. Read-only, no sign-in.

MCP server

Endpoint: https://mcp.raneen.com/mcp (Streamable HTTP, stateless, JSON responses). Protocol versions 2026-07-28, 2025-11-25 and 2025-06-18. No authentication.

Server card: /mcp/server-card.

Tools

ToolWhat it does
search_productsFinds in-stock products by words in Arabic or English, with price, stock and a store link. Inputs: query (required), language (ar or en), min_price, max_price, category_id, sort (relevance, price_asc, price_desc), page (1-5), page_size (1-20).
get_productOne product by sku: price, original price, stock, seller, warranty, colour, images, category paths, description (Arabic) and offers.
list_categoriesDepartments, or the sub-categories of parent_id, down to 3 levels, with names and links in the chosen language.

Connect a client

Most MCP clients take the URL directly. For example, a JSON client configuration:

{
  "mcpServers": {
    "raneen": { "type": "http", "url": "https://mcp.raneen.com/mcp" }
  }
}

Or with Claude Code: claude mcp add --transport http raneen https://mcp.raneen.com/mcp

REST API

Base URL https://mcp.raneen.com/v1/, described by the OpenAPI 3.1 document at /openapi.json. Each endpoint returns exactly what the matching tool returns.

EndpointTool
GET /v1/search?query=...search_products
GET /v1/products/{sku}get_product
GET /v1/categorieslist_categories
curl 'https://mcp.raneen.com/v1/search?query=bosch+dishwasher&language=en&sort=price_asc'
curl 'https://mcp.raneen.com/v1/products/RAN-6JYX3V2-CONF?language=en'
curl 'https://mcp.raneen.com/v1/categories?language=en'

A search result:

{
  "query": "bosch dishwasher", "language": "en", "corrected_query": null,
  "page": 1, "page_size": 10, "total_results": 37, "has_more": true,
  "products": [
    {
      "sku": "RAN-6JYX3V2-CONF", "name": "Bosch Series 6 Dishwasher 14 Place, 60cm, 6 Programs, Silver Inox",
      "brand": "Bosch", "price": 45999, "original_price": 52999, "discount_percent": 13,
      "currency": "EGP", "in_stock": true,
      "url": "https://www.raneen.com/en/ran-6jyx3v2-conf", "image_url": "https://www.raneen.com/media/catalog/product/..."
    }
  ],
  "note": "Prices and stock come from Raneen's search index, usually updated within minutes, and at least daily for all products; the product page and checkout are authoritative."
}

Data and freshness

Limits

Limits are per client address. Responses carry RateLimit-Policy and RateLimit headers; a refused request gets 429 with Retry-After.

OperationPer client
Search30 per minute, 600 per day
Product60 per minute
Categories60 per minute

The service also has an overall budget; when it is spent, requests get 503 with Retry-After.

Errors

REST errors are application/problem+json (RFC 9457) with title, status, detail, and for invalid input an errors list naming the fields. MCP tools report the same failures as tool errors (isError: true) with the same message.

StatusMeaning
400The input is not valid.
404No such product, category or endpoint.
429Too many requests from this client; wait Retry-After seconds.
502, 504The search index refused or did not answer in time; retry.
503Busy, unavailable or switched off; wait Retry-After seconds.

بالعربية

ابحث في كتالوج رنين واقرأ الأسعار بالجنيه المصري وحالة التوفر، بالعربية أو بالإنجليزية. الخدمة للقراءة فقط ولا تحتاج تسجيل دخول.

خادم MCP

العنوان: https://mcp.raneen.com/mcp (Streamable HTTP). الأدوات: search_products للبحث عن المنتجات المتوفرة، وget_product لتفاصيل منتج واحد، وlist_categories للأقسام وفروعها.

واجهة REST

العنوان الأساسي https://mcp.raneen.com/v1/ ووصفها في /openapi.json.

curl 'https://mcp.raneen.com/v1/search?query=غسالة+صحون+بوش'

البيانات

تأتي الأسعار والمخزون من فهرس البحث في رنين وتُحدَّث عادة خلال دقائق، وعلى الأقل يوميا لجميع المنتجات، وتبقى صفحة المنتج وصفحة الدفع هما المرجع. يعرض البحث المنتجات المتوفرة فقط.

الحدود

لكل عميل: 30 عملية بحث في الدقيقة و600 في اليوم، و60 طلب منتج في الدقيقة، و60 طلب أقسام في الدقيقة. عند تجاوز الحد يعود الرد 429 مع Retry-After.