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

Zettle MCP by usefulapi

Read sales, products, stock, balance and payouts; create products in Zettle.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 358 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://zettle.usefulapi.io/mcp

Source code Website Streamable HTTP · protocol 2025-11-25 · server version 1.8.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: 1 tool is labelled as able to change things.

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

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

Tools

  • Passed: 14 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 (14)

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

  • zettle_get_accountThe Zettle user and organization this API key belongs to (uuid, organizationUuid). GET oauth.zettle.com/users/self.Read-only
  • zettle_list_purchasesList POS purchases (sales and refunds) with amount, currency, timestamp, products, discounts, payments, refund info and the cashier. Needs READ:PURCHASE. Amounts are in the smallest currency unit. De…Read-only
  • zettle_get_purchaseOne purchase (sale or refund) in full by its purchase UUID (the purchaseUUID1 field of zettle_list_purchases; the older short purchaseUUID is deprecated and not accepted): line items, VAT, payments,…Read-only
  • zettle_list_productsList the products in the POS product library with variants (SKU, barcode, price, cost price, VAT), category, online status and ETag. Zettle returns the whole library at once; this tool slices it with…Read-only
  • zettle_get_productOne product by UUID with all variants, prices, VAT, category, images and online-store data. Needs READ:PRODUCT. GET /organizations/self/products/{productUuid}.Read-only
  • zettle_list_categoriesList the product categories (uuid, name). Needs READ:PRODUCT. GET /organizations/self/categories/v2.Read-only
  • zettle_get_libraryThe product library together with its discounts (name, amount or percentage), paginated. Returns products, discounts and next_offset (pass it back as offset). Needs READ:PRODUCT. GET /organizations/s…Read-only
  • zettle_create_productWRITE: add a new product to the Zettle product library (it appears in the POS and, if enabled, the online store). Not idempotent: calling twice creates two products. Needs READ:PRODUCT and WRITE:PROD…Can change things
  • zettle_list_inventoriesList the stock locations (inventories): inventoryUuid, name, type (STORE, SOLD, SUPPLIER, BIN) and which is the default. Use the STORE inventoryUuid with zettle_get_stock. Needs READ:PRODUCT. GET /v3…Read-only
  • zettle_get_stockStock balances per product variant (balance, low-stock level and alert, last update). With inventory_uuid: that STORE inventory only; without: all stores. Only products with inventory tracking enable…Read-only
  • zettle_get_stock_for_productsStock balances of a few specific products in one inventory (read-only lookup, nothing is changed). Needs READ:PRODUCT. Page with next_cursor (send the same product_uuids again). POST /v3/stock/{inven…Read-only
  • zettle_get_account_balanceThe merchant's Zettle account balance (totalBalance in the smallest currency unit, currencyId). LIQUID = money available for payout; PRELIMINARY = payments not yet settled. Optional point in time. Ne…Read-only
  • zettle_list_account_transactionsTransactions (payments, fees, payouts, adjustments) in the LIQUID or PRELIMINARY account between start and end (end exclusive), with timestamp, amount (smallest currency unit, can be negative), type…Read-only
  • zettle_get_payout_infoPayout information of the LIQUID account: totalBalance, currencyId, nextPayoutAmount, discountRemaining and payout periodicity. Needs READ:FINANCE. GET /v2/payout-info.Read-only

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 200358 ms
initializedHTTP 20232 ms
tools/listHTTP 200180 ms
prompts/listHTTP 200147 ms
unknown-methodHTTP 401143 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.