Line-Up MCP server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| LINEUP_AUTH | No | Authentication scheme to use: `bearer` (default) or `basic`. The OpenAPI document declares an OAuth2 password/bearer scheme; older docs describe HTTP Basic with the key as the username and no password. If Bearer is rejected, try `basic`. | bearer |
| LINEUP_API_KEY | Yes | Your Line-Up channel API key, sent as `Authorization: Bearer <key>` by default. | |
| LINEUP_CHANNEL | No | An integer sent as the optional `x-channel` header, only on the operations the spec declares it on. Leave unset unless Line-Up tells you to set it. | |
| LINEUP_BASE_URL | No | Base URL for the Line-Up API. Defaults to `https://api.line-up.tickets/api`. | https://api.line-up.tickets/api |
| LINEUP_ALLOW_WRITES | No | Set to `true` to register `create_reservation` and `release_reservation`. Read-only by default. | false |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_eventsA | Events on this channel (shows, productions, exhibitions): name, short description, run time, venue with address, tags, image. Filter by venue and by whether the event has packages; sort by id, name or venue name. Uses GET /event/. |
| get_eventA | One event in full: description, booking information, organisation and currency, venue with address, tags, gallery, seat-view base URL. Uses GET /event/{event_id}/. |
| list_performancesA | Performances (dated showings) with start and end, time zone, total capacity and capacity remaining, and pricing per price band and variant (the price_id values a reservation needs). Filter by event, venue, date range, tags, days of the week. The spec says this endpoint 'bypasses Pydantic due to performance requirements', so the shape is documented but not validated by Line-Up on the way out. Uses GET /performance/. |
| get_performanceA | One performance with its pricing per price band and variant, capacity and capacity remaining, venue plan id. Uses GET /performance/{performance_id}/. |
| get_performance_seatingA | Seating availability for one performance: the seating groups (areas, sections, blocks, rows) with capacity and capacity remaining, from GET /performance/{id}/seating-group/, and optionally the individual available seats (seating objects with price band, seat type and group) from GET /performance/{id}/seating-object/. Seat lists can be large, so seats are off by default and capped by max_seats; a per-group summary is always included when seats are fetched. |
| list_packages_and_add_onsA | Packages (bundles priced per performance, with capacity remaining and total price) for one event (GET /package/, paged) or one performance (GET /performance/{id}/package/). With a transaction_id, also the products available to that basket (GET /product/) and its add-ons such as booking protection (GET /add-on/); the API scopes both to a transaction, so without one they are not fetched. Give event_id or performance_id. |
| list_visitsA | Visits: for each performance a customer holds tickets to, the event, the performance and the ticket items with their transaction (reference, lead booker name, status). Filter to upcoming or past performances with a buffer in minutes around the start time. Uses GET /visit/. |
| get_visitA | One visit with every ticket item, its transaction and, for tickets that were shared with someone, the share (created, claimed). The purchaser's and recipient's email addresses only with include_contact_details. Uses GET /visit/{visit_id}/. |
| get_transactionA | One transaction (basket, reservation or completed booking) by its txn_ id: status, reference, totals (gross, tax, paid, balance), customer name, every ticket item with seat, price and barcode status (GET /transaction/{id}/ticket-item/, paged), product, delivery, payment, add-on, package and adjuster items, coupons, and the staff notes (GET /transaction/{id}/note/, paged). The customer's email, address and phone number only with include_contact_details; barcode codes only with include_barcodes; payment provider data is never returned. |
| get_organisation_contextA | What the channel is set up with: the organisation's currency (GET /meta/), venue plans with admission type (GET /venue-plan/), payment methods by name and type without any provider keys (GET /payment-method/), seat types (GET /seat-type/, optionally for one performance) and, when a transaction_id is given, the delivery methods available to that basket (GET /delivery-method/, which the API scopes to a transaction). |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 10 tools
The list_/get_ pattern cleanly separates collection vs. detail for events, performances, visits and transactions, and get_performance_seating and get_organisation_context are clearly distinct. The only slight ambiguity is list_packages_and_add_ons, which merges packages, products and add-ons with conditional behavior depending on event_id/performance_id/transaction_id.
Every tool follows a consistent verb_noun snake_case convention (list_events, get_event, list_performances, get_performance, get_visit, etc.). The pattern is predictable throughout with no mixed styles or vague verbs.
Ten tools is well within the ideal range and each earns its place, covering the read/query surface for events, performances, seating, packages, visits, transactions and org context without redundancy.
The lifecycle for querying the domain is well covered: list/detail for events, performances, seating, packages, visits and transactions plus configuration context. It is a read-only surface with no reservation/booking creation or update tools, but the descriptions imply a query-oriented purpose rather than a gap.