TicketSpice MCP by usefulapi

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

사용해야 할까요

품질 및 안전성

A
설명 품질
100%
스키마 완전성
96%
이름 품질
80%
오염 위험
100%
권한 일치
100%
프로토콜 준수
100%

도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.

컨텍스트 비용

~4,018토큰 (도구 정의)
~2.3 KB일반적인 응답 크기
상당한 주의 영향 (128k 컨텍스트의 3.14%)

이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.

설치

원클릭 설치

`claude_desktop_config.json` 파일에 다음을 추가하세요:

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

원격 엔드포인트

https://ticketspice.usefulapi.io/mcpstreamable-http

할 수 있는 일

도구 목록

도구 (15)

🟢 읽기 전용🟡 쓰기🔴 삭제⚪ 알 수 없음
🟢ticketspice_list_forms(created_after, created_before, updated_after, updated_before, limit, ...)

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.

입력 스키마

{
  "type": "object",
  "properties": {
    "created_after": {
      "description": "Only records created after this time.",
      "type": "string"
    },
    "created_before": {
      "description": "Only records created before this time.",
      "type": "string"
    },
    "updated_after": {
      "description": "Only records updated after this time.",
      "type": "string"
    },
    "updated_before": {
      "description": "Only records updated before this time.",
      "type": "string"
    },
    "limit": {
      "description": "Results per page, 1-50 (default 25).",
      "type": "integer",
      "minimum": 1,
      "maximum": 50
    },
    "starting_after": {
      "description": "Cursor: pass the previous reply's next_starting_after to get the next page.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "sort": {
      "description": "Sort by id: asc or desc (the vendor default applies when omitted).",
      "type": "string",
      "enum": [
        "asc",
        "desc"
      ]
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢ticketspice_get_form(form_id)

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

입력 스키마

{
  "type": "object",
  "properties": {
    "form_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "TicketSpice form id (from ticketspice_list_forms)."
    }
  },
  "required": [
    "form_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢ticketspice_get_form_inventory(form_id)

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

입력 스키마

{
  "type": "object",
  "properties": {
    "form_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "TicketSpice form id."
    }
  },
  "required": [
    "form_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢ticketspice_list_orders(form_id, status, email, customer_id, order_number, ...)

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.

입력 스키마

{
  "type": "object",
  "properties": {
    "form_id": {
      "description": "Only orders of this form.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "status": {
      "description": "Order status string as the vendor returns it (for example \"completed\" or \"active\").",
      "type": "string",
      "minLength": 1,
      "maxLength": 60
    },
    "email": {
      "description": "Only orders placed with this email address.",
      "type": "string",
      "minLength": 3,
      "maxLength": 254
    },
    "customer_id": {
      "description": "Only orders of this customer (buyer) id.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "order_number": {
      "description": "Only the order with this order number.",
      "type": "string",
      "minLength": 1,
      "maxLength": 100
    },
    "created_after": {
      "description": "Only records created after this time.",
      "type": "string"
    },
    "created_before": {
      "description": "Only records created before this time.",
      "type": "string"
    },
    "updated_after": {
      "description": "Only records updated after this time.",
      "type": "string"
    },
    "updated_before": {
      "description": "Only records updated before this time.",
      "type": "string"
    },
    "limit": {
      "description": "Results per page, 1-50 (default 25).",
      "type": "integer",
      "minimum": 1,
      "maximum": 50
    },
    "starting_after": {
      "description": "Cursor: pass the previous reply's next_starting_after to get the next page.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "sort": {
      "description": "Sort by id: asc or desc (the vendor default applies when omitted).",
      "type": "string",
      "enum": [
        "asc",
        "desc"
      ]
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢ticketspice_get_order(order_id, include_tickets, include_transactions)

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}.

입력 스키마

{
  "type": "object",
  "properties": {
    "order_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "TicketSpice order id (from ticketspice_list_orders)."
    },
    "include_tickets": {
      "description": "Also return the order's tickets.",
      "type": "boolean"
    },
    "include_transactions": {
      "description": "Also return the order's transactions.",
      "type": "boolean"
    }
  },
  "required": [
    "order_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢ticketspice_list_transactions(form_id, type, payment_method, status, order_id, ...)

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.

입력 스키마

{
  "type": "object",
  "properties": {
    "form_id": {
      "description": "Only transactions of this form.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "type": {
      "description": "Transaction type.",
      "type": "string",
      "enum": [
        "charge",
        "refund",
        "voucher",
        "cash",
        "preauth",
        "chargeback"
      ]
    },
    "payment_method": {
      "description": "Payment method.",
      "type": "string",
      "enum": [
        "card",
        "check",
        "offline"
      ]
    },
    "status": {
      "description": "Transaction status string as the vendor returns it (for example \"completed\" or \"active\").",
      "type": "string",
      "minLength": 1,
      "maxLength": 60
    },
    "order_id": {
      "description": "Only transactions of this order id.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "customer_id": {
      "description": "Only transactions of this customer (buyer) id.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "email": {
      "description": "Only transactions of orders placed with this email.",
      "type": "string",
      "minLength": 3,
      "maxLength": 254
    },
    "order_number": {
      "description": "Only transactions of this order number.",
      "type": "string",
      "minLength": 1,
      "maxLength": 100
    },
    "reference": {
      "description": "Only the transaction with this payment reference (txReference).",
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "created_after": {
      "description": "Only records created after this time.",
      "type": "string"
    },
    "created_before": {
      "description": "Only records created before this time.",
      "type": "string"
    },
    "updated_after": {
      "description": "Only records updated after this time.",
      "type": "string"
    },
    "updated_before": {
      "description": "Only records updated before this time.",
      "type": "string"
    },
    "limit": {
      "description": "Results per page, 1-50 (default 25).",
      "type": "integer",
      "minimum": 1,
      "maximum": 50
    },
    "starting_after": {
      "description": "Cursor: pass the previous reply's next_starting_after to get the next page.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "sort": {
      "description": "Sort by id: asc or desc (the vendor default applies when omitted).",
      "type": "string",
      "enum": [
        "asc",
        "desc"
      ]
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢ticketspice_get_transaction(transaction_id)

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

입력 스키마

{
  "type": "object",
  "properties": {
    "transaction_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "TicketSpice transaction id (from ticketspice_list_transactions)."
    }
  },
  "required": [
    "transaction_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢ticketspice_list_tickets(form_id, status, order_id, order_display_id, customer_id, ...)

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.

입력 스키마

{
  "type": "object",
  "properties": {
    "form_id": {
      "description": "Only tickets of this event (form) id.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "status": {
      "description": "Ticket status string as the vendor returns it (for example \"completed\" or \"active\").",
      "type": "string",
      "minLength": 1,
      "maxLength": 60
    },
    "order_id": {
      "description": "Only tickets of this order id.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "order_display_id": {
      "description": "Only tickets of the order with this customer-facing order display id.",
      "type": "string",
      "minLength": 1,
      "maxLength": 100
    },
    "customer_id": {
      "description": "Only tickets of this customer id.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "email": {
      "description": "Only tickets of orders placed with this email address.",
      "type": "string",
      "minLength": 3,
      "maxLength": 254
    },
    "order_number": {
      "description": "Only tickets of this order number.",
      "type": "string",
      "minLength": 1,
      "maxLength": 100
    },
    "created_after": {
      "description": "Only records created after this time.",
      "type": "string"
    },
    "created_before": {
      "description": "Only records created before this time.",
      "type": "string"
    },
    "updated_after": {
      "description": "Only records updated after this time.",
      "type": "string"
    },
    "updated_before": {
      "description": "Only records updated before this time.",
      "type": "string"
    },
    "limit": {
      "description": "Results per page, 1-50 (default 25).",
      "type": "integer",
      "minimum": 1,
      "maximum": 50
    },
    "starting_after": {
      "description": "Cursor: pass the previous reply's next_starting_after to get the next page.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "sort": {
      "description": "Sort by id: asc or desc (the vendor default applies when omitted).",
      "type": "string",
      "enum": [
        "asc",
        "desc"
      ]
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢ticketspice_get_ticket(ticket_id)

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}.

입력 스키마

{
  "type": "object",
  "properties": {
    "ticket_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "TicketSpice ticket id (from ticketspice_list_tickets)."
    }
  },
  "required": [
    "ticket_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢ticketspice_list_customers(email, created_after, created_before, updated_after, updated_before, ...)

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.

입력 스키마

{
  "type": "object",
  "properties": {
    "email": {
      "description": "Only the customer with this email address.",
      "type": "string",
      "minLength": 3,
      "maxLength": 254
    },
    "created_after": {
      "description": "Only records created after this time.",
      "type": "string"
    },
    "created_before": {
      "description": "Only records created before this time.",
      "type": "string"
    },
    "updated_after": {
      "description": "Only records updated after this time.",
      "type": "string"
    },
    "updated_before": {
      "description": "Only records updated before this time.",
      "type": "string"
    },
    "limit": {
      "description": "Results per page, 1-50 (default 25).",
      "type": "integer",
      "minimum": 1,
      "maximum": 50
    },
    "starting_after": {
      "description": "Cursor: pass the previous reply's next_starting_after to get the next page.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "sort": {
      "description": "Sort by id: asc or desc (the vendor default applies when omitted).",
      "type": "string",
      "enum": [
        "asc",
        "desc"
      ]
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢ticketspice_get_customer(customer_id)

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

입력 스키마

{
  "type": "object",
  "properties": {
    "customer_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "TicketSpice customer id (from ticketspice_list_customers, or an order's customerId)."
    }
  },
  "required": [
    "customer_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢ticketspice_list_coupons(form_id, code, limit, starting_after, sort)

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}.

입력 스키마

{
  "type": "object",
  "properties": {
    "form_id": {
      "description": "Only coupons of this form; omit for the account-wide (global) coupons.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "code": {
      "description": "Only global coupons with this code (ignored with form_id).",
      "type": "string",
      "minLength": 1,
      "maxLength": 100
    },
    "limit": {
      "description": "Results per page, 1-50 (default 25).",
      "type": "integer",
      "minimum": 1,
      "maximum": 50
    },
    "starting_after": {
      "description": "Cursor: pass the previous reply's next_starting_after to get the next page.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "sort": {
      "description": "Sort by id: asc or desc (the vendor default applies when omitted).",
      "type": "string",
      "enum": [
        "asc",
        "desc"
      ]
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢ticketspice_get_coupon(coupon_id)

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

입력 스키마

{
  "type": "object",
  "properties": {
    "coupon_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "TicketSpice coupon id (from ticketspice_list_coupons)."
    }
  },
  "required": [
    "coupon_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟡ticketspice_create_coupon(name, codes, discount_value, discount_type, currency, ...)

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.

입력 스키마

{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200,
      "description": "Internal coupon name."
    },
    "codes": {
      "minItems": 1,
      "maxItems": 20,
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1,
        "maxLength": 100
      },
      "description": "One or more redeemable codes."
    },
    "discount_value": {
      "type": "number",
      "exclusiveMinimum": 0,
      "maximum": 1000000,
      "description": "Discount amount: currency units for a fixed discount, percent (1-100) for a percent discount."
    },
    "discount_type": {
      "type": "string",
      "enum": [
        "fixed",
        "percent"
      ],
      "description": "fixed (a currency amount) or percent."
    },
    "currency": {
      "description": "Currency code, default USD.",
      "type": "string",
      "pattern": "^[A-Za-z]{3}$"
    },
    "available": {
      "description": "How many times the coupon can be used; -1 = unlimited (default).",
      "type": "integer",
      "minimum": -1,
      "maximum": 1000000
    },
    "form_id": {
      "description": "Restrict the coupon to this form; omit for all forms.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "per_ticket": {
      "description": "Apply the discount to each ticket instead of once per order (default false).",
      "type": "boolean"
    },
    "expires": {
      "description": "When the coupon expires; omit for no expiry.",
      "type": "string"
    }
  },
  "required": [
    "name",
    "codes",
    "discount_value",
    "discount_type"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴ticketspice_delete_coupon(coupon_id, confirm)

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}.

입력 스키마

{
  "type": "object",
  "properties": {
    "coupon_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "TicketSpice coupon id to delete."
    },
    "confirm": {
      "type": "boolean",
      "const": true,
      "description": "Must be true: the user approved permanently deleting this coupon."
    }
  },
  "required": [
    "coupon_id",
    "confirm"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

커뮤니티

이 서버 평가하기

증거

최근 관측

검증됨버전이 기록되지 않음도구 15개