Accessoticketing Mcp

io.github.chrischallPublished by GitHub account chrischallv1.2.1Updated Nov 7, 2026

Read accesso mobile ticket links: orders, admissions, barcodes and Google Wallet passes.

Overview

AI-generated overview

Reads an accesso Passport mobile ticket link to return the order, its admissions, scannable barcodes and Google Wallet save links.

What you can do
  • Read an order and every admission on it, with product, participant, date, start time and instructions
  • Fetch a single admission in full by index
  • Save barcode images as PNG files locally, or return them inline or as expiring download links
  • Get Google Wallet save links for the tickets
  • Unwrap an email click-tracking link into the accesso URL it hides
  • Check reachability and whether a default ticket link is configured
When to use it
Useful when you have a ticket link emailed by a venue that uses accesso (theme parks, water parks, camps, museums, festivals) and want an assistant to summarise what is booked, show admission details, or produce barcodes and wallet links without opening a browser.
Requirements
Runs locally as an npm package via npx, so Node.js is needed. No account or login: the ticket link itself carries the credential. Optionally set ACCESSO_TICKET_URL as a default link, ACCESSO_OUTPUT_DIR for saved barcode images, and ACCESSO_NO_FILE_OUTPUT where the filesystem is not the user's. Network access to the accesso ticketing service is required.
Before you install
The ticket link is itself a secret: anyone holding it can view and add the order's tickets, so avoid pasting it into issues, logs or chats. The server redacts tokens from its own output. Tools are read-only except accesso_save_barcodes, which writes PNG files to disk on a local install. The README states the project is developed and maintained by AI and to use it at your own discretion.

Installation

In SourceWeft

  1. Open Accessoticketing Mcp in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

accessoticketing-mcp

[CI] [npm]

An MCP server for accesso Passport mobile ticket links — the URL a venue emails you after a purchase. Reads the order and every admission on it, the scannable barcodes, and Google Wallet save links.

accesso powers ticketing for a lot of theme parks, water parks, camps, museums and festivals, so one server covers all of them: the merchant is encoded in the link.

Developed and maintained by AI (Claude Code). Use at your own discretion.

What it needs

No login. These links carry their own credential — the oToken in the query string is what authorises the read. There is no account, no password, no browser session, and no bot wall.

[!WARNING] That also means the link is a secret. Anyone holding it can view and add the order's tickets. Treat it like a password: don't paste it into issues, logs or chats. This server redacts the tokens from its own output and error messages.

Install

bash
npx -y @chrischall/accessoticketing-mcp
jsonc
// claude_desktop_config.json / .mcp.json{  "mcpServers": {    "accessoticketing": {      "command": "npx",      "args": ["-y", "@chrischall/accessoticketing-mcp"],      "env": { "ACCESSO_TICKET_URL": "https://media-engine.na3.accessoticketing.com/tickets/v1/..." }    }  }}

ACCESSO_TICKET_URL is optional — it just saves passing url on every call. The server starts fine without it and reports the missing link on first use.

VariableRequiredPurpose
ACCESSO_TICKET_URLnoDefault ticket link, used when a tool is called without url.
ACCESSO_OUTPUT_DIRnoWhere accesso_save_barcodes writes PNGs. Defaults to cwd, or ~/Downloads when cwd is / (Claude Desktop).
ACCESSO_NO_FILE_OUTPUTnoSet to 1 where the filesystem isn't the user's so barcodes return inline. Not needed on mcp-host: a hosted deployment (MCP_DATA_DIR / MCP_BLOB_BASE_URL set) is detected and never writes to disk.

Tools

ToolDoes
accesso_get_orderThe order and every admission: product, participant, date, start time, instructions. Returns the slim per-ticket list by default; view: "full" for every parsed field.
accesso_get_ticketOne admission in full, by index.
accesso_save_barcodesLocally, writes barcode PNGs and returns paths. Hosted, returns the images inline (with a download link for any past the size cap), or one expiring download link per barcode with inline: false. inline: true inlines anywhere.
accesso_get_wallet_passesGoogle Wallet save links for the tickets.
accesso_resolve_linkUnwraps an email click-tracking link to the accesso URL it hides.
accesso_healthcheckConfirms reachability and whether a default link is configured.

Nothing here mutates an order. Every tool is read-only except accesso_save_barcodes, which writes PNG files to disk (never overwriting one) on a local install, or to the host's blob store behind a signed, expiring link when hosted, unless asked for inline images.

> what do we have booked tomorrow?9:00 AM   Tiny Trekkers Full-Day (Ages 4-7)   — one participant9:00 AM   Whitewater Kayak Camp I: Intro      — two participantsall-day   Lunch / Snack / Early Drop-Off      — nine more admissions

Upgrading

next release

accesso_save_barcodes no longer writes to the server's disk on a hosted deployment (mcp-host). Local installs are unchanged: same files, same { outputDir, saved: [{ index, participant, packageName, path }] } result.

  • Hosted, inline: false (or a server with a writable disk AND a blob store, called without inline): returns { order, note, saved: [{ index, participant, packageName, barcodeText, url, expiresAt }] } — one signed download link per barcode, expiring at expiresAt. There is no outputDir and no path. Previously a hosted server without ACCESSO_NO_FILE_OUTPUT wrote the PNGs to the runner's disk and returned paths nobody could open.
  • Inline results (returned, tickets, …) gain linked: [{ …, url, expiresAt }] and linkNote when a blob store is available: barcodes past the inline size cap now come back as links instead of being dropped, so omittedForSize / omittedIndexes only appear when there is no blob store. With no blob store and inline: false (nowhere to save), the inline result carries a note saying so.
  • When not a single barcode fits the inline cap and there is no link or disk route, the tool now fails with a too_large error instead of returning an empty image list.
  • On a hosted deployment ACCESSO_NO_FILE_OUTPUT is no longer needed, and accesso_healthcheck reports filesPersist: false there.

Shell-out skill

Prefer a shell? skills/accesso-tickets/ does the same reading with curl and a dependency-free parser, no server required. It ships with the package.

Notes on the data

  • date / time are the merchant's local wall-clock strings with no timezone attached. They are passed through verbatim rather than converted.
  • Merchant-specific detail rows (Guest Number, Web Sales ID, …) are harvested generically into details, so a venue this was never tested against still works.
  • An expired link returns HTTP 200, not an error status — the server detects the body and says the link is expired rather than reporting zero tickets.

Development

bash
npm installnpm run buildnpm testnpm run test:coverage   # 100% thresholds, enforced in CI

See docs/ACCESSO-API.md for the captured request/response shapes and CLAUDE.md for repo conventions.

License

MIT

Source: README.md at commit af00a6f

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

14
  1. v1.2.1LatestNov 7, 2026
  2. v1.2.0Nov 4, 2026
  3. v1.1.2Oct 20, 2026
  4. v1.1.1Oct 16, 2026
  5. v1.1.0Oct 10, 2026
  6. v1.0.6Oct 7, 2026
  7. v1.0.5Oct 5, 2026
  8. v1.0.4Oct 3, 2026
  9. v1.0.3Sep 25, 2026
  10. v1.0.2Sep 23, 2026
  11. v1.0.1Sep 23, 2026
  12. v1.0.0Sep 20, 2026
  13. v0.3.0Sep 18, 2026
  14. v0.2.1Sep 16, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts