{"$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-05T16:46:45.730Z","url":"https://verifymcp.io/servers/io-usefulapi-pretix/pretix","markdownUrl":"https://verifymcp.io/servers/io-usefulapi-pretix/pretix.md","server":{"slug":"io-usefulapi-pretix","name":"pretix MCP by usefulapi","registryName":"io.usefulapi/pretix","description":"Read pretix events, tickets and orders; check attendees in or out with your own account.","registryStatus":"active","deletedAt":null,"statusMessage":null,"liveness":"live","publisher":{"class":"unknown","claimed":false}},"component":{"slug":"pretix","type":"remote","identifier":"https://pretix.usefulapi.io/mcp","withdrawn":false,"url":"https://verifymcp.io/servers/io-usefulapi-pretix/pretix","version":"1.7.3","transport":null,"scoredAt":"2026-11-05T15:05:33.115Z"},"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":64},{"date":"2026-10-30","total":61}]},"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":"pretix","type":"remote","identifier":"https://pretix.usefulapi.io/mcp","withdrawn":false,"score":18,"current":true,"url":"https://verifymcp.io/servers/io-usefulapi-pretix/pretix","markdownUrl":"https://verifymcp.io/servers/io-usefulapi-pretix/pretix.md"}],"facts":[{"label":"Endpoint","value":"https://pretix.usefulapi.io/mcp"},{"label":"Transports","value":"streamable-http"},{"label":"Auth","value":"none"},{"label":"Version","value":"1.7.3"}],"install":{"available":true,"bundleSha256":null},"tools":[{"name":"pretix_list_organizers","title":"List organizers","description":"List the organizer accounts this API token can access (slug, name, public URL). A team token sees its own organizer. GET /organizers/.","inputs":[{"name":"page","type":"integer","required":false,"description":"Page number, from 1 (default 1). Pass the previous reply's next_page."},{"name":"page_size","type":"integer","required":false,"description":"Results per page, 1-50 (default 50)."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":87},{"name":"pretix_get_organizer","title":"Get organizer","description":"One organizer account: slug, name, public URL. GET /organizers/{organizer}/.","inputs":[{"name":"organizer","type":"string","required":false,"description":"Organizer slug (see pretix_list_organizers). Optional when the login token sees exactly one organizer."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":59},{"name":"pretix_list_events","title":"List events","description":"List the events of an organizer (name, slug, dates, live/test mode, currency, location, whether it is an event series). Filter by search text, live state or date. GET /organizers/{organizer}/events/.","inputs":[{"name":"date_from_after","type":"string","required":false,"description":"Events starting after this date-time (ISO 8601 with timezone)."},{"name":"date_from_before","type":"string","required":false,"description":"Events starting before this date-time (ISO 8601 with timezone)."},{"name":"has_subevents","type":"boolean","required":false,"description":"Only event series (true) or single events (false)."},{"name":"is_future","type":"boolean","required":false,"description":"Only events that are current or in the future (event series are never returned)."},{"name":"is_past","type":"boolean","required":false,"description":"Only events that are over (event series are never returned)."},{"name":"is_public","type":"boolean","required":false,"description":"Only public (true) or non-public (false) events."},{"name":"live","type":"boolean","required":false,"description":"Only events whose ticket shop is live (true) or not live (false)."},{"name":"ordering","type":"string","required":false,"description":"Sort order (default slug)."},{"name":"organizer","type":"string","required":false,"description":"Organizer slug (see pretix_list_organizers). Optional when the login token sees exactly one organizer."},{"name":"page","type":"integer","required":false,"description":"Page number, from 1 (default 1). Pass the previous reply's next_page."},{"name":"page_size","type":"integer","required":false,"description":"Results per page, 1-50 (default 50)."},{"name":"search","type":"string","required":false,"description":"Search text (event name or slug)."},{"name":"testmode","type":"boolean","required":false,"description":"Only events in test mode (true) or not (false)."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":326},{"name":"pretix_get_event","title":"Get event","description":"One event in full: name, dates, location, currency, live/test mode, presale window, meta data, enabled plugins. GET /organizers/{organizer}/events/{event}/.","inputs":[{"name":"event","type":"string","required":true,"description":"Event slug (see pretix_list_events)."},{"name":"organizer","type":"string","required":false,"description":"Organizer slug (see pretix_list_organizers). Optional when the login token sees exactly one organizer."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":92},{"name":"pretix_list_subevents","title":"List event series dates","description":"List the dates (sub-events) of an event series, for one event or across all series of the organizer. Each has id, name, dates, location, presale window and price overrides. GET /organizers/{organizer}/events/{event}/subevents/ or /organizers/{organizer}/subevents/.","inputs":[{"name":"active","type":"boolean","required":false,"description":"Only dates whose shop is active (true) or not (false)."},{"name":"date_from_after","type":"string","required":false,"description":"Dates starting after this date-time."},{"name":"date_from_before","type":"string","required":false,"description":"Dates starting before this date-time."},{"name":"event","type":"string","required":false,"description":"Event slug. Omit to search across all events of the organizer."},{"name":"is_future","type":"boolean","required":false,"description":"Only dates that are current or in the future."},{"name":"is_past","type":"boolean","required":false,"description":"Only dates that are over."},{"name":"is_public","type":"boolean","required":false,"description":"Only public (true) or non-public (false) dates."},{"name":"organizer","type":"string","required":false,"description":"Organizer slug (see pretix_list_organizers). Optional when the login token sees exactly one organizer."},{"name":"page","type":"integer","required":false,"description":"Page number, from 1 (default 1). Pass the previous reply's next_page."},{"name":"page_size","type":"integer","required":false,"description":"Results per page, 1-50 (default 50)."},{"name":"search","type":"string","required":false,"description":"Search text."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":280},{"name":"pretix_get_subevent","title":"Get event series date","description":"One date (sub-event) of an event series. GET /organizers/{organizer}/events/{event}/subevents/{id}/.","inputs":[{"name":"event","type":"string","required":true,"description":"Event slug (see pretix_list_events)."},{"name":"organizer","type":"string","required":false,"description":"Organizer slug (see pretix_list_organizers). Optional when the login token sees exactly one organizer."},{"name":"subevent_id","type":"integer","required":true,"description":"Sub-event id."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":95},{"name":"pretix_list_items","title":"List products","description":"List the products (ticket types, merchandise) of an event with id, name, default price, tax, active flag, category and variations. GET /organizers/{organizer}/events/{event}/items/.","inputs":[{"name":"active","type":"boolean","required":false,"description":"Only active (true) or inactive (false) products."},{"name":"admission","type":"boolean","required":false,"description":"Only admission products (true) or not (false)."},{"name":"category","type":"integer","required":false,"description":"Category id."},{"name":"event","type":"string","required":true,"description":"Event slug (see pretix_list_events)."},{"name":"organizer","type":"string","required":false,"description":"Organizer slug (see pretix_list_organizers). Optional when the login token sees exactly one organizer."},{"name":"page","type":"integer","required":false,"description":"Page number, from 1 (default 1). Pass the previous reply's next_page."},{"name":"page_size","type":"integer","required":false,"description":"Results per page, 1-50 (default 50)."},{"name":"search","type":"string","required":false,"description":"Substring of the product name."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":197},{"name":"pretix_get_item","title":"Get product","description":"One product with its variations, add-ons and bundles. GET /organizers/{organizer}/events/{event}/items/{id}/.","inputs":[{"name":"event","type":"string","required":true,"description":"Event slug (see pretix_list_events)."},{"name":"item_id","type":"integer","required":true,"description":"Product (item) id."},{"name":"organizer","type":"string","required":false,"description":"Organizer slug (see pretix_list_organizers). Optional when the login token sees exactly one organizer."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":93},{"name":"pretix_list_quotas","title":"List quotas","description":"List the quotas (capacity pools) of an event: size, the products they cover, closed state and, with with_availability, how many are still available. GET /organizers/{organizer}/events/{event}/quotas/.","inputs":[{"name":"event","type":"string","required":true,"description":"Event slug (see pretix_list_events)."},{"name":"organizer","type":"string","required":false,"description":"Organizer slug (see pretix_list_organizers). Optional when the login token sees exactly one organizer."},{"name":"page","type":"integer","required":false,"description":"Page number, from 1 (default 1). Pass the previous reply's next_page."},{"name":"page_size","type":"integer","required":false,"description":"Results per page, 1-50 (default 50)."},{"name":"subevent","type":"integer","required":false,"description":"Only quotas of this event series date (sub-event id)."},{"name":"with_availability","type":"boolean","required":false,"description":"Add availability fields (available, available_number). Can be slow on big events."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":190},{"name":"pretix_get_quota_availability","title":"Get quota availability","description":"How much of a quota is left: available, available_number, total_size and what is using it (pending and paid orders, cart positions, blocking vouchers, waiting list). Values can lag slightly. GET /organizers/{organizer}/events/{event}/quotas/{id}/availability/.","inputs":[{"name":"event","type":"string","required":true,"description":"Event slug (see pretix_list_events)."},{"name":"organizer","type":"string","required":false,"description":"Organizer slug (see pretix_list_organizers). Optional when the login token sees exactly one organizer."},{"name":"quota_id","type":"integer","required":true,"description":"Quota id."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":125},{"name":"pretix_list_orders","title":"List orders","description":"List orders of one event, or of all events of the organizer when no event is given: code, status, email, total, dates, positions, payments, invoice address. Contains customer personal data. Order secrets, order links and payment details are removed. GET /organizers/{organizer}/events/{event}/orders/ or /organizers/{organizer}/orders/.","inputs":[{"name":"code","type":"string","required":false,"description":"Exact order code."},{"name":"created_before","type":"string","required":false,"description":"Orders created before this date-time."},{"name":"created_since","type":"string","required":false,"description":"Orders created at or after this date-time."},{"name":"email","type":"string","required":false,"description":"Exact customer email."},{"name":"event","type":"string","required":false,"description":"Event slug. Omit to search across all events of the organizer."},{"name":"include_canceled_positions","type":"boolean","required":false,"description":"Also return canceled positions inside orders."},{"name":"item","type":"integer","required":false,"description":"Only orders containing this product (item id)."},{"name":"modified_since","type":"string","required":false,"description":"Orders modified at or after this date-time."},{"name":"ordering","type":"string","required":false,"description":"Sort order (default datetime)."},{"name":"organizer","type":"string","required":false,"description":"Organizer slug (see pretix_list_organizers). Optional when the login token sees exactly one organizer."},{"name":"page","type":"integer","required":false,"description":"Page number, from 1 (default 1). Pass the previous reply's next_page."},{"name":"page_size","type":"integer","required":false,"description":"Results per page, 1-50 (default 50)."},{"name":"require_approval","type":"boolean","required":false,"description":"Only orders waiting for approval (true) or not (false)."},{"name":"search","type":"string","required":false,"description":"Search text over order code, names, emails and company names."},{"name":"status","type":"string","required":false,"description":"Order status: n = pending, p = paid, e = expired, c = canceled."},{"name":"subevent","type":"integer","required":false,"description":"Only orders for this event series date (sub-event id)."},{"name":"testmode","type":"boolean","required":false,"description":"Only test-mode orders (true) or live orders (false)."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":391},{"name":"pretix_get_order","title":"Get order","description":"One order by its code (e.g. ABC12): status, customer email and phone, total, positions (tickets), fees, payments, refunds as recorded, invoice address, check-in flags. Contains customer personal data. Secrets, order link and payment details are removed. GET /organizers/{organizer}/events/{event}/orders/{code}/.","inputs":[{"name":"code","type":"string","required":true,"description":"Order code, e.g. ABC12."},{"name":"event","type":"string","required":true,"description":"Event slug (see pretix_list_events)."},{"name":"include_canceled_positions","type":"boolean","required":false,"description":"Also return canceled positions."},{"name":"organizer","type":"string","required":false,"description":"Organizer slug (see pretix_list_organizers). Optional when the login token sees exactly one organizer."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":153},{"name":"pretix_list_order_positions","title":"List tickets (order positions)","description":"List the individual tickets (order positions) of one event, or of all events of the organizer when no event is given: attendee name and email, product, variation, price, order code, check-ins, answers. Contains attendee personal data. Ticket secrets are removed. GET /organizers/{organizer}/events/{event}/orderpositions/ or /organizers/{organizer}/orderpositions/.","inputs":[{"name":"attendee_name","type":"string","required":false,"description":"Attendee name (exact match)."},{"name":"event","type":"string","required":false,"description":"Event slug. Omit to search across all events of the organizer."},{"name":"has_checkin","type":"boolean","required":false,"description":"Only tickets that were checked in (true) or never (false)."},{"name":"include_canceled_positions","type":"boolean","required":false,"description":"Also return canceled tickets."},{"name":"item","type":"integer","required":false,"description":"Only this product (item id)."},{"name":"order","type":"string","required":false,"description":"Only tickets of this order code."},{"name":"order__status","type":"string","required":false,"description":"Order status: n = pending, p = paid, e = expired, c = canceled."},{"name":"organizer","type":"string","required":false,"description":"Organizer slug (see pretix_list_organizers). Optional when the login token sees exactly one organizer."},{"name":"page","type":"integer","required":false,"description":"Page number, from 1 (default 1). Pass the previous reply's next_page."},{"name":"page_size","type":"integer","required":false,"description":"Results per page, 1-50 (default 50)."},{"name":"search","type":"string","required":false,"description":"Search text over attendee name, email and order code."},{"name":"subevent","type":"integer","required":false,"description":"Only this event series date (sub-event id)."},{"name":"variation","type":"integer","required":false,"description":"Only this variation id."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":331},{"name":"pretix_list_checkin_lists","title":"List check-in lists","description":"List the check-in lists of an event (id, name, the products they admit, event series date, rule settings). Use the list id for check-in status, attendee lists and check-in. GET /organizers/{organizer}/events/{event}/checkinlists/.","inputs":[{"name":"event","type":"string","required":true,"description":"Event slug (see pretix_list_events)."},{"name":"organizer","type":"string","required":false,"description":"Organizer slug (see pretix_list_organizers). Optional when the login token sees exactly one organizer."},{"name":"page","type":"integer","required":false,"description":"Page number, from 1 (default 1). Pass the previous reply's next_page."},{"name":"page_size","type":"integer","required":false,"description":"Results per page, 1-50 (default 50)."},{"name":"subevent","type":"integer","required":false,"description":"Only lists of this event series date."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":170},{"name":"pretix_get_checkin_list_status","title":"Get check-in status","description":"Live check-in numbers of a check-in list: how many tickets exist, how many are checked in, how many are inside now, broken down per product and variation. GET /organizers/{organizer}/events/{event}/checkinlists/{id}/status/.","inputs":[{"name":"checkin_list_id","type":"integer","required":true,"description":"Check-in list id."},{"name":"event","type":"string","required":true,"description":"Event slug (see pretix_list_events)."},{"name":"organizer","type":"string","required":false,"description":"Organizer slug (see pretix_list_organizers). Optional when the login token sees exactly one organizer."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":123},{"name":"pretix_list_checkin_list_positions","title":"List attendees of a check-in list","description":"The attendee list of a check-in list: tickets with attendee name, product, order code, check-in history and whether the ticket needs attention. Contains attendee personal data. Ticket secrets are removed; check in by position id. GET /organizers/{organizer}/events/{event}/checkinlists/{id}/positions/.","inputs":[{"name":"attendee_name","type":"string","required":false,"description":"Attendee name (exact match)."},{"name":"checkin_list_id","type":"integer","required":true,"description":"Check-in list id."},{"name":"event","type":"string","required":true,"description":"Event slug (see pretix_list_events)."},{"name":"has_checkin","type":"boolean","required":false,"description":"Only tickets that were checked in (true) or not yet (false)."},{"name":"ignore_status","type":"boolean","required":false,"description":"Also list tickets of orders that are not paid or are canceled."},{"name":"item","type":"integer","required":false,"description":"Only this product (item id)."},{"name":"order__status","type":"string","required":false,"description":"Order status: n = pending, p = paid, e = expired, c = canceled."},{"name":"organizer","type":"string","required":false,"description":"Organizer slug (see pretix_list_organizers). Optional when the login token sees exactly one organizer."},{"name":"page","type":"integer","required":false,"description":"Page number, from 1 (default 1). Pass the previous reply's next_page."},{"name":"page_size","type":"integer","required":false,"description":"Results per page, 1-50 (default 50)."},{"name":"search","type":"string","required":false,"description":"Search text over attendee name, email and order code."},{"name":"subevent","type":"integer","required":false,"description":"Only this event series date."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":306},{"name":"pretix_list_waiting_list","title":"List waiting list","description":"List the waiting list entries of an event: who waits for which product, since when, and whether a voucher was already sent. Contains personal data (name, email, phone). Read-only: no voucher is sent. GET /organizers/{organizer}/events/{event}/waitinglistentries/.","inputs":[{"name":"email","type":"string","required":false,"description":"Exact email address."},{"name":"event","type":"string","required":true,"description":"Event slug (see pretix_list_events)."},{"name":"has_voucher","type":"boolean","required":false,"description":"Only entries that already got a voucher (true) or are still waiting (false)."},{"name":"item","type":"integer","required":false,"description":"Only this product (item id)."},{"name":"ordering","type":"string","required":false,"description":"Sort order (default created)."},{"name":"organizer","type":"string","required":false,"description":"Organizer slug (see pretix_list_organizers). Optional when the login token sees exactly one organizer."},{"name":"page","type":"integer","required":false,"description":"Page number, from 1 (default 1). Pass the previous reply's next_page."},{"name":"page_size","type":"integer","required":false,"description":"Results per page, 1-50 (default 50)."},{"name":"subevent","type":"integer","required":false,"description":"Only this event series date (sub-event id)."},{"name":"variation","type":"integer","required":false,"description":"Only this variation id."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":247},{"name":"pretix_checkin_position","title":"Check in a ticket","description":"WRITE: check one ticket in (or out) on a check-in list. Records a real check-in in pretix and cannot be undone from here. Identify the ticket by position_id (from pretix_list_checkin_list_positions) or by ticket_secret (the scanned QR code content). pretix applies its own rules: the call is refused for unpaid, canceled, blocked, already-used or wrong-product tickets (the reason is returned), and it never forces a check-in. A required question that is unanswered comes back as incomplete with the question list; answer it with `answers`. One ticket per call. POST /organizers/{organizer}/events/{event}/checkinlists/{list}/positions/{id}/redeem/.","inputs":[{"name":"answers","type":"object","required":false,"description":"Answers to required questions: { \"<question id>\": \"<answer>\" }. For choice questions use comma-separated option ids."},{"name":"checkin_list_id","type":"integer","required":true,"description":"Check-in list id."},{"name":"event","type":"string","required":true,"description":"Event slug (see pretix_list_events)."},{"name":"nonce","type":"string","required":false,"description":"Idempotency key: a retry with the same nonce does not check in twice. Generated when omitted."},{"name":"organizer","type":"string","required":false,"description":"Organizer slug (see pretix_list_organizers). Optional when the login token sees exactly one organizer."},{"name":"position_id","type":"integer","required":false,"description":"Ticket (order position) id from pretix_list_checkin_list_positions. Give this or ticket_secret."},{"name":"ticket_secret","type":"string","required":false,"description":"The scanned ticket code (secret). Give this or position_id."},{"name":"type","type":"string","required":false,"description":"entry (default) or exit."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":332}],"toolsTruncatedAtCapture":false,"diagnostics":{"capturedAt":"2026-11-05T15:05:33.000Z","track":"remote","endpoint":"https://pretix.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":"pretix.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_01a19672-81d7-739c-8008-aada8d63e19b","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-pretix/pretix#chg-chg_01a19672-81d7-739c-8008-aada8d63e19b"},{"id":"chg_01a19672-81d7-7eed-a1dc-229c5dbf16fe","kind":"check.unverifiable","summary":"Authorization (pass → unverified)","materiality":"security","direction":"regression","scoreDelta":null,"occurredOn":"2026-11-01","url":"https://verifymcp.io/servers/io-usefulapi-pretix/pretix#chg-chg_01a19672-81d7-7eed-a1dc-229c5dbf16fe"},{"id":"chg_01a19672-81d8-760f-ae5f-8d1559f6654f","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-pretix/pretix#chg-chg_01a19672-81d8-760f-ae5f-8d1559f6654f"},{"id":"chg_01a19672-81d8-7bbd-b840-cfa59b9c0d77","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-pretix/pretix#chg-chg_01a19672-81d8-7bbd-b840-cfa59b9c0d77"},{"id":"chg_01a19672-81d9-7287-9009-4b824307cc68","kind":"check.unverifiable","summary":"Capabilities (pass → unverified)","materiality":"functional","direction":"regression","scoreDelta":null,"occurredOn":"2026-11-01","url":"https://verifymcp.io/servers/io-usefulapi-pretix/pretix#chg-chg_01a19672-81d9-7287-9009-4b824307cc68"},{"id":"chg_01a19672-81d9-78ae-857d-6b5e811ee03f","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-pretix/pretix#chg-chg_01a19672-81d9-78ae-857d-6b5e811ee03f"},{"id":"chg_01a19672-81d9-7da9-a0ec-7bd0a2089fed","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-pretix/pretix#chg-chg_01a19672-81d9-7da9-a0ec-7bd0a2089fed"},{"id":"chg_01a19672-81da-751b-8208-b244ffaf2944","kind":"score.total_changed","summary":"Trust score (64 → 18)","materiality":"functional","direction":"regression","scoreDelta":-46,"occurredOn":"2026-11-01","url":"https://verifymcp.io/servers/io-usefulapi-pretix/pretix#chg-chg_01a19672-81da-751b-8208-b244ffaf2944"},{"id":"chg_01a193fe-29bc-7255-9c6b-41dd09df0249","kind":"check.verdict","summary":"Authorization (partial → pass)","materiality":"security","direction":"improvement","scoreDelta":null,"occurredOn":"2026-10-31","url":"https://verifymcp.io/servers/io-usefulapi-pretix/pretix#chg-chg_01a193fe-29bc-7255-9c6b-41dd09df0249"},{"id":"chg_01a193fe-29bc-7ecb-b4d6-8b4f8e130b99","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-pretix/pretix#chg-chg_01a193fe-29bc-7ecb-b4d6-8b4f8e130b99"},{"id":"chg_01a193fe-29bd-74cc-90c3-8cc7ec8d59f0","kind":"prompt.added","summary":"New prompt “check_an_attendee_in_or_out”","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-31","url":"https://verifymcp.io/servers/io-usefulapi-pretix/pretix#chg-chg_01a193fe-29bd-74cc-90c3-8cc7ec8d59f0"},{"id":"chg_01a193fe-29bd-7b78-b59c-d0e10d44ef5e","kind":"prompt.added","summary":"New prompt “check_attendance_and_waiting_lists”","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-31","url":"https://verifymcp.io/servers/io-usefulapi-pretix/pretix#chg-chg_01a193fe-29bd-7b78-b59c-d0e10d44ef5e"},{"id":"chg_01a193fe-29be-7091-b873-d47dd1d31f40","kind":"prompt.added","summary":"New prompt “find_an_order_and_its_attendee_tickets”","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-31","url":"https://verifymcp.io/servers/io-usefulapi-pretix/pretix#chg-chg_01a193fe-29be-7091-b873-d47dd1d31f40"},{"id":"chg_01a193fe-29be-74e5-a527-4dd94d0fbeea","kind":"prompt.added","summary":"New prompt “review_upcoming_events_and_ticket_availability”","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-31","url":"https://verifymcp.io/servers/io-usefulapi-pretix/pretix#chg-chg_01a193fe-29be-74e5-a527-4dd94d0fbeea"},{"id":"chg_01a193fe-29be-79f6-993c-ad12c6308980","kind":"server.version_changed","summary":"Server version (1.3.0 → 1.5.0)","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-31","url":"https://verifymcp.io/servers/io-usefulapi-pretix/pretix#chg-chg_01a193fe-29be-79f6-993c-ad12c6308980"},{"id":"chg_01a193fe-29c0-71cd-bc0a-4684c5be8c3b","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-pretix/pretix#chg-chg_01a193fe-29c0-71cd-bc0a-4684c5be8c3b"},{"id":"chg_01a193fe-29c0-7568-afe5-6a0f57a2ce2e","kind":"score.total_changed","summary":"Trust score (62 → 64)","materiality":"functional","direction":"improvement","scoreDelta":2,"occurredOn":"2026-10-31","url":"https://verifymcp.io/servers/io-usefulapi-pretix/pretix#chg-chg_01a193fe-29c0-7568-afe5-6a0f57a2ce2e"},{"id":"chg_01a19356-0015-7ca6-8c15-b62c0bed060e","kind":"server.version_changed","summary":"Server version (1.2.0 → 1.3.0)","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-31","url":"https://verifymcp.io/servers/io-usefulapi-pretix/pretix#chg-chg_01a19356-0015-7ca6-8c15-b62c0bed060e"},{"id":"chg_01a191d8-f194-7a8d-945d-49ead6fe8552","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-pretix/pretix#chg-chg_01a191d8-f194-7a8d-945d-49ead6fe8552"},{"id":"chg_01a1914b-c435-7410-a0b5-a1799941ec2b","kind":"check.reverified","summary":"Stability (unverified → 0.03)","materiality":"functional","direction":"improvement","scoreDelta":null,"occurredOn":"2026-10-31","url":"https://verifymcp.io/servers/io-usefulapi-pretix/pretix#chg-chg_01a1914b-c435-7410-a0b5-a1799941ec2b"}],"truncated":true,"feedUrl":"https://verifymcp.io/servers/io-usefulapi-pretix/pretix/changelog.json"},"links":{"html":"https://verifymcp.io/servers/io-usefulapi-pretix/pretix","markdown":"https://verifymcp.io/servers/io-usefulapi-pretix/pretix.md","changelogJson":"https://verifymcp.io/servers/io-usefulapi-pretix/pretix/changelog.json","changelogRss":"https://verifymcp.io/servers/io-usefulapi-pretix/pretix.xml","external":[{"label":"Remote endpoint","href":"https://pretix.usefulapi.io/mcp"},{"label":"Repository","href":"https://github.com/m190/usefulapi-mcp"},{"label":"Website","href":"https://usefulapi.io/pretix/"}]}}