{"$schema":"https://verifymcp.io/schemas/trust-report.json","schemaVersion":1,"license":{"name":"CC BY-NC 4.0","url":"https://creativecommons.org/licenses/by-nc/4.0/"},"generatedAt":"2026-11-06T04:58:17.617Z","url":"https://verifymcp.io/servers/io-usefulapi-twice-commerce/twice-commerce","markdownUrl":"https://verifymcp.io/servers/io-usefulapi-twice-commerce/twice-commerce.md","server":{"slug":"io-usefulapi-twice-commerce","name":"Twice Commerce MCP by usefulapi","registryName":"io.usefulapi/twice-commerce","description":"Read orders, customers, catalog, stock and availability; add order comments in Twice Commerce.","registryStatus":"active","deletedAt":null,"statusMessage":null,"liveness":"live","publisher":{"class":"unknown","claimed":false}},"component":{"slug":"twice-commerce","type":"remote","identifier":"https://twice-commerce.usefulapi.io/mcp","withdrawn":false,"url":"https://verifymcp.io/servers/io-usefulapi-twice-commerce/twice-commerce","version":"1.5.3","transport":null,"scoredAt":"2026-11-05T15:04:31.109Z"},"score":{"total":18,"tier":"low","status":"scored","weekDelta":null,"history":[{"date":"2026-11-05","total":18},{"date":"2026-11-04","total":18},{"date":"2026-11-03","total":18},{"date":"2026-11-02","total":18},{"date":"2026-11-01","total":18},{"date":"2026-10-31","total":65}]},"categories":[{"name":"Endpoint Security","score":46,"verdict":"fail","reasons":["The endpoint's TLS certificate is valid, in date, and uses a strong key.","Authorisation not yet verified: we couldn't confirm whether this endpoint requires it.","HTTPS enforcement could not be verified: the plaintext port redirected somewhere other than https, so enforcement is unproven.","HSTS check failed: the Strict-Transport-Security header is absent.","DNSSEC check failed: this domain isn't protected by DNSSEC."],"codes":[{"code":"tls.valid","args":{}},{"code":"auth.unreachable","args":{}},{"code":"https.inconclusive","args":{"reason":"redirect_not_https"}},{"code":"headers.hsts_absent","args":{}},{"code":"dnssec.absent","args":{}}]},{"name":"Transport & Reachability","score":0,"verdict":"fail","reasons":["Transport check failed: declared streamable-http, but the endpoint redirected instead of responding directly."],"codes":[{"code":"transport.redirected","args":{"transport":"streamable-http"}}]},{"name":"Schema Quality & AI Usability","score":0,"verdict":"unverified","reasons":["Schema not yet verified: we couldn't read the endpoint's schema, or could read only part of its tool list."],"codes":[{"code":"schema.unreachable","args":{}}]},{"name":"Stability & Change Management","score":0,"verdict":"unverified","reasons":["Stability not yet verified: not enough scan history yet (needs a 30-day window)."],"codes":[{"code":"stability.insufficient_history","args":{}}]},{"name":"Tool Coverage","score":0,"verdict":"unverified","reasons":["Tool coverage not yet verified: we couldn't read the endpoint's tools, or could read only part of the list."],"codes":[{"code":"toolquality.unreachable","args":{}}]},{"name":"Tool Safety","score":0,"verdict":"unverified","reasons":["Tool safety not yet verified: we couldn't read the endpoint's tools, or could read only part of the list."],"codes":[{"code":"toolsafety.unreachable","args":{}}]},{"name":"Capabilities","score":0,"verdict":"unverified","reasons":["Capabilities not yet verified: we couldn't read the endpoint's capabilities."],"codes":[{"code":"cap.unreachable","args":{}}]}],"inconclusive":["Authorisation not yet verified: we couldn't confirm whether this endpoint requires it.","HTTPS enforcement could not be verified: the plaintext port redirected somewhere other than https, so enforcement is unproven.","Schema not yet verified: we couldn't read the endpoint's schema, or could read only part of its tool list.","Stability not yet verified: not enough scan history yet (needs a 30-day window).","Tool coverage not yet verified: we couldn't read the endpoint's tools, or could read only part of the list.","Tool safety not yet verified: we couldn't read the endpoint's tools, or could read only part of the list.","Capabilities not yet verified: we couldn't read the endpoint's capabilities."],"malware":[],"components":[{"slug":"twice-commerce","type":"remote","identifier":"https://twice-commerce.usefulapi.io/mcp","withdrawn":false,"score":18,"current":true,"url":"https://verifymcp.io/servers/io-usefulapi-twice-commerce/twice-commerce","markdownUrl":"https://verifymcp.io/servers/io-usefulapi-twice-commerce/twice-commerce.md"}],"facts":[{"label":"Endpoint","value":"https://twice-commerce.usefulapi.io/mcp"},{"label":"Transports","value":"streamable-http"},{"label":"Auth","value":"none"},{"label":"Version","value":"1.5.3"}],"install":{"available":true,"bundleSha256":null},"tools":[{"name":"twicecommerce_get_merchant","title":"Get merchant profile","description":"Get the merchant account: name, country, currency, timezone, languages, plan and enabled features. Good first call. Admin API: GET /v1/admin/merchant.","inputs":[],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":46},{"name":"twicecommerce_list_service_locations","title":"List locations","description":"List pickup and return locations (service locations). Use the ids to filter orders and stock items. Admin API: GET /v1/admin/service-locations/.","inputs":[{"name":"scope","type":"string","required":false,"description":"Which locations to list (default active)."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":56},{"name":"twicecommerce_list_taxes","title":"List taxes","description":"List the tax rates set up for the merchant. Admin API: GET /v1/admin/taxes/.","inputs":[],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":32},{"name":"twicecommerce_list_tags","title":"List tags","description":"List tags used on inventory, catalog, customers or orders. Admin API: GET /v1/admin/tags.","inputs":[{"name":"scope","type":"string","required":true,"description":"Which area's tags to list."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":45},{"name":"twicecommerce_list_orders","title":"List orders","description":"List orders with status, customers, line items, totals and dates. The API does not paginate this list, so the result is cut to `limit` rows (newest as returned by the API); the full count is in totalCount. Narrow it with location_ids. Admin API: GET /v1/admin/orders.","inputs":[{"name":"limit","type":"integer","required":false,"description":"Maximum rows to return (default 50, max 200)."},{"name":"location_ids","type":"array","required":false,"description":"Only orders at these service location ids."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":109},{"name":"twicecommerce_get_order","title":"Get an order","description":"Get one order by id: status, customers, line items, stock items, comments, totals and pricing. Admin API: GET /v1/admin/orders/{orderId}.","inputs":[{"name":"order_id","type":"string","required":true,"description":"The order id (uuid, from twicecommerce_list_orders)."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":64},{"name":"twicecommerce_get_order_payments","title":"Get order payments","description":"List the payment transactions of one order (needs a key with the Payments area). Admin API: GET /v1/admin/orders/{orderId}/payments.","inputs":[{"name":"order_id","type":"string","required":true,"description":"The order id (uuid)."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":56},{"name":"twicecommerce_get_order_invoices","title":"Get order invoices","description":"List the invoices of one order, optionally with the upcoming scheduled subscription invoices (needs a key with the Payments area). Admin API: GET /v1/admin/orders/{orderId}/invoices.","inputs":[{"name":"include_scheduled","type":"boolean","required":false,"description":"Also list scheduled (upcoming) subscription invoices."},{"name":"order_id","type":"string","required":true,"description":"The order id (uuid)."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":82},{"name":"twicecommerce_list_customers","title":"List customers","description":"List customers, with an optional text search over name and email and paging. Admin API: GET /v1/admin/customers.","inputs":[{"name":"page","type":"integer","required":false,"description":"Page number (default 1)."},{"name":"search","type":"string","required":false,"description":"Text to search for (contains match)."},{"name":"size","type":"integer","required":false,"description":"Rows per page (default 25, max 100)."},{"name":"sort_by","type":"string","required":false,"description":null},{"name":"sort_direction","type":"string","required":false,"description":"Sort direction."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":100},{"name":"twicecommerce_get_customer","title":"Get a customer","description":"Get one customer by id: contact details, addresses and type. Admin API: GET /v1/admin/customers/{customerId}.","inputs":[{"name":"customer_id","type":"string","required":true,"description":"The customer id (uuid, from twicecommerce_list_customers)."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":57},{"name":"twicecommerce_get_customer_orders","title":"Get customer orders","description":"List the orders of one customer. Admin API: GET /v1/admin/customers/{customerId}/orders.","inputs":[{"name":"customer_id","type":"string","required":true,"description":"The customer id (uuid)."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":47},{"name":"twicecommerce_list_catalog_items","title":"List catalog items","description":"List catalog items (the listings customers rent, buy or subscribe to), with an optional name search and paging. Admin API: GET /v1/admin/catalog/.","inputs":[{"name":"name","type":"string","required":false,"description":"Only listings whose name contains this text."},{"name":"page","type":"integer","required":false,"description":"Page number (default 1)."},{"name":"size","type":"integer","required":false,"description":"Rows per page (default 25, max 100)."},{"name":"sort_by","type":"string","required":false,"description":null},{"name":"sort_direction","type":"string","required":false,"description":"Sort direction."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":106},{"name":"twicecommerce_get_catalog_item","title":"Get a catalog item","description":"Get one catalog item by id: name, status, variants, rules and pricing links. Admin API: GET /v1/admin/catalog/{id}.","inputs":[{"name":"catalog_item_id","type":"string","required":true,"description":"The catalog item id (from twicecommerce_list_catalog_items)."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":61},{"name":"twicecommerce_check_availability","title":"Check availability for a period","description":"Check whether one catalog item can be booked for a date-time window (before you create an order). Dates are ISO 8601 date-times in UTC, for example 2026-11-05T09:00:00Z. Admin API: GET /v1/admin/availability/{catalogItemId}/period.","inputs":[{"name":"catalog_item_id","type":"string","required":true,"description":"The catalog item id."},{"name":"from","type":"string","required":true,"description":"Start date-time, ISO 8601 UTC (example 2026-11-05T09:00:00Z)."},{"name":"location_ids","type":"array","required":false,"description":"Only check these service location ids."},{"name":"to","type":"string","required":true,"description":"End date-time, ISO 8601 UTC."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":151},{"name":"twicecommerce_list_discount_codes","title":"List discount codes","description":"List discount codes with usage and validity, with paging. Admin API: GET /v1/admin/discount-codes.","inputs":[{"name":"page","type":"integer","required":false,"description":"Page number (default 1)."},{"name":"search","type":"string","required":false,"description":"Text to search for."},{"name":"size","type":"integer","required":false,"description":"Rows per page (default 25, max 100)."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":77},{"name":"twicecommerce_list_stock_items","title":"List stock items","description":"List stock items (the physical units, called articles in the API), with paging. Narrow by location ids. Admin API: GET /v1/admin/articles/.","inputs":[{"name":"location_ids","type":"array","required":false,"description":"Only stock items at these service location ids."},{"name":"page","type":"integer","required":false,"description":"Page number (default 1)."},{"name":"size","type":"integer","required":false,"description":"Rows per page (default 25, max 100)."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":90},{"name":"twicecommerce_get_stock_item","title":"Get a stock item","description":"Get one stock item by id: SKU, condition, quantity, location and status. Admin API: GET /v1/admin/articles/{id}.","inputs":[{"name":"stock_item_id","type":"string","required":true,"description":"The stock item id (from twicecommerce_list_stock_items)."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":60},{"name":"twicecommerce_list_skus","title":"List SKUs","description":"List SKUs (the product definitions that stock items belong to), with paging. Admin API: GET /v1/admin/skus.","inputs":[{"name":"page","type":"integer","required":false,"description":"Page number (default 1)."},{"name":"size","type":"integer","required":false,"description":"Rows per page (default 25, max 100)."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":69},{"name":"twicecommerce_get_sku","title":"Get a SKU","description":"Get one SKU by id. Admin API: GET /v1/admin/skus/{skuId}.","inputs":[{"name":"sku_id","type":"string","required":true,"description":"The SKU id (uuid, from twicecommerce_list_skus)."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":51},{"name":"twicecommerce_add_order_comment","title":"Add a comment to an order","description":"WRITE: add a comment to an order (needs a key with Write access to Order details). Each call adds a new comment; do not repeat a call that succeeded. Admin API: POST /v1/admin/orders/{orderId}/comments.","inputs":[{"name":"content","type":"string","required":true,"description":"The comment text."},{"name":"order_id","type":"string","required":true,"description":"The order id (uuid)."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":83}],"toolsTruncatedAtCapture":false,"diagnostics":{"capturedAt":"2026-11-05T15:04:31.000Z","track":"remote","endpoint":"https://twice-commerce.usefulapi.io/mcp","declaredUrl":null,"truncated":false,"tls":{"outcome":"valid","label":"Valid","version":"TLS 1.3","cipherSuite":"TLS_AES_128_GCM_SHA256","chainError":null,"certificates":[{"subject":"CN=usefulapi.io","issuer":"CN=WE1,O=Google Trust Services,C=US","notBefore":"2026-09-13T08:55:39Z","notAfter":"2026-12-12T09:54:12Z","keyType":"ECDSA","keyBits":256,"isCa":false},{"subject":"CN=WE1,O=Google Trust Services,C=US","issuer":"CN=GTS Root R4,O=Google Trust Services LLC,C=US","notBefore":"2023-12-13T09:00:00Z","notAfter":"2029-02-20T14:00:00Z","keyType":"ECDSA","keyBits":256,"isCa":true},{"subject":"CN=GTS Root R4,O=Google Trust Services LLC,C=US","issuer":"CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE","notBefore":"2023-11-15T03:43:21Z","notAfter":"2028-01-28T00:00:42Z","keyType":"ECDSA","keyBits":384,"isCa":true}]},"dnssec":{"result":"insecure","label":"Not signed","name":"twice-commerce.usefulapi.io.","steps":[{"zone":".","outcome":"verified","label":"Verified"},{"zone":"io.","outcome":"verified","label":"Verified"},{"zone":"usefulapi.io.","outcome":"insecure_proven","label":"Unsigned (proven)"}]},"auth":{"outcome":"inconclusive","label":"Inconclusive","gate":null,"gateLabel":null,"status":302,"authorizationServers":[]},"httpsRedirect":{"outcome":"inconclusive","label":"Inconclusive","status":302},"transports":[{"transport":"streamable-http","outcome":"redirected","label":"Redirected","status":302,"followed":false}],"provenance":null,"installScripts":[],"installScriptsTotal":null,"vulnerabilities":[],"vulnerabilitiesTotal":null,"dependencies":null},"mismatches":[],"changelog":{"trackingSince":"2026-10-31","recent":[{"id":"chg_01a19672-37a9-714f-947c-99bb70c91091","kind":"check.unverifiable","summary":"Tool safety (pass → unverified)","materiality":"security","direction":"regression","scoreDelta":null,"occurredOn":"2026-11-01","url":"https://verifymcp.io/servers/io-usefulapi-twice-commerce/twice-commerce#chg-chg_01a19672-37a9-714f-947c-99bb70c91091"},{"id":"chg_01a19672-37a9-7ac2-8e3f-41ddeb8ad87e","kind":"check.unverifiable","summary":"Authorization (pass → unverified)","materiality":"security","direction":"regression","scoreDelta":null,"occurredOn":"2026-11-01","url":"https://verifymcp.io/servers/io-usefulapi-twice-commerce/twice-commerce#chg-chg_01a19672-37a9-7ac2-8e3f-41ddeb8ad87e"},{"id":"chg_01a19672-37aa-7230-a481-8e788831ab1c","kind":"check.unverifiable","summary":"Schema quality (100 → unverified)","materiality":"functional","direction":"regression","scoreDelta":null,"occurredOn":"2026-11-01","url":"https://verifymcp.io/servers/io-usefulapi-twice-commerce/twice-commerce#chg-chg_01a19672-37aa-7230-a481-8e788831ab1c"},{"id":"chg_01a19672-37aa-77f9-b7f9-414cb963c4e9","kind":"check.unverifiable","summary":"Capabilities (pass → unverified)","materiality":"functional","direction":"regression","scoreDelta":null,"occurredOn":"2026-11-01","url":"https://verifymcp.io/servers/io-usefulapi-twice-commerce/twice-commerce#chg-chg_01a19672-37aa-77f9-b7f9-414cb963c4e9"},{"id":"chg_01a19672-37aa-7e92-9d1e-b9a81b7c476e","kind":"check.unverifiable","summary":"Tool coverage (100 → unverified)","materiality":"functional","direction":"regression","scoreDelta":null,"occurredOn":"2026-11-01","url":"https://verifymcp.io/servers/io-usefulapi-twice-commerce/twice-commerce#chg-chg_01a19672-37aa-7e92-9d1e-b9a81b7c476e"},{"id":"chg_01a19672-37ab-7514-be2f-9edff251a538","kind":"capture.status_changed","summary":"Endpoint reachability (reachable → not serving MCP)","materiality":"security","direction":"regression","scoreDelta":null,"occurredOn":"2026-11-01","url":"https://verifymcp.io/servers/io-usefulapi-twice-commerce/twice-commerce#chg-chg_01a19672-37ab-7514-be2f-9edff251a538"},{"id":"chg_01a19672-37ab-7b00-8ae7-000212bbbf7b","kind":"score.total_changed","summary":"Trust score (65 → 18)","materiality":"functional","direction":"regression","scoreDelta":-47,"occurredOn":"2026-11-01","url":"https://verifymcp.io/servers/io-usefulapi-twice-commerce/twice-commerce#chg-chg_01a19672-37ab-7b00-8ae7-000212bbbf7b"},{"id":"chg_01a193fe-1508-750e-a551-da0f4838a97b","kind":"score.first_scored","summary":"First indexed and scored","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-31","url":"https://verifymcp.io/servers/io-usefulapi-twice-commerce/twice-commerce#chg-chg_01a193fe-1508-750e-a551-da0f4838a97b"},{"id":"chg_01a192b1-10b6-76b9-bdeb-903abd834f17","kind":"score.first_scored","summary":"First indexed and scored","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-31","url":"https://verifymcp.io/servers/io-usefulapi-twice-commerce/twice-commerce#chg-chg_01a192b1-10b6-76b9-bdeb-903abd834f17"}],"truncated":false,"feedUrl":"https://verifymcp.io/servers/io-usefulapi-twice-commerce/twice-commerce/changelog.json"},"links":{"html":"https://verifymcp.io/servers/io-usefulapi-twice-commerce/twice-commerce","markdown":"https://verifymcp.io/servers/io-usefulapi-twice-commerce/twice-commerce.md","changelogJson":"https://verifymcp.io/servers/io-usefulapi-twice-commerce/twice-commerce/changelog.json","changelogRss":"https://verifymcp.io/servers/io-usefulapi-twice-commerce/twice-commerce.xml","external":[{"label":"Remote endpoint","href":"https://twice-commerce.usefulapi.io/mcp"},{"label":"Repository","href":"https://github.com/m190/usefulapi-mcp"},{"label":"Website","href":"https://usefulapi.io/twice-commerce/"}]}}