# TicketSpice MCP by usefulapi (remote · ticketspice.usefulapi.io)

Read TicketSpice forms, orders, tickets, customers, coupons; create or delete coupons.

- Trust score: 18/100 (low)
- Change this week: −46
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-11-05

## Components

- remote · `ticketspice.usefulapi.io`: 18/100 (this document), [markdown](https://verifymcp.io/servers/io-usefulapi-ticketspice/ticketspice.md), [page](https://verifymcp.io/servers/io-usefulapi-ticketspice/ticketspice)

## Channel facts

- Endpoint: `https://ticketspice.usefulapi.io/mcp`
- Transports: `streamable-http`
- Auth: `none`
- Version: `1.11.3`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-11-05.

- **Endpoint Security**: 46/100
  - 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.
- **Transport & Reachability**: 0/100
  - Transport check failed: declared streamable-http, but the endpoint redirected instead of responding directly.
- **Schema Quality & AI Usability**: 0/100
  - Schema not yet verified: we couldn't read the endpoint's schema, or could read only part of its tool list.
- **Stability & Change Management**: 0/100
  - Stability not yet verified: not enough scan history yet (needs a 30-day window).
- **Tool Coverage**: 0/100
  - Tool coverage not yet verified: we couldn't read the endpoint's tools, or could read only part of the list.
- **Tool Safety**: 0/100
  - Tool safety not yet verified: we couldn't read the endpoint's tools, or could read only part of the list.
- **Capabilities**: 0/100
  - Capabilities not yet verified: we couldn't read the endpoint's capabilities.

**Unverified: 5 categories.** Categories scored 0 because we could not verify them: authentication we do not have, an unreachable endpoint, or not enough scan history. We only credit what we can confirm.

## Install

### How do I install the TicketSpice MCP by usefulapi server?

TicketSpice MCP by usefulapi is a hosted endpoint at https://ticketspice.usefulapi.io/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

### Claude

```bash
claude mcp add --transport http io-usefulapi-ticketspice 'https://ticketspice.usefulapi.io/mcp'
```

### Cursor

```json
{
  "mcpServers": {
    "io-usefulapi-ticketspice": {
      "url": "https://ticketspice.usefulapi.io/mcp"
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "io-usefulapi-ticketspice": {
      "type": "http",
      "url": "https://ticketspice.usefulapi.io/mcp"
    }
  }
}
```

### Codex

```toml
[mcp_servers.io-usefulapi-ticketspice]
url = "https://ticketspice.usefulapi.io/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "io-usefulapi-ticketspice": {
      "type": "remote",
      "url": "https://ticketspice.usefulapi.io/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add io-usefulapi-ticketspice --url 'https://ticketspice.usefulapi.io/mcp' --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  io-usefulapi-ticketspice:
    url: "https://ticketspice.usefulapi.io/mcp"
```

### Netclaw

```json
{
  "McpServers": {
    "io-usefulapi-ticketspice": {
      "Transport": "http",
      "Url": "https://ticketspice.usefulapi.io/mcp"
    }
  }
}
```

### Vellum

```bash
assistant mcp add io-usefulapi-ticketspice -t streamable-http -u 'https://ticketspice.usefulapi.io/mcp'
```

### Other

```json
{
  "mcpServers": {
    "io-usefulapi-ticketspice": {
      "type": "http",
      "url": "https://ticketspice.usefulapi.io/mcp"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-11-02 (score 18, −50)

- [security regression] Endpoint reachability: reachable → not serving MCP
- [security regression] Stability: 0.23 → unverified
- [security regression] Tool safety: pass → unverified
- [security regression] Authorization: pass → unverified
- [functional regression] Schema quality: 100 → unverified
- [functional regression] Capabilities: pass → unverified
- [functional regression] Tool coverage: 100 → unverified

### 2026-11-01 (score 68, +1)

No change was recorded against any check on this day. Stability & Change Management went from 20 to 23. That category is still filling its 30-day observation window: 6 days of observed history at the previous scan, 7 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-31 (score 67, +3)

- [security improvement] Authorization: partial → pass
- [functional improvement] MCP protocol: fail → pass
- [functional] New prompt “build_an_attendee_list_with_check_in_status”
- [functional] New prompt “check_ticket_sales_and_revenue_for_an_event”
- [functional] New prompt “create_or_remove_a_discount_coupon”
- [functional] New prompt “find_everything_one_buyer_purchased”
- [functional] New prompt “review_the_coupons_of_an_event”
- [functional] New prompt “see_how_much_limited_inventory_is_left”
- [functional] MCP protocol version: 2025-06-18 → 2025-11-25
- [functional] Server version: 1.7.0 → 1.9.0
- [functional] Server version: 1.6.0 → 1.7.0
- [functional] Server version: 1.5.2 → 1.6.0

### 2026-10-30 (score 64, 0)

- [functional] Server version: 1.5.1 → 1.5.2
- [functional] Server version: 1.5.0 → 1.5.1

### 2026-10-29 (score 64, +1)

- [functional] Server version: 1.4.0 → 1.5.0
- [functional] Server version: 1.3.0 → 1.4.0

### 2026-10-28 (score 63, 0)

- [functional] Server version: 1.1.0 → 1.3.0

### 2026-10-27 (score 63, +1)

- [functional] Server version: 1.0.0 → 1.1.0

### 2026-10-26 (score 62, 0)

- [functional improvement] Stability: unverified → 0.03

## MCP tools (15)

### `ticketspice_list_forms` (~182 tokens)

List events

List the account's TicketSpice forms (ticketed events / order pages): id, name, status (open, closed, scheduled or archived), created and updated dates. Use the form ids to filter orders, tickets and transactions. GET /forms.

Input parameters:

- `created_after` (string): Only records created after this time.
- `created_before` (string): Only records created before this time.
- `limit` (integer): Results per page, 1-50 (default 25).
- `sort` (string): Sort by id: asc or desc (the vendor default applies when omitted).
- `starting_after` (integer): Cursor: pass the previous reply's next_starting_after to get the next page.
- `updated_after` (string): Only records updated after this time.
- `updated_before` (string): Only records updated before this time.

### `ticketspice_get_form` (~56 tokens)

Get event

One form by id: name, status, accounting reference, time zone and its field layout. GET /forms/{id}.

Input parameters:

- `form_id` (integer, required): TicketSpice form id (from ticketspice_list_forms).

### `ticketspice_get_form_inventory` (~53 tokens)

Get form inventory

Inventory items of a form (limited-quantity items): path, name, sold and remaining quantity. GET /forms/{id}/inventory.

Input parameters:

- `form_id` (integer, required): TicketSpice form id.

### `ticketspice_list_orders` (~267 tokens)

List orders

List orders (one per checkout): order number, buyer billing name and address, form, total, currency and status, newest or oldest first. Filter by event (form), status, buyer email, customer id, order number or dates. GET /search/orders.

Input parameters:

- `created_after` (string): Only records created after this time.
- `created_before` (string): Only records created before this time.
- `customer_id` (integer): Only orders of this customer (buyer) id.
- `email` (string): Only orders placed with this email address.
- `form_id` (integer): Only orders of this form.
- `limit` (integer): Results per page, 1-50 (default 25).
- `order_number` (string): Only the order with this order number.
- `sort` (string): Sort by id: asc or desc (the vendor default applies when omitted).
- `starting_after` (integer): Cursor: pass the previous reply's next_starting_after to get the next page.
- `status` (string): Order status string as the vendor returns it (for example "completed" or "active").
- `updated_after` (string): Only records updated after this time.
- `updated_before` (string): Only records updated before this time.

### `ticketspice_get_order` (~104 tokens)

Get order

One order by id with the buyer's billing details, event, totals and status. Set include_tickets to embed the order's tickets and include_transactions its payments (charges and refunds). GET /search/orders/{id}.

Input parameters:

- `include_tickets` (boolean): Also return the order's tickets.
- `include_transactions` (boolean): Also return the order's transactions.
- `order_id` (integer, required): TicketSpice order id (from ticketspice_list_orders).

### `ticketspice_list_transactions` (~316 tokens)

List transactions

List payment transactions (money movements): amount, currency, type (charge, refund, voucher), payment method, masked card, status, form and buyer email. Filter by type, method, form, order, donor or dates. GET /search/transactions.

Input parameters:

- `created_after` (string): Only records created after this time.
- `created_before` (string): Only records created before this time.
- `customer_id` (integer): Only transactions of this customer (buyer) id.
- `email` (string): Only transactions of orders placed with this email.
- `form_id` (integer): Only transactions of this form.
- `limit` (integer): Results per page, 1-50 (default 25).
- `order_id` (integer): Only transactions of this order id.
- `order_number` (string): Only transactions of this order number.
- `payment_method` (string): Payment method.
- `reference` (string): Only the transaction with this payment reference (txReference).
- `sort` (string): Sort by id: asc or desc (the vendor default applies when omitted).
- `starting_after` (integer): Cursor: pass the previous reply's next_starting_after to get the next page.
- `status` (string): Transaction status string as the vendor returns it (for example "completed" or "active").
- `type` (string): Transaction type.
- `updated_after` (string): Only records updated after this time.
- `updated_before` (string): Only records updated before this time.

### `ticketspice_get_transaction` (~59 tokens)

Get transaction

One transaction by id: amounts, type, payment method, masked card, gateway message and status. GET /search/transactions/{id}.

Input parameters:

- `transaction_id` (integer, required): TicketSpice transaction id (from ticketspice_list_transactions).

### `ticketspice_list_tickets` (~324 tokens)

List tickets

List sold tickets (one record per ticket): id, buyer billing name, event, ticket level, amount, fee, total, status, scan count and last scan time, event date. Filter by event (form), status, order, buyer email, customer id or dates. Use it for attendee lists and check-in status. GET /search/tickets.

Input parameters:

- `created_after` (string): Only records created after this time.
- `created_before` (string): Only records created before this time.
- `customer_id` (integer): Only tickets of this customer id.
- `email` (string): Only tickets of orders placed with this email address.
- `form_id` (integer): Only tickets of this event (form) id.
- `limit` (integer): Results per page, 1-50 (default 25).
- `order_display_id` (string): Only tickets of the order with this customer-facing order display id.
- `order_id` (integer): Only tickets of this order id.
- `order_number` (string): Only tickets of this order number.
- `sort` (string): Sort by id: asc or desc (the vendor default applies when omitted).
- `starting_after` (integer): Cursor: pass the previous reply's next_starting_after to get the next page.
- `status` (string): Ticket status string as the vendor returns it (for example "completed" or "active").
- `updated_after` (string): Only records updated after this time.
- `updated_before` (string): Only records updated before this time.

### `ticketspice_get_ticket` (~72 tokens)

Get ticket

One ticket by id: buyer, event, level, amount, fee, total, status, scan count, last scan time and the buyer's form answers. GET /search/tickets/{id}.

Input parameters:

- `ticket_id` (integer, required): TicketSpice ticket id (from ticketspice_list_tickets).

### `ticketspice_list_customers` (~193 tokens)

List customers

List customer records (buyers): id, email, billing name and address, total spent, created and updated dates. Filter by email or dates. New customers can take up to 5 minutes to appear. GET /search/customers.

Input parameters:

- `created_after` (string): Only records created after this time.
- `created_before` (string): Only records created before this time.
- `email` (string): Only the customer with this email address.
- `limit` (integer): Results per page, 1-50 (default 25).
- `sort` (string): Sort by id: asc or desc (the vendor default applies when omitted).
- `starting_after` (integer): Cursor: pass the previous reply's next_starting_after to get the next page.
- `updated_after` (string): Only records updated after this time.
- `updated_before` (string): Only records updated before this time.

### `ticketspice_get_customer` (~64 tokens)

Get customer

One customer record by id: email, billing details and total of the customer's transactions. GET /search/customers/{id}.

Input parameters:

- `customer_id` (integer, required): TicketSpice customer id (from ticketspice_list_customers, or an order's customerId).

### `ticketspice_list_coupons` (~165 tokens)

List coupons

List TicketSpice coupons: account-wide ones, or only those of one form when form_id is given. Shows discounts, codes, availability, redeemed count and expiry. GET /coupons/global or /coupons/forms/{id}.

Input parameters:

- `code` (string): Only global coupons with this code (ignored with form_id).
- `form_id` (integer): Only coupons of this form; omit for the account-wide (global) coupons.
- `limit` (integer): Results per page, 1-50 (default 25).
- `sort` (string): Sort by id: asc or desc (the vendor default applies when omitted).
- `starting_after` (integer): Cursor: pass the previous reply's next_starting_after to get the next page.

### `ticketspice_get_coupon` (~55 tokens)

Get coupon

One coupon by id with its discounts, codes, availability and redeemed counts. GET /coupons/{id}.

Input parameters:

- `coupon_id` (integer, required): TicketSpice coupon id (from ticketspice_list_coupons).

### `ticketspice_create_coupon` (~243 tokens)

Create coupon

WRITE: create a discount coupon in the live TicketSpice account (it can be redeemed by ticket buyers right away). One discount (fixed amount or percent) and one or more codes; optionally limited to one form, to a number of uses, and to an expiry date. Not idempotent: calling it twice creates two coupons. POST /coupons.

Input parameters:

- `available` (integer): How many times the coupon can be used; -1 = unlimited (default).
- `codes` (array, required): One or more redeemable codes.
- `currency` (string): Currency code, default USD.
- `discount_type` (string, required): fixed (a currency amount) or percent.
- `discount_value` (number, required): Discount amount: currency units for a fixed discount, percent (1-100) for a percent discount.
- `expires` (string): When the coupon expires; omit for no expiry.
- `form_id` (integer): Restrict the coupon to this form; omit for all forms.
- `name` (string, required): Internal coupon name.
- `per_ticket` (boolean): Apply the discount to each ticket instead of once per order (default false).

### `ticketspice_delete_coupon` (~108 tokens)

Delete coupon

WRITE: permanently delete a coupon from the live TicketSpice account; its codes stop working immediately and this cannot be undone. Show the coupon (ticketspice_get_coupon) and get the user's approval first, then call with confirm: true. GET /coupons/{id}, then DELETE /coupons/{id}.

Input parameters:

- `confirm` (boolean, required): Must be true: the user approved permanently deleting this coupon.
- `coupon_id` (integer, required): TicketSpice coupon id to delete.

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/io-usefulapi-ticketspice/ticketspice#diagnostics

## Score history

- 2026-11-05: 18
- 2026-11-04: 18
- 2026-11-03: 18
- 2026-11-02: 18
- 2026-11-01: 68
- 2026-10-31: 67
- 2026-10-30: 64
- 2026-10-29: 64
- 2026-10-28: 63
- 2026-10-27: 63
- 2026-10-26: 62
- 2026-10-25: 62

## Common questions

### What is the TicketSpice MCP by usefulapi server?

TicketSpice MCP by usefulapi is listed in the public MCP registry as io.usefulapi/ticketspice. Read TicketSpice forms, orders, tickets, customers, coupons; create or delete coupons. This page covers its hosted endpoint (https://ticketspice.usefulapi.io/mcp).

### Is the TicketSpice MCP by usefulapi server safe to use?

TicketSpice MCP by usefulapi scores 18 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

### What tools does the TicketSpice MCP by usefulapi server expose?

TicketSpice MCP by usefulapi exposes 15 tools: ticketspice_list_forms, ticketspice_get_form, ticketspice_get_form_inventory, ticketspice_list_orders, ticketspice_get_order, and 10 more. Their descriptions and schemas cost roughly 2,261 tokens of context every time the server is loaded.

### Does the TicketSpice MCP by usefulapi server require authentication?

Its publisher declares no required credentials for TicketSpice MCP by usefulapi. We have not been able to confirm that against the live endpoint, and a server can require authorisation without declaring it here.

### Is the TicketSpice MCP by usefulapi server still maintained?

TicketSpice MCP by usefulapi is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

### What did VerifyMCP test on the TicketSpice MCP by usefulapi server?

VerifyMCP ran 4 checks on TicketSpice MCP by usefulapi, covering TLS certificate, HSTS header, DNSSEC and Transport. 7 items could not be completed, a gap on our side rather than a finding about TicketSpice MCP by usefulapi: Authorization, HTTPS, Schema quality, Stability and 3 more. 5 categories score 0 for that reason, because we only credit what we can confirm. Supply Chain Security and Provenance & Transparency do not apply to a hosted endpoint, so they were not tested. The score does not measure everything, and the scoring documentation lists what it leaves out.

## Links

- Remote endpoint: https://ticketspice.usefulapi.io/mcp
- Repository: https://github.com/m190/usefulapi-mcp
- Website: https://usefulapi.io/ticketspice/
- Changelog RSS feed: https://verifymcp.io/servers/io-usefulapi-ticketspice/ticketspice.xml
- Changelog JSON feed: https://verifymcp.io/servers/io-usefulapi-ticketspice/ticketspice/changelog.json
- Trust report (JSON): https://verifymcp.io/servers/io-usefulapi-ticketspice/ticketspice.json
- HTML version of this page: https://verifymcp.io/servers/io-usefulapi-ticketspice/ticketspice
