MCP-Server

storefront

com.mystoq/storefront
Business & Betrieb Commerce & Retail Öffentlich und erreichbar MCP 2026-07-28

Was dieses MCP kann

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.
Nur Lesen Idempotent
Eingabeschema
{'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.
Eingabeschema
{'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.
Eingabeschema
{'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.
Destruktiv Idempotent
Eingabeschema
{'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.
Nur Lesen Idempotent
Eingabeschema
{'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".
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', 'properties': {}}
order_risk
Score the fraud/return risk of an Algerian COD order from its signals (phone, history, etc.) — Mystoq FakeShield logic.
Nur Lesen Idempotent
Eingabeschema
{'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.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', 'properties': {}}
publish
Publish a product (set status=active) so it shows on the storefront. Requires Bearer token. WRITE.
Idempotent
Eingabeschema
{'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.
Nur Lesen Idempotent
Eingabeschema
{'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
Eingabeschema
{'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).
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', 'required': ['wilaya'], 'properties': {'wilaya': {'type': 'string', 'description': 'Destination wilaya: slug, name or number (e.g. "oran", "Alger", "31").'}}}
Hinzugefügt
delete_product
17. September 2026 12:36
Hinzugefügt
publish
17. September 2026 12:36
Hinzugefügt
set_price
17. September 2026 12:36
Hinzugefügt
create_product
17. September 2026 12:36
Hinzugefügt
create_store
17. September 2026 12:36
Hinzugefügt
order_risk
17. September 2026 12:36
Hinzugefügt
yalidine_delivery
17. September 2026 12:36
Hinzugefügt
cod_profit
17. September 2026 12:36
Hinzugefügt
platform_stats
17. September 2026 12:36
Hinzugefügt
list_plans
17. September 2026 12:36
Hinzugefügt
get_store
17. September 2026 12:36
Hinzugefügt
search_stores
17. September 2026 12:36