Serveur MCP

storefront

com.mystoq/storefront
Entreprise et opérations Commerce et retail Public et accessible MCP 2026-07-28

Ce que fait ce MCP

Supports discovery and management of Algerian cash-on-delivery stores, including products, pricing, publishing, delivery estimates, fraud risk, and COD profitability.

cod_profit
Compute true CAC and net cash-on-delivery profit for an Algerian online store, accounting for the return/refusal rate. Returns base and confirmation-call scenarios.
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', 'required': ['selling_price', 'product_cost', 'ad_cost_per_order'], 'properties': {'return_cost': {'type': 'number', 'description': 'DZD lost per refused/returned parcel (default 600).'}, 'product_cost': {'type': 'number', 'description': 'Product cost (DZD).'}, 'selling_price': {'type': 'number', 'description': 'Selling price per order (DZD).'}, 'return_rate_pct': {'type': 'number', 'description': 'Percent of confirmed orders refused/undelivered (e.g. 25 for 25%).'}, 'ad_cost_per_order': {'type': 'number', 'description': 'Ad spend to acquire one confirmed order (DZD).'}}}
create_product
Create a product in the authenticated merchant's store. Requires Bearer token. WRITE.
Schéma d’entrée
{'type': 'object', 'required': ['name', 'price'], 'properties': {'name': {'type': 'string', 'description': 'Product name.'}, 'price': {'type': 'number', 'description': 'Price in DZD.'}, 'stock': {'type': 'integer', 'description': 'Stock quantity (optional).'}, 'status': {'type': 'string', 'description': 'active | draft | archived (default draft).'}, 'is_demo': {'type': 'boolean', 'description': 'Mark as an ephemeral demo product (server auto-deletes it after auto_delete_at).'}, 'description': {'type': 'string', 'description': 'Description.'}, 'translations': {'type': 'object', 'description': 'Optional {ar|fr|en:{name,description}}.'}, 'compare_price': {'type': 'number', 'description': 'Strikethrough/old price (optional).'}, 'auto_delete_at': {'type': 'string', 'description': 'ISO timestamp after which a demo product is auto-deleted server-side.'}}}
create_store
Register a NEW Mystoq store (tenant). Returns the store id, slug and an access token. No auth needed. WRITE.
Schéma d’entrée
{'type': 'object', 'required': ['name', 'email', 'password', 'phone'], 'properties': {'name': {'type': 'string', 'description': 'Store name.'}, 'slug': {'type': 'string', 'description': 'Desired store address, the <slug>.mystoq.com part. Optional: derived from the store name when omitted. Latin letters, digits and hyphens, 3-30 chars.'}, 'email': {'type': 'string', 'description': 'Owner email.'}, 'phone': {'type': 'string', 'description': 'Owner phone in Algeria (e.g. 0555123456). Required — a cash-on-delivery store cannot take an order without one.'}, 'password': {'type': 'string', 'description': 'Account password (min 8).'}, 'wilaya_id': {'type': 'integer', 'description': 'Wilaya code 1-69 (optional).'}}}
delete_product
Delete a product from the authenticated store (reversible cleanup — used by the agent's ephemeral live-demo). Requires Bearer token; only the owner's own product. WRITE/DESTRUCTIVE.
Destructif Idempotent
Schéma d’entrée
{'type': 'object', 'required': ['product_id'], 'properties': {'product_id': {'type': 'integer', 'description': 'Product id to delete.'}}}
get_store
Get a public Mystoq store by its slug: name, wilaya, storefront URL, plan tier and member-since. Public info only.
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', 'required': ['slug'], 'properties': {'slug': {'type': 'string', 'description': 'Store slug, e.g. "islem-uk".'}}}
list_plans
List Mystoq subscription plans with monthly/yearly/lifetime prices (DZD) — useful to answer "how much does Mystoq cost".
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', 'properties': {}}
order_risk
Score the fraud/return risk of an Algerian COD order from its signals (phone, history, etc.) — Mystoq FakeShield logic.
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', 'properties': {'hour': {'type': 'integer', 'description': 'Hour the order was placed, 0-23.'}, 'name': {'type': 'string', 'description': 'Customer full name.'}, 'phone': {'type': 'string', 'description': 'Customer phone (Algerian mobile).'}, 'wilaya': {'type': 'string', 'description': 'Destination wilaya.'}, 'address': {'type': 'string', 'description': 'Delivery address.'}}}
platform_stats
Mystoq network statistics: number of active stores and wilayas covered.
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', 'properties': {}}
publish
Publish a product (set status=active) so it shows on the storefront. Requires Bearer token. WRITE.
Idempotent
Schéma d’entrée
{'type': 'object', 'required': ['product_id'], 'properties': {'product_id': {'type': 'integer', 'description': 'Product id to publish.'}}}
search_stores
Search the public Mystoq store directory (Algerian online shops). Filter by keyword (store name), wilaya, or plan. Returns store name, wilaya, storefront URL and plan tier. Public business listings only — no merchant personal data.
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', 'properties': {'limit': {'type': 'integer', 'description': 'Max results (1-25, default 12).'}, 'query': {'type': 'string', 'description': 'Keyword in the store name.'}, 'offset': {'type': 'integer', 'description': 'Pagination offset (default 0).'}, 'wilaya': {'type': 'string', 'description': 'Wilaya filter: code (1-69) or name (e.g. "16", "Alger", "الجزائر").'}}}
set_price
Update a product's price (and optional compare_price) in the authenticated store. Requires Bearer token. WRITE.
Idempotent
Schéma d’entrée
{'type': 'object', 'required': ['product_id', 'price'], 'properties': {'price': {'type': 'number', 'description': 'New price in DZD.'}, 'product_id': {'type': 'integer', 'description': 'Product id.'}, 'compare_price': {'type': 'number', 'description': 'Optional old/compare price.'}}}
yalidine_delivery
Estimate delivery success/return rate and typical delivery time for a destination wilaya in Algeria (region-based network estimate).
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', 'required': ['wilaya'], 'properties': {'wilaya': {'type': 'string', 'description': 'Destination wilaya: slug, name or number (e.g. "oran", "Alger", "31").'}}}
Ajouté
delete_product
17 September 2026 12:36
Ajouté
publish
17 September 2026 12:36
Ajouté
set_price
17 September 2026 12:36
Ajouté
create_product
17 September 2026 12:36
Ajouté
create_store
17 September 2026 12:36
Ajouté
order_risk
17 September 2026 12:36
Ajouté
yalidine_delivery
17 September 2026 12:36
Ajouté
cod_profit
17 September 2026 12:36
Ajouté
platform_stats
17 September 2026 12:36
Ajouté
list_plans
17 September 2026 12:36
Ajouté
get_store
17 September 2026 12:36
Ajouté
search_stores
17 September 2026 12:36