JustIdea Prestashop DEMO exposes its catalogue to AI agents and integrators. Everything below is read-only: nothing writes a cart, an order or customer data.
OpenAPI 3.1 specification · llms.txt · status
Any product, category or CMS page returns Markdown when requested with Accept: text/markdown. The home page returns the store overview.
curl -H "Accept: text/markdown" https://prestashop.justidea.dev/JSON-RPC 2.0 over POST at https://prestashop.justidea.dev/agent/mcp. Requires a bearer token — see auth.md.
curl -X POST https://prestashop.justidea.dev/agent/mcp \\n -H "Authorization: Bearer <token>" \\n -H "Content-Type: application/json" \\n -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'| Tool | Description | Parameters |
|---|---|---|
search_products | Search the store catalogue by keyword, category, stock status or price order. Returns name, price, availability and product URL. Read-only. | query, category_id, in_stock_only, sort, limit, offset |
get_product | Full detail for one product: description, specifications, categories, price, stock, brand and identifiers. Read-only. | product_id |
list_categories | The store category tree with live product counts per category. Use the returned ids to narrow search_products. Read-only. | max_depth, only_stocked |
check_availability | Current stock and price for up to 50 products at once. Use this to re-verify before quoting a customer. Read-only. | product_ids |
get_shipping_options | Carriers, price ranges and delivery estimates for a destination country, plus the free-shipping threshold if one is configured. Returns ranges, not a binding quote. Read-only. | country_code |
get_policies | Store policy pages — returns, shipping, payment, terms, privacy, contact. Pass a topic for the full text of matching pages. Read-only. | topic |
No SDK is required — the surface is plain HTTP. These are complete, working calls.
import requests\n\n# Store overview, no credentials needed\noverview = requests.get("https://prestashop.justidea.dev/llms.txt").text\n\n# Any page as Markdown\npage = requests.get("https://prestashop.justidea.dev/", headers={"Accept": "text/markdown"}).text\n\n# Search the catalogue over MCP\nr = requests.post(\n "https://prestashop.justidea.dev/agent/mcp",\n headers={"Authorization": "Bearer <token>"},\n json={"jsonrpc": "2.0", "id": 1, "method": "tools/call",\n "params": {"name": "search_products",\n "arguments": {"query": "shirt", "limit": 5}}},\n)\nif r.status_code == 429:\n wait = int(r.headers.get("Retry-After", 60)) # honour the throttle\nproducts = r.json()["result"]["structuredContent"]["products"]const overview = await (await fetch("https://prestashop.justidea.dev/llms.txt")).text();\n\nconst res = await fetch("https://prestashop.justidea.dev/agent/mcp", {\n method: "POST",\n headers: { Authorization: "Bearer <token>", "Content-Type": "application/json" },\n body: JSON.stringify({ jsonrpc: "2.0", id: 1, method: "tools/list" }),\n});\nconsole.log(res.headers.get("RateLimit-Remaining")); // pace yourself\nconst { result } = await res.json();RateLimit-Limit, RateLimit-Remaining and RateLimit-Reset. On 429, wait Retry-After seconds.API-Version and Deprecation: false. Version 1 is current and not deprecated.Deprecation and Sunset headers (RFC 8594 / RFC 9745) with at least 180 days between them. Breaking changes get a new version; additive ones do not.Idempotency-Key and it is echoed back. Every operation is a read, so retrying is safe with or without it.503 carries Retry-After. Everything here is read-only and idempotent, so retrying is always safe.lastmod; use it to decide what to re-fetch instead of re-crawling.When the request accepts JSON, errors carry a stable error.code.
| Status | code | Meaning |
|---|---|---|
| 400 | bad_request | Bad parameters. |
| 401 | unauthorized | Missing or wrong token; see resource_metadata. |
| 403 | forbidden | This store denied your agent. |
| 404 | not_found | Absent or switched off. |
| 429 | rate_limited | Wait retry_after seconds. |
| 503 | unavailable | Temporary; retry with backoff. |
Served by AgentReady, a PrestaShop module by JustIdea Agency. Module version 1.0.2.