# Sapo Muse connector

From musedirectory.ai, the independent directory of Meta Muse connectors. Not affiliated with Meta.

## Sapo

Manage your Sapo store products, orders, customers and stock levels

- Record: https://musedirectory.ai/connector/sapo
- Category: Shopping & Commerce
- Developer: usefulapi (https://usefulapi.io/sapo/)
- Muse status: Extra setup. Not in Muse's Connectors list yet. Muse can still use it: its page gives you a request to paste into Muse.
- Health: Working, 781ms, checked 2026-10-30T00:21:20Z
- Endpoint: https://sapo.usefulapi.io/mcp
- Auth: No account needed; Pricing: unknown
- Screening: Screened, no issues found (2026-10-30T00:21:20Z)
- Source: Found in the official MCP Registry (io.usefulapi/sapo) https://registry.modelcontextprotocol.io/v0/servers?search=io.usefulapi%2Fsapo

Connect to your Sapo e-commerce store to read and edit products, variants, orders, customers, inventory levels and price rules. Update order notes and tags, and adjust stock quantities at your locations.

Example request: "Show me all unpaid orders from this week and let me add a note to one of them."

How to connect: Not in Muse's Connectors list yet, but Muse can still use it. Paste this into Muse: "Use Sapo to help me. It is a free service with an MCP server at https://sapo.usefulapi.io/mcp. It does not need an API key. Ask me before you share anything with it." Muse asks before it shares anything with the app's site. Meta does not review apps used this way, so only use ones you trust. We tested this in the Muse app on September 24, 2026: Muse used an app's link directly this way and returned a live answer.

Tools:
- sapo_get_store: The Sapo store this login belongs to: name, domain, currency, timezone, plan and other settings. GET /admin/store.json.
- sapo_list_products: List products with their variants, prices, SKUs and images. Filter by name, vendor, type, collection or created/modified dates. Paged: pass next_page as page. GET /admin/products.json.
- sapo_count_products: Number of products matching the filters. GET /admin/products/count.json.
- sapo_get_product: One product by id, with variants and images. GET /admin/products/{id}.json.
- sapo_list_product_variants: The variants (size, color, SKU, barcode, price) of one product. Paged. GET /admin/products/{product_id}/variants.json.
- sapo_get_product_variant: One product variant by id. GET /admin/variants/{id}.json.
- sapo_list_custom_collections: List manual product collections (danh mục thủ công). Paged. GET /admin/custom_collections.json.
- sapo_list_orders: List orders with line items, customer, totals, payment and fulfillment status. Filter by status, tag, customer or dates. Paged: pass next_page as page. GET /admin/orders.json.
- sapo_count_orders: Number of orders matching the filters. GET /admin/orders/count.json.
- sapo_get_order: One order by id with line items, addresses, discounts, payment and shipping. GET /admin/orders/{id}.json.
- sapo_list_order_transactions: The payment transactions recorded on one order. GET /admin/orders/{order_id}/transactions.json.
- sapo_list_customers: List customers with contact details, addresses, order count and total spent. Paged. GET /admin/customers.json.
- sapo_count_customers: Total number of customers. GET /admin/customers/count.json.
- sapo_get_customer: One customer by id. GET /admin/customers/{id}.json.
- sapo_list_locations: List branches, stores and warehouses (id, name, address, whether they track stock). Use the ids for stock levels. Paged. GET /admin/locations.json.
- sapo_list_inventory_items: List inventory items (one per variant) by SKU/barcode search, variant or product ids. The id is what stock levels use as inventory_item_id. Paged. GET /admin/inventory_items.json.
- sapo_list_inventory_levels: Stock per item and location: on_hand, available, committed, incoming, reserved. Filter by inventory item or location ids, or by a minimum/maximum available quantity. Sapo documents no paging for this list, so narrow it with ids. GET /admin/inventory_levels.json.
- sapo_list_price_rules: List discount price rules (percentage, fixed amount, fixed price) with validity dates and usage counts. Paged. GET /admin/price_rules.json.
- sapo_update_order: WRITE: set the note and/or the tags of an order (Sapo only lets an order's items and quantities stay fixed after creation). The value REPLACES the existing note or tags: read the order first to keep what is there. PUT /admin/orders/{id}.json.
- sapo_set_inventory_level: WRITE: set the physical stock (on_hand) of one inventory item at one location to an exact quantity, with a reason. This OVERWRITES the current number and is recorded as a stock adjustment: read the level first (sapo_list_inventory_levels). PUT /admin/inventory_levels/set.json.

Screening checks:
- MCP handshake: pass (Answered in 781ms)
- Domain against threat feeds (Cloudflare security DNS): pass (sapo.usefulapi.io, usefulapi.io not flagged)
- Published packages against the OSV malicious-package database: n/a (No npm or PyPI package published)
- Hidden instructions or invisible characters in tool text: pass (20 tools read, nothing found)
- Inputs asking for passwords, card numbers or seed phrases: pass (None found)
- Domain and redirects: pass (No redirects off the domain)
- AI review of purpose and tool behavior: pass (No concerns)
