Accessoticketing Mcp

io.github.chrischall由 GitHub 账号 chrischall 发布v1.2.1更新于 Nov 7, 2026

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

已验证STDIO仅桌面位置与生活效率与工作流

概览

AI 生成的概览

读取 accesso Passport 移动票券链接,返回订单、各入场凭证、可扫描条码以及 Google Wallet 保存链接。

可以做什么
  • 读取订单及其全部入场凭证,含产品、参与者、日期、开始时间与说明
  • 按索引获取单张入场凭证的完整信息
  • 将条码保存为本地 PNG 文件,或以内联图片、限时下载链接返回
  • 获取票券的 Google Wallet 保存链接
  • 将邮件点击跟踪链接还原为其中隐藏的 accesso 链接
  • 检查服务可达性以及是否已配置默认票券链接
适用场景
当你持有使用 accesso 的场馆(主题公园、水上乐园、营地、博物馆、节庆活动)通过邮件发来的票券链接,希望助手在不打开浏览器的情况下汇总已预订内容、展示入场详情或生成条码与钱包链接时使用。
运行要求
以 npm 包形式通过 npx 在本地运行,需要 Node.js。无需账号或登录,票券链接本身即携带凭证。可选设置 ACCESSO_TICKET_URL 作为默认链接、ACCESSO_OUTPUT_DIR 指定条码图片保存目录,以及在文件系统不属于用户时设置 ACCESSO_NO_FILE_OUTPUT。需要能访问 accesso 票务服务的网络。
安装前请注意
票券链接本身就是机密:任何持有该链接的人都能查看并添加该订单的票券,请勿粘贴到 issue、日志或聊天中。服务器会在自身输出中隐去令牌。除 accesso_save_barcodes 会向本地磁盘写入 PNG 文件外,其余工具均为只读。README 说明该项目由 AI 开发与维护,请自行斟酌使用。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Accessoticketing Mcp,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

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

来源:README.md,提交 af00a6f

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

14
  1. v1.2.1最新Nov 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

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分