Agent & developer documentation

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

Endpoints

DocumentURL
llms.txthttps://prestashop.justidea.dev/llms.txt
llms-full.txthttps://prestashop.justidea.dev/llms-full.txt
Agent sitemaphttps://prestashop.justidea.dev/agent-sitemap.xml
OAuth Protected Resource Metadata (RFC 9728)https://prestashop.justidea.dev/.well-known/oauth-protected-resource
MCP Server Card (draft SEP-1649)https://prestashop.justidea.dev/.well-known/mcp/server-card.json
MCP endpointhttps://prestashop.justidea.dev/agent/mcp
Markdown rendererhttps://prestashop.justidea.dev/agent/md
API Catalog (RFC 9727)https://prestashop.justidea.dev/.well-known/api-catalog
OAuth Authorization Server Metadata (RFC 8414)https://prestashop.justidea.dev/.well-known/oauth-authorization-server
auth.md (agent registration)https://prestashop.justidea.dev/auth.md
OpenAPI 3.1 specificationhttps://prestashop.justidea.dev/.well-known/openapi.json
Developer portalhttps://prestashop.justidea.dev/agent/docs
Developer portal (/developers)https://prestashop.justidea.dev/developers
Developer portal (/api-docs)https://prestashop.justidea.dev/api-docs
Developer portal (/api-reference)https://prestashop.justidea.dev/api-reference
Developer portal (/console)https://prestashop.justidea.dev/console
AI catalog (ARD)https://prestashop.justidea.dev/.well-known/ai-catalog.json
MCP manifest (/.well-known/mcp)https://prestashop.justidea.dev/.well-known/mcp
REST product list (paginated)https://prestashop.justidea.dev/agent/products
REST category listhttps://prestashop.justidea.dev/agent/categories
Status endpointhttps://prestashop.justidea.dev/agent/status
Agent Skills indexhttps://prestashop.justidea.dev/.well-known/agent-skills/index.json

Markdown instead of HTML

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/

MCP endpoint

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"}'
ToolDescriptionParameters
search_productsSearch 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_productFull detail for one product: description, specifications, categories, price, stock, brand and identifiers. Read-only.product_id
list_categoriesThe store category tree with live product counts per category. Use the returned ids to narrow search_products. Read-only.max_depth, only_stocked
check_availabilityCurrent 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_optionsCarriers, 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_policiesStore policy pages — returns, shipping, payment, terms, privacy, contact. Pass a topic for the full text of matching pages. Read-only.topic

Code samples

No SDK is required — the surface is plain HTTP. These are complete, working calls.

Python

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"]

JavaScript

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();

Running against this store

Errors

When the request accepts JSON, errors carry a stable error.code.

StatuscodeMeaning
400bad_requestBad parameters.
401unauthorizedMissing or wrong token; see resource_metadata.
403forbiddenThis store denied your agent.
404not_foundAbsent or switched off.
429rate_limitedWait retry_after seconds.
503unavailableTemporary; retry with backoff.

Served by AgentReady, a PrestaShop module by JustIdea Agency. Module version 1.0.2.