Next free-source huntWe check for new free data every weekday.
FinancialMCP serverFirst audited Nov 13, 2026

Sapo MCP by usefulapi

Read Sapo store products, orders, customers and stock levels; edit order notes and stock.The vendor's description, from its MCP Registry listing.

Passed public checksAudited Nov 13, 2026

Every public check ran and passed. Public audit: we connect as an AI client would, list the tools and check what they say. We do not run them. How we audit

Does it work?
YesConnected in 277 ms.
Sign-up?
None neededIt answered without any account or key.
Can it change things?
YesSome tools say they can change things. Your AI client should ask you first.
Endpointhttps://sapo.usefulapi.io/mcp

Source code Website Streamable HTTP · protocol 2025-11-25 · server version 1.17.1

What we checked, the evidence, and the tools it offers.

What we checked

Security

  • Passed: Connections are encrypted (HTTPS).

  • Passed: No hidden instructions found in tool text.

Safety labels

  • Note: 2 tools are labelled as able to change things.

    Expected for tools that send, write or buy. Your AI client should ask before calling them.

    • sapo_update_order
    • sapo_set_inventory_level
  • Passed: Every tool says whether it only reads or can change things.

Tools

  • Passed: 20 tools listed.

  • Passed: Every tool describes its inputs with a valid schema.

Protocol

  • Passed: The MCP handshake works (Streamable HTTP).

  • Passed: Protocol version 2025-11-25 (latest).

  • Passed: Unknown requests are refused.

Connection

  • Passed: The server responds.

Tools (20)

As the server describes them. The labels are the server's own: it says whether each tool only reads or can change things.

  • sapo_get_storeThe Sapo store this login belongs to: name, domain, currency, timezone, plan and other settings. GET /admin/store.json.Read-only
  • sapo_list_productsList 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.Read-only
  • sapo_count_productsNumber of products matching the filters. GET /admin/products/count.json.Read-only
  • sapo_get_productOne product by id, with variants and images. GET /admin/products/{id}.json.Read-only
  • sapo_list_product_variantsThe variants (size, color, SKU, barcode, price) of one product. Paged. GET /admin/products/{product_id}/variants.json.Read-only
  • sapo_get_product_variantOne product variant by id. GET /admin/variants/{id}.json.Read-only
  • sapo_list_custom_collectionsList manual product collections (danh mục thủ công). Paged. GET /admin/custom_collections.json.Read-only
  • sapo_list_ordersList 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.Read-only
  • sapo_count_ordersNumber of orders matching the filters. GET /admin/orders/count.json.Read-only
  • sapo_get_orderOne order by id with line items, addresses, discounts, payment and shipping. GET /admin/orders/{id}.json.Read-only
  • sapo_list_order_transactionsThe payment transactions recorded on one order. GET /admin/orders/{order_id}/transactions.json.Read-only
  • sapo_list_customersList customers with contact details, addresses, order count and total spent. Paged. GET /admin/customers.json.Read-only
  • sapo_count_customersTotal number of customers. GET /admin/customers/count.json.Read-only
  • sapo_get_customerOne customer by id. GET /admin/customers/{id}.json.Read-only
  • sapo_list_locationsList branches, stores and warehouses (id, name, address, whether they track stock). Use the ids for stock levels. Paged. GET /admin/locations.json.Read-only
  • sapo_list_inventory_itemsList 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.Read-only
  • sapo_list_inventory_levelsStock 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…Read-only
  • sapo_list_price_rulesList discount price rules (percentage, fixed amount, fixed price) with validity dates and usage counts. Paged. GET /admin/price_rules.json.Read-only
  • sapo_update_orderWRITE: 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…Can change things
  • sapo_set_inventory_levelWRITE: 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 l…Can change things

Audit history

  1. Nov 13Passed

What we sent

Every request in this audit, with the answer and how long it took. We never send credentials and never call a tool.

RequestAnswerTime
initializeHTTP 200277 ms
initializedHTTP 20289 ms
tools/listHTTP 20080 ms
prompts/listHTTP 200130 ms
unknown-methodHTTP 40125 ms

Run this server, or disagree with the result?

Fix the issue and it shows in the next weekly audit, or email us to ask for a re-audit or to dispute a finding. Read how we audit for what each check means.