{"$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-06T02:13:24.470Z","url":"https://verifymcp.io/servers/io-usefulapi-tillhub/tillhub","markdownUrl":"https://verifymcp.io/servers/io-usefulapi-tillhub/tillhub.md","server":{"slug":"io-usefulapi-tillhub","name":"Tillhub MCP by usefulapi","registryName":"io.usefulapi/tillhub","description":"Read Tillhub products, stock, transactions, customers and retail reports from your AI assistant.","registryStatus":"active","deletedAt":null,"statusMessage":null,"liveness":"live","publisher":{"class":"unknown","claimed":false}},"component":{"slug":"tillhub","type":"remote","identifier":"https://tillhub.usefulapi.io/mcp","withdrawn":false,"url":"https://verifymcp.io/servers/io-usefulapi-tillhub/tillhub","version":"1.6.3","transport":null,"scoredAt":"2026-11-05T15:05:35.618Z"},"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},{"date":"2026-10-30","total":62}]},"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":"tillhub","type":"remote","identifier":"https://tillhub.usefulapi.io/mcp","withdrawn":false,"score":18,"current":true,"url":"https://verifymcp.io/servers/io-usefulapi-tillhub/tillhub","markdownUrl":"https://verifymcp.io/servers/io-usefulapi-tillhub/tillhub.md"}],"facts":[{"label":"Endpoint","value":"https://tillhub.usefulapi.io/mcp"},{"label":"Transports","value":"streamable-http"},{"label":"Auth","value":"none"},{"label":"Version","value":"1.6.3"}],"install":{"available":true,"bundleSha256":null},"tools":[{"name":"tillhub_get_account","title":"Get API user and account","description":"The Tillhub user behind the API key: role, scopes, account id and name (no credentials). GET /api/v0/me.","inputs":[],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":38},{"name":"tillhub_list_products","title":"List products","description":"List products (articles, variants, vouchers) with name, number, barcode, prices, taxes and product group. Filter by type, group, tag, barcode or custom id (barcode and custom_id are fast exact lookups and ignore the other filters). Page with next_query. GET /api/v1/products/{account}.","inputs":[{"name":"active","type":"boolean","required":false,"description":"Only active (true) or inactive (false) products."},{"name":"barcode","type":"string","required":false,"description":"Exact barcode (ignores the other filters)."},{"name":"custom_id","type":"string","required":false,"description":"Exact product number / custom id (ignores the other filters)."},{"name":"deleted","type":"boolean","required":false,"description":"true = deleted products only; default non-deleted."},{"name":"limit","type":"integer","required":false,"description":"Items per page, 1-100 (default 50)."},{"name":"next_query","type":"string","required":false,"description":"next_query from the previous reply to get the following page. It already contains the filters, so the other arguments are ignored."},{"name":"product_group","type":"string","required":false,"description":"Product group id."},{"name":"sellable","type":"boolean","required":false,"description":"Only products suitable for sale (true) or not (false)."},{"name":"tag","type":"string","required":false,"description":"Tag name."},{"name":"type","type":"string","required":false,"description":"Product type."},{"name":"updated_since","type":"string","required":false,"description":"Only products updated at or after this time. ISO 8601 date (2026-10-01) or date-time (2026-10-01T00:00:00Z)."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":292},{"name":"tillhub_search_products","title":"Search products","description":"Fuzzy search products by name and description (max 20 hits per page, with relevance score). GET /api/v2/products/{account}/search.","inputs":[{"name":"limit","type":"integer","required":false,"description":"Hits per page, 1-20."},{"name":"offset","type":"integer","required":false,"description":"Result offset for paging search results."},{"name":"query","type":"string","required":true,"description":"Search text; partial words are matched."},{"name":"sellable","type":"boolean","required":false,"description":"Only sellable products."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":95},{"name":"tillhub_get_product","title":"Get product","description":"One product by id, optionally with the stock and prices of one branch. GET /api/v1/products/{account}/{id}.","inputs":[{"name":"branch","type":"string","required":false,"description":"Branch id for branch-specific stock data."},{"name":"product_id","type":"string","required":true,"description":"Tillhub product id (uuid)."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":64},{"name":"tillhub_list_product_groups","title":"List product groups","description":"List product groups (categories) with id and name. GET /api/v0/product_groups/{account}.","inputs":[{"name":"active","type":"boolean","required":false,"description":"Only active (true) or inactive (false) groups."},{"name":"deleted","type":"boolean","required":false,"description":"true = deleted groups only."},{"name":"next_query","type":"string","required":false,"description":"next_query from the previous reply to get the following page. It already contains the filters, so the other arguments are ignored."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":94},{"name":"tillhub_list_tags","title":"List tags","description":"List product tags. GET /api/v1/tags/{account}.","inputs":[{"name":"deleted","type":"boolean","required":false,"description":"true = deleted tags only."},{"name":"next_query","type":"string","required":false,"description":"next_query from the previous reply to get the following page. It already contains the filters, so the other arguments are ignored."},{"name":"query","type":"string","required":false,"description":"Text search on the tag name."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":81},{"name":"tillhub_list_transactions","title":"List transactions","description":"List sales and other register transactions (type, date, branch, register, staff, customer, amounts, payments, cart items). Always pass a date range for busy shops. Page with next_query. GET /api/v1/transactions/{account}.","inputs":[{"name":"branch","type":"string","required":false,"description":"Branch id."},{"name":"customer","type":"string","required":false,"description":"Customer id."},{"name":"date_end","type":"string","required":false,"description":"Only transactions before this time. ISO 8601 date (2026-10-01) or date-time (2026-10-01T00:00:00Z)."},{"name":"date_start","type":"string","required":false,"description":"Only transactions on or after this time. ISO 8601 date (2026-10-01) or date-time (2026-10-01T00:00:00Z)."},{"name":"limit","type":"integer","required":false,"description":"Items per page, 1-100 (default 50)."},{"name":"next_query","type":"string","required":false,"description":"next_query from the previous reply to get the following page. It already contains the filters, so the other arguments are ignored."},{"name":"receipt_number","type":"string","required":false,"description":"Receipt number (custom id)."},{"name":"register","type":"string","required":false,"description":"Register id."},{"name":"staff","type":"string","required":false,"description":"Cashier staff id."},{"name":"type","type":"string","required":false,"description":"Transaction type, for example sale, sale_cancel, expense, deposit."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":272},{"name":"tillhub_get_transaction","title":"Get transaction","description":"One transaction by id with its full cart, payments and taxes. GET /api/v1/transactions/{account}/{id}.","inputs":[{"name":"transaction_id","type":"string","required":true,"description":"Tillhub transaction id (uuid)."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":49},{"name":"tillhub_transactions_report","title":"Transactions report","description":"Detailed transactions report for a period, filterable by branch, register, staff, customer, type and currency. GET /api/v3/analytics/{account}/reports/transactions/overview.","inputs":[{"name":"branch","type":"string","required":false,"description":"Branch id."},{"name":"currency","type":"string","required":false,"description":"Currency ISO code, e.g. EUR."},{"name":"customer","type":"string","required":false,"description":"Customer id."},{"name":"date_end","type":"string","required":false,"description":"Only transactions before this time. ISO 8601 date (2026-10-01) or date-time (2026-10-01T00:00:00Z)."},{"name":"date_start","type":"string","required":false,"description":"Only transactions on or after this time. ISO 8601 date (2026-10-01) or date-time (2026-10-01T00:00:00Z)."},{"name":"next_query","type":"string","required":false,"description":"next_query from the previous reply to get the following page. It already contains the filters, so the other arguments are ignored."},{"name":"register","type":"string","required":false,"description":"Register id."},{"name":"staff","type":"string","required":false,"description":"Cashier staff id."},{"name":"type","type":"string","required":false,"description":"Transaction type, for example sale, sale_cancel, expense, deposit."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":243},{"name":"tillhub_list_receipts","title":"List receipts","description":"List receipts (printed or digital) of the account. Page with next_query. GET /api/v1/receipts/{account}.","inputs":[{"name":"limit","type":"integer","required":false,"description":"Items per page, 1-100 (default 50)."},{"name":"next_query","type":"string","required":false,"description":"next_query from the previous reply to get the following page. It already contains the filters, so the other arguments are ignored."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":89},{"name":"tillhub_revenue_sum","title":"Revenue total for a period","description":"Total revenue between two points in time, optionally for one branch number. GET /api/v0/analytics/{account}/aggregates/revenues/sum.","inputs":[{"name":"branch_number","type":"string","required":false,"description":"Branch number (not the id)."},{"name":"end","type":"string","required":true,"description":"End of the period. ISO 8601 date (2026-10-01) or date-time (2026-10-01T00:00:00Z)."},{"name":"next_query","type":"string","required":false,"description":"next_query from the previous reply to get the following page. It already contains the filters, so the other arguments are ignored."},{"name":"start","type":"string","required":true,"description":"Start of the period. ISO 8601 date (2026-10-01) or date-time (2026-10-01T00:00:00Z)."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":172},{"name":"tillhub_sales_aggregate","title":"Sales per hour or day","description":"Sales and revenue aggregated per hour or per day between two points in time. GET /api/v0/analytics/{account}/aggregates/sales.","inputs":[{"name":"branch_number","type":"string","required":false,"description":"Branch number (not the id)."},{"name":"end","type":"string","required":true,"description":"End of the period. ISO 8601 date (2026-10-01) or date-time (2026-10-01T00:00:00Z)."},{"name":"next_query","type":"string","required":false,"description":"next_query from the previous reply to get the following page. It already contains the filters, so the other arguments are ignored."},{"name":"precision","type":"string","required":false,"description":"Interval size (default day)."},{"name":"start","type":"string","required":true,"description":"Start of the period. ISO 8601 date (2026-10-01) or date-time (2026-10-01T00:00:00Z)."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":183},{"name":"tillhub_top_products","title":"Top products","description":"Best-selling products in a period, optionally for one branch number. GET /api/v0/analytics/{account}/reports/products/top.","inputs":[{"name":"branch_number","type":"string","required":false,"description":"Branch number (not the id)."},{"name":"end","type":"string","required":false,"description":"End of the period (exclusive). ISO 8601 date (2026-10-01) or date-time (2026-10-01T00:00:00Z)."},{"name":"next_query","type":"string","required":false,"description":"next_query from the previous reply to get the following page. It already contains the filters, so the other arguments are ignored."},{"name":"start","type":"string","required":false,"description":"Start of the period (inclusive). ISO 8601 date (2026-10-01) or date-time (2026-10-01T00:00:00Z)."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":171},{"name":"tillhub_list_balances","title":"List cash-register balances","description":"List cash-register closings (balances / Z-reports) with totals per register and day. Filter by branch, register or staff. Page with next_query. GET /api/v0/analytics/{account}/reports/balances.","inputs":[{"name":"branch","type":"string","required":false,"description":"Branch id."},{"name":"limit","type":"integer","required":false,"description":"Items per page, 1-100 (default 50)."},{"name":"next_query","type":"string","required":false,"description":"next_query from the previous reply to get the following page. It already contains the filters, so the other arguments are ignored."},{"name":"query","type":"string","required":false,"description":"Text search."},{"name":"register","type":"string","required":false,"description":"Register id."},{"name":"staff","type":"string","required":false,"description":"Staff id."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":145},{"name":"tillhub_list_customers","title":"List customers","description":"List customers with name, company, email, phone numbers and addresses. Filter by text, name, email, company or customer number. Page with next_query. GET /api/v1/customers/{account}.","inputs":[{"name":"active","type":"boolean","required":false,"description":"Only active (true) or inactive (false) customers."},{"name":"company","type":"string","required":false,"description":"Company name substring."},{"name":"customer_number","type":"string","required":false,"description":"Exact customer number (ignores the other filters)."},{"name":"email","type":"string","required":false,"description":"Email substring."},{"name":"firstname","type":"string","required":false,"description":"First name substring."},{"name":"lastname","type":"string","required":false,"description":"Last name substring."},{"name":"limit","type":"integer","required":false,"description":"Items per page, 1-100 (default 50)."},{"name":"next_query","type":"string","required":false,"description":"next_query from the previous reply to get the following page. It already contains the filters, so the other arguments are ignored."},{"name":"query","type":"string","required":false,"description":"Text search over first name, last name, email, company and number."},{"name":"updated_since","type":"string","required":false,"description":"Only customers updated at or after this time. ISO 8601 date (2026-10-01) or date-time (2026-10-01T00:00:00Z)."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":246},{"name":"tillhub_search_customers","title":"Search customers","description":"Fuzzy search customers by name, email and description (max 100 hits, with relevance score). GET /api/v2/customers/{account}/search.","inputs":[{"name":"limit","type":"integer","required":false,"description":"Hits per page, 1-100."},{"name":"offset","type":"integer","required":false,"description":"Result offset for paging search results."},{"name":"query","type":"string","required":true,"description":"Search text; partial words are matched."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":85},{"name":"tillhub_get_customer","title":"Get customer","description":"One customer by id. GET /api/v1/customers/{account}/{id}.","inputs":[{"name":"customer_id","type":"string","required":true,"description":"Tillhub customer id (uuid)."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":41},{"name":"tillhub_list_branches","title":"List branches","description":"List branches (shops) with number, name and address. Use the ids to filter transactions, stock and prices. Page with next_query. GET /api/v1/branches/{account}.","inputs":[{"name":"active","type":"boolean","required":false,"description":"Only active (true) or inactive (false) branches."},{"name":"limit","type":"integer","required":false,"description":"Items per page, 1-100 (default 50)."},{"name":"name","type":"string","required":false,"description":"Name substring."},{"name":"next_query","type":"string","required":false,"description":"next_query from the previous reply to get the following page. It already contains the filters, so the other arguments are ignored."},{"name":"query","type":"string","required":false,"description":"Text search over several fields."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":139},{"name":"tillhub_list_registers","title":"List registers","description":"List cash registers with number, name and branch. GET /api/v1/registers/{account}.","inputs":[{"name":"active","type":"boolean","required":false,"description":"Only active (true) or inactive (false) registers."},{"name":"branch","type":"string","required":false,"description":"Only registers of this branch id."},{"name":"next_query","type":"string","required":false,"description":"next_query from the previous reply to get the following page. It already contains the filters, so the other arguments are ignored."},{"name":"query","type":"string","required":false,"description":"Text search on the name."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":106},{"name":"tillhub_list_staff","title":"List staff","description":"List staff members (cashiers) with name, number and branch. PINs and passwords are never returned. GET /api/v1/staff/{account}.","inputs":[{"name":"active","type":"boolean","required":false,"description":"Only active (true) or inactive (false) staff."},{"name":"branch","type":"string","required":false,"description":"Only staff of this branch id."},{"name":"next_query","type":"string","required":false,"description":"next_query from the previous reply to get the following page. It already contains the filters, so the other arguments are ignored."},{"name":"query","type":"string","required":false,"description":"Text search over name and email."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":118},{"name":"tillhub_list_payment_options","title":"List payment options","description":"List payment options (cash, card, voucher, ...) configured for the account. GET /api/v0/payment_options/{account}.","inputs":[{"name":"active","type":"boolean","required":false,"description":"Only active (true) or inactive (false) options."},{"name":"next_query","type":"string","required":false,"description":"next_query from the previous reply to get the following page. It already contains the filters, so the other arguments are ignored."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":87},{"name":"tillhub_list_taxes","title":"List taxes","description":"List tax (VAT) references with rates. GET /api/v0/taxes/{account}.","inputs":[{"name":"active","type":"boolean","required":false,"description":"Only active (true) or inactive (false) taxes."},{"name":"next_query","type":"string","required":false,"description":"next_query from the previous reply to get the following page. It already contains the filters, so the other arguments are ignored."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":80},{"name":"tillhub_list_discounts","title":"List discounts","description":"List configured discounts. GET /api/v0/discounts/{account}.","inputs":[{"name":"active","type":"boolean","required":false,"description":"Only active (true) or inactive (false) discounts."},{"name":"branch","type":"string","required":false,"description":"Only discounts available in this branch id."},{"name":"next_query","type":"string","required":false,"description":"next_query from the previous reply to get the following page. It already contains the filters, so the other arguments are ignored."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":90},{"name":"tillhub_list_stock","title":"List stock levels","description":"Current stock per product and location. Filter by location (branch/warehouse id) or product id. GET /api/v0/stock/{account}.","inputs":[{"name":"location","type":"string","required":false,"description":"Location id (branch or warehouse)."},{"name":"next_query","type":"string","required":false,"description":"next_query from the previous reply to get the following page. It already contains the filters, so the other arguments are ignored."},{"name":"product","type":"string","required":false,"description":"Product id."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":94},{"name":"tillhub_list_stock_locations","title":"List stock locations","description":"List stock locations (branches and warehouses) with their ids. GET /api/v0/stock/{account}/locations.","inputs":[{"name":"next_query","type":"string","required":false,"description":"next_query from the previous reply to get the following page. It already contains the filters, so the other arguments are ignored."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":67},{"name":"tillhub_list_stock_book","title":"List stock movements","description":"Stock book: every stock movement (sale, delivery, correction, transfer) with product, location, quantity and date. Filter by product, location, period or text. Page with next_query. GET /api/v1/stock/{account}/book.","inputs":[{"name":"end","type":"string","required":false,"description":"Only movements before this time. ISO 8601 date (2026-10-01) or date-time (2026-10-01T00:00:00Z)."},{"name":"limit","type":"integer","required":false,"description":"Items per page, 1-100 (default 50)."},{"name":"location","type":"string","required":false,"description":"Location id."},{"name":"next_query","type":"string","required":false,"description":"next_query from the previous reply to get the following page. It already contains the filters, so the other arguments are ignored."},{"name":"product","type":"string","required":false,"description":"Product id."},{"name":"query","type":"string","required":false,"description":"Text search over product name, barcode, group and location."},{"name":"start","type":"string","required":false,"description":"Only movements on or after this time. ISO 8601 date (2026-10-01) or date-time (2026-10-01T00:00:00Z)."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":237},{"name":"tillhub_list_orders","title":"List orders","description":"List incoming or outgoing orders (goods orders between locations/suppliers). Page with next_query. GET /api/v0/orders/{account}.","inputs":[{"name":"deleted","type":"boolean","required":false,"description":"true = deleted orders only."},{"name":"direction","type":"string","required":false,"description":"Only incoming or outgoing orders."},{"name":"limit","type":"integer","required":false,"description":"Items per page, 1-100 (default 50)."},{"name":"next_query","type":"string","required":false,"description":"next_query from the previous reply to get the following page. It already contains the filters, so the other arguments are ignored."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":113}],"toolsTruncatedAtCapture":false,"diagnostics":{"capturedAt":"2026-11-05T15:05:35.000Z","track":"remote","endpoint":"https://tillhub.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":"tillhub.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-30","recent":[{"id":"chg_01a1960e-6148-7710-9cb1-27b8aafc8bb3","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-tillhub/tillhub#chg-chg_01a1960e-6148-7710-9cb1-27b8aafc8bb3"},{"id":"chg_01a1960e-6149-7615-a62b-9ae8d436f5c9","kind":"check.unverifiable","summary":"Authorization (pass → unverified)","materiality":"security","direction":"regression","scoreDelta":null,"occurredOn":"2026-11-01","url":"https://verifymcp.io/servers/io-usefulapi-tillhub/tillhub#chg-chg_01a1960e-6149-7615-a62b-9ae8d436f5c9"},{"id":"chg_01a1960e-6149-7c4b-a5cd-9ce44cba34cb","kind":"check.unverifiable","summary":"Stability (0.03 → unverified)","materiality":"security","direction":"regression","scoreDelta":null,"occurredOn":"2026-11-01","url":"https://verifymcp.io/servers/io-usefulapi-tillhub/tillhub#chg-chg_01a1960e-6149-7c4b-a5cd-9ce44cba34cb"},{"id":"chg_01a1960e-614a-727b-84d2-6970d64224f5","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-tillhub/tillhub#chg-chg_01a1960e-614a-727b-84d2-6970d64224f5"},{"id":"chg_01a1960e-614a-76ff-98bf-f33adf4dd85a","kind":"check.unverifiable","summary":"Capabilities (pass → unverified)","materiality":"functional","direction":"regression","scoreDelta":null,"occurredOn":"2026-11-01","url":"https://verifymcp.io/servers/io-usefulapi-tillhub/tillhub#chg-chg_01a1960e-614a-76ff-98bf-f33adf4dd85a"},{"id":"chg_01a1960e-614a-7ddb-a5f1-45b440bd343d","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-tillhub/tillhub#chg-chg_01a1960e-614a-7ddb-a5f1-45b440bd343d"},{"id":"chg_01a1960e-614b-7431-9192-3ae70a040f9f","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-tillhub/tillhub#chg-chg_01a1960e-614b-7431-9192-3ae70a040f9f"},{"id":"chg_01a1960e-614b-7b83-8b97-c3db1d0003e2","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-tillhub/tillhub#chg-chg_01a1960e-614b-7b83-8b97-c3db1d0003e2"},{"id":"chg_01a193ff-0fe1-79a8-a3d1-8044afc774b6","kind":"check.verdict","summary":"Authorization (partial → pass)","materiality":"security","direction":"improvement","scoreDelta":null,"occurredOn":"2026-10-31","url":"https://verifymcp.io/servers/io-usefulapi-tillhub/tillhub#chg-chg_01a193ff-0fe1-79a8-a3d1-8044afc774b6"},{"id":"chg_01a193ff-0fe3-70e7-aca5-cfb39f30014e","kind":"check.verdict","summary":"MCP protocol (fail → pass)","materiality":"functional","direction":"improvement","scoreDelta":null,"occurredOn":"2026-10-31","url":"https://verifymcp.io/servers/io-usefulapi-tillhub/tillhub#chg-chg_01a193ff-0fe3-70e7-aca5-cfb39f30014e"},{"id":"chg_01a193ff-0fe3-7946-bce6-0c852f391700","kind":"prompt.added","summary":"New prompt “check_stock_and_recent_movements”","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-31","url":"https://verifymcp.io/servers/io-usefulapi-tillhub/tillhub#chg-chg_01a193ff-0fe3-7946-bce6-0c852f391700"},{"id":"chg_01a193ff-0fe3-7ece-a2c4-d0b734eb8dc0","kind":"prompt.added","summary":"New prompt “find_a_customer_record”","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-31","url":"https://verifymcp.io/servers/io-usefulapi-tillhub/tillhub#chg-chg_01a193ff-0fe3-7ece-a2c4-d0b734eb8dc0"},{"id":"chg_01a193ff-0fe4-7c88-b460-5f933f26bb42","kind":"prompt.added","summary":"New prompt “find_best_selling_products”","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-31","url":"https://verifymcp.io/servers/io-usefulapi-tillhub/tillhub#chg-chg_01a193ff-0fe4-7c88-b460-5f933f26bb42"},{"id":"chg_01a193ff-0fe5-72fd-b0a1-8043366caa95","kind":"prompt.added","summary":"New prompt “inspect_cash_register_closings”","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-31","url":"https://verifymcp.io/servers/io-usefulapi-tillhub/tillhub#chg-chg_01a193ff-0fe5-72fd-b0a1-8043366caa95"},{"id":"chg_01a193ff-0fe5-793d-b539-22a8c671718d","kind":"prompt.added","summary":"New prompt “review_sales_across_branches”","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-31","url":"https://verifymcp.io/servers/io-usefulapi-tillhub/tillhub#chg-chg_01a193ff-0fe5-793d-b539-22a8c671718d"},{"id":"chg_01a193ff-0fe6-7072-a571-81afadd3e333","kind":"server.version_changed","summary":"Server version (1.2.0 → 1.4.0)","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-31","url":"https://verifymcp.io/servers/io-usefulapi-tillhub/tillhub#chg-chg_01a193ff-0fe6-7072-a571-81afadd3e333"},{"id":"chg_01a193ff-0fe6-78d7-874d-44ce459ecbcc","kind":"protocol.version_changed","summary":"MCP protocol version (2025-06-18 → 2025-11-25)","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-31","url":"https://verifymcp.io/servers/io-usefulapi-tillhub/tillhub#chg-chg_01a193ff-0fe6-78d7-874d-44ce459ecbcc"},{"id":"chg_01a193ff-0fe7-715b-af04-92b0a9ac64c9","kind":"score.total_changed","summary":"Trust score (62 → 65)","materiality":"functional","direction":"improvement","scoreDelta":3,"occurredOn":"2026-10-31","url":"https://verifymcp.io/servers/io-usefulapi-tillhub/tillhub#chg-chg_01a193ff-0fe7-715b-af04-92b0a9ac64c9"},{"id":"chg_01a19322-2c7f-75b8-8b03-b87950a9e3e2","kind":"server.version_changed","summary":"Server version (1.1.0 → 1.2.0)","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-31","url":"https://verifymcp.io/servers/io-usefulapi-tillhub/tillhub#chg-chg_01a19322-2c7f-75b8-8b03-b87950a9e3e2"},{"id":"chg_01a191d9-8f0f-7ea3-b538-3a6bfdcacf7e","kind":"server.version_changed","summary":"Server version (1.0.2 → 1.1.0)","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-31","url":"https://verifymcp.io/servers/io-usefulapi-tillhub/tillhub#chg-chg_01a191d9-8f0f-7ea3-b538-3a6bfdcacf7e"}],"truncated":true,"feedUrl":"https://verifymcp.io/servers/io-usefulapi-tillhub/tillhub/changelog.json"},"links":{"html":"https://verifymcp.io/servers/io-usefulapi-tillhub/tillhub","markdown":"https://verifymcp.io/servers/io-usefulapi-tillhub/tillhub.md","changelogJson":"https://verifymcp.io/servers/io-usefulapi-tillhub/tillhub/changelog.json","changelogRss":"https://verifymcp.io/servers/io-usefulapi-tillhub/tillhub.xml","external":[{"label":"Remote endpoint","href":"https://tillhub.usefulapi.io/mcp"},{"label":"Repository","href":"https://github.com/m190/usefulapi-mcp"},{"label":"Website","href":"https://usefulapi.io/tillhub/"}]}}