agentCLAWHUBUnverified

accessoticketing-mcp

Read accesso-powered mobile ticket links (accessoticketing.com media-engine URLs from confirmation emails) — order number, per-ticket product, participant, date/time, barcodes, Google Wallet passes — with curl. Skill: accessoticketing-mcp Owner: chrischall Summary: Read accesso-powered mobile ticket links (accessoticketing.com media-engine URLs from confirmation emails) — order number, per-ticket product, participant, date/time, barcodes, Google Wallet passes — with curl. Tags: latest:1.1.0 Version history: v1.1.0 | 2026-10-09T23:26:59.659Z | auto Version 1.1.0 - Added logic to ensure barcode PNG files written by --barcodes

OpenClaw

Rank

62

Safety

84

Downloads

990

Updated

Oct 11, 2026

Version

1.1.0

Source

CLAWHUB

About

What it does, and when to use it.

Capability contract not published. No trust telemetry is available yet. 990 downloads reported by the source. Last updated 10/11/2026.

Avoid when

  • Contract metadata is missing or unavailable for deterministic execution.

Risk flags: missing_or_unavailable_contract, trust_data_unavailable, schema_references_missing

Public facts

Every fact links back to the source it came from.

Vendor
Clawhubvendor · observed Oct 11, 2026
Protocol compatibility
OpenClawcompatibility · observed Oct 11, 2026
Adoption signal
990 downloadsadoption · observed Oct 11, 2026
Latest release
1.1.0release · observed Oct 9, 2026
Handshake status
UNKNOWNsecurity

What changed

Newest first. Only changes that point at a source are listed.

  • Release 1.1.0release

    Version 1.1.0 - Added logic to ensure barcode PNG files written by --barcodes are never overwritten; repeated runs now write incrementing filenames (…-2.png, …-3.png, etc.). - Updated documentation to describe non-overwriting barcode file behavior. - Removed the redundant skill-card.md file.

    Observed Oct 9, 2026 · source

Install and run

Setup complexity: low.

clawhub skill install s17cjx1a349nz5apaqp02vgz4h85728z:accessoticketing-mcp
  1. Setup complexity is classified as HIGH. You must provision dedicated cloud infrastructure or an isolated VM. Do not run this directly on your local workstation.
  2. Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data.

Contract: missing

curl -s "https://www.xpersona.co/api/v1/agents/clawhub-chrischall-accessoticketing-mcp/snapshot"

Run-check

$0.02 USD

1 measured facts are behind this paywall: success rate and latency, uptime and estimated cost, when not to use it, how to call it, benchmark scores.

Agents pay $0.02 in USDC. A card payment is $0.50, the smallest a card allows.

Documentation

CLAWHUB

116,762 characters of source documentation, loaded on request.

Extracted files

4 files captured from the source.

SKILL.md

---
name: accesso-tickets
description: "Read accesso-powered mobile ticket links (accessoticketing.com media-engine URLs from confirmation emails) — order number, per-ticket product, participant, date/time, barcodes, Google Wallet passes — with curl."
---

# accesso tickets

For accesso Passport mobile-ticket links, which look like:

```
https://media-engine.<region>.accessoticketing.com/tickets/v1/<island>?oToken=A1:…&cToken=A1:…&merchant_id=<n>
```

Many venues deliver tickets this way (US National Whitewater Center, theme parks, festivals). The link arrives in the order-confirmation email, often behind a click-tracker — resolve that first with `curl -sSIL <tracking-url> | grep -i ^location`.

**No login, no browser bridge.** The `oToken` in the URL *is* the credential, and the page is plain-`curl` reachable server-side. Treat the URL as a secret: it grants anyone the order's tickets and barcodes. Never paste one into a file, a commit, or an issue.

## Core pattern

`references/parse-tickets.mjs` is dependency-free (no `node_modules`) and takes a URL, a file, or `-` for stdin:

```bash
P=~/.claude/skills/accesso-tickets/references/parse-tickets.mjs
node "$P" "$TICKET_URL" | jq .
```

Useful flags:

- `--barcodes <dir>` — write each ticket's barcode as a PNG (`ticket-<idx>-<ticketId>.png`; an existing file is never overwritten — a re-run writes `…-2.png`) and add `barcodeFile` to the output.
- `--terms` — include the (long, boilerplate, per-ticket-identical) `termsAndConditions`. Omitted by default.
- `--url <original-url>` — supply the source URL when parsing a saved file, so `googleWalletUrl` can be built.

Exit codes: `3` no tickets parsed (expired link, or layout drift — the message says which), `4` HTTP error fetching, `64` bad usage.

## Output

Top level: `orderNumber`, `island`, `merchantId`, `merchantLogo`, `ticketCount`, `declaredTicketCount`, `tickets[]`.

Per ticket: `index`, `ticketId`, `packageName`, `participant`, `additionalGuests[]`, `date`, `time` (absent on all-day items), `barcodeText`, `barcodeIsDataUrl`, `instructions`, `googleWalletUrl`, plus any other label/value pair the merchant rendered (commonly `guestNumber`, `webSalesId`).

Extra fields are harvested generically from the page's label/value markup rather than hardcoded, so a merchant with different detail rows still comes through. See `references/recipes.md` for jq recipes and the verified request shapes.

## Gotchas

- **An expired or invalid link returns HTTP 200**, not 4xx — the body just says "no tickets available to print on this order." Status alone never tells you the link is dead; the parser checks the body and says so.
- **Every ticket is rendered twice** (a mobile `ticket-item-container<N>` grouping and a `desktopTicketGrouping` one) sharing barcode element ids. Parse only the mobile blocks or you get doubles.
- **`ticketId` lives in neither rendering** — it is in the trailing "Register this ticket" modal section, one hidden input per ticket in ticket order

_meta.json

{
  "ownerId": "kn700jq4sjtf2anb0rk3ft4p7n856872",
  "slug": "accessoticketing-mcp",
  "version": "1.1.0",
  "publishedAt": 1791588419659
}

references/recipes.md

# accesso ticket recipes

All shapes below were captured live against a real accesso order
(`media-engine.na3.accessoticketing.com`, island `accesso155`, 12 tickets).
Replace `$TICKET_URL` with the link from the confirmation email — never commit one.

```bash
P=~/.claude/skills/accesso-tickets/references/parse-tickets.mjs
```

## Resolve a tracked link first

Confirmation emails wrap the link in a click-tracker (SendGrid `…/ls/click?upn=…`, etc.):

```bash
curl -sSIL "$TRACKED_URL" | grep -i '^location:' | tail -1
```

Take the final `media-engine.*/tickets/v1/*` URL. Keep the whole query string —
`oToken` **and** `cToken` are both required.

## Everyday queries

```bash
# One line per ticket: who, when, what
node "$P" "$TICKET_URL" 2>/dev/null \
  | jq -r '.tickets[] | [.date, (.time // "all-day"), .participant, .packageName] | @tsv' \
  | column -t -s $'\t'

# Group by participant
node "$P" "$TICKET_URL" 2>/dev/null \
  | jq -r '.tickets | group_by(.participant)[] | "\(.[0].participant): \(map(.packageName) | join(", "))"'

# Just the timed items (the ones with a start time you must not miss)
node "$P" "$TICKET_URL" 2>/dev/null | jq '[.tickets[] | select(.time)] | map({time, participant, packageName})'

# Distinct products and counts
node "$P" "$TICKET_URL" 2>/dev/null | jq -r '.tickets | group_by(.packageName)[] | "\(length)x \(.[0].packageName)"'

# Order header
node "$P" "$TICKET_URL" 2>/dev/null | jq '{orderNumber, island, merchantId, ticketCount}'

# Per-product instructions (deduped — merchants repeat them on every ticket)
node "$P" "$TICKET_URL" 2>/dev/null \
  | jq -r '[.tickets[] | {packageName, instructions}] | unique_by(.packageName)[] | "## \(.packageName)\n\(.instructions)\n"'
```

## Barcodes

```bash
node "$P" "$TICKET_URL" --barcodes ~/Desktop/tickets >/dev/null
open ~/Desktop/tickets   # macOS
```

Each file is `ticket-<index>-<ticketId>.png`. The scannable value is also in
`barcodeText` (e.g. `ID %RC<order-number>`) if you'd rather regenerate the code yourself.

## Google Wallet passes

Verified endpoint — returns `{"jwt": "..."}` at HTTP 200:

```
GET https://media-engine.<region>.accessoticketing.com/google-wallet/v1/<island>/<oToken>/<ticketId>
```

The page sends an `X-ACCESSOPASSPORT-ORIGIN: <store-origin>` header; it is **not**
required (a bare curl returns 200). Turn a JWT into a save link with Google's
standard form, `https://pay.google.com/gp/v/save/<jwt>` (verified: resolves, and
prompts Google sign-in as expected):

```bash
node "$P" "$TICKET_URL" 2>/dev/null | jq -r '.tickets[] | select(.googleWalletUrl) | "\(.ticketId)\t\(.googleWalletUrl)"' \
| while IFS=$'\t' read -r id url; do
    jwt=$(curl -sS "$url" | jq -r .jwt)
    printf '%s\thttps://pay.google.com/gp/v/save/%s\n' "$id" "$jwt"
  done
```

These URLs embed the order token — treat the output as secret.

## Page structure (why the parser looks the way it does)

Server-rendered HTML, no JSON store, no bot wall, no auth beyond the URL tokens.

- `span.ticketHe

skill-card.md

## Description:

Reads accesso mobile-ticket links to extract order and ticket details, barcodes, and Google Wallet pass links.

This skill is ready for commercial/non-commercial use.

## Publisher:

[chrischall](https://clawhub.ai/user/chrischall)

### License/Terms of Use:

MIT-0

## Use Case:

Ticket holders and their agents use the skill to inspect accesso confirmation links, summarize ticket times and participants, and retrieve barcodes or Google Wallet pass links.

### Deployment Geography for Use:

Global

## Known Risks and Mitigations:

Risk: Ticket URLs, barcodes, parsed JSON, and wallet links may function as live ticket credentials.

Mitigation: Keep them out of issues, commits, shared chats, logs, screenshots, and synced folders; delete exported barcode files when no longer needed.

## Reference(s):

- [ClawHub skill release](https://clawhub.ai/chrischall/skills/accessoticketing-mcp)
- [Ticket parsing recipes](references/recipes.md)
- [Ticket parser](references/parse-tickets.mjs)

## Skill Output:

**Output Type(s):** [Guidance, Shell commands, JSON, PNG images]

**Output Format:** [Text and shell commands; structured JSON ticket details and optional PNG barcodes]

**Output Parameters:** [1D]

**Other Properties Related to Output:** [Ticket links, parsed details, barcode files, and wallet links can grant access to tickets.]

## Skill Version(s):

1.1.0 (source: ClawHub release evidence)

## Ethical Considerations:

Users should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.
Github ReposUpdated 3d agoRank 70

AionUi

Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!

MCPOPENCLAW
Github ReposUpdated 6mo agoRank 70

activepieces

AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents

OPENCLAW
Github ReposUpdated 6mo agoRank 70

cherry-studio

AI productivity studio with smart chat, autonomous agents, and 300+ assistants.

MCPOPENCLAW
Github ReposUpdated 7mo agoRank 70

CopilotKit

The Frontend for Agents & Generative UI. React + Angular

OPENCLAW

Machine-readable data

The same record, as JSON, for agents and crawlers.

{
  "facts": [
    {
      "factKey": "vendor",
      "category": "vendor",
      "label": "Vendor",
      "value": "Clawhub",
      "href": "https://clawhub.ai/chrischall/skills/accessoticketing-mcp",
      "sourceUrl": "https://clawhub.ai/chrischall/skills/accessoticketing-mcp",
      "sourceType": "profile",
      "confidence": "medium",
      "observedAt": "2026-10-11T21:30:43.624Z",
      "isPublic": true
    },
    {
      "factKey": "protocols",
      "category": "compatibility",
      "label": "Protocol compatibility",
      "value": "OpenClaw",
      "href": "https://www.xpersona.co/api/v1/agents/clawhub-chrischall-accessoticketing-mcp/contract",
      "sourceUrl": "https://www.xpersona.co/api/v1/agents/clawhub-chrischall-accessoticketing-mcp/contract",
      "sourceType": "contract",
      "confidence": "medium",
      "observedAt": "2026-10-11T21:30:43.624Z",
      "isPublic": true
    },
    {
      "factKey": "traction",
      "category": "adoption",
      "label": "Adoption signal",
      "value": "990 downloads",
      "href": "https://clawhub.ai/chrischall/accessoticketing-mcp",
      "sourceUrl": "https://clawhub.ai/chrischall/accessoticketing-mcp",
      "sourceType": "profile",
      "confidence": "medium",
      "observedAt": "2026-10-11T21:30:43.624Z",
      "isPublic": true
    },
    {
      "factKey": "latest_release",
      "category": "release",
      "label": "Latest release",
      "value": "1.1.0",
      "href": "https://clawhub.ai/chrischall/accessoticketing-mcp",
      "sourceUrl": "https://clawhub.ai/chrischall/accessoticketing-mcp",
      "sourceType": "release",
      "confidence": "medium",
      "observedAt": "2026-10-09T23:26:59.659Z",
      "isPublic": true
    },
    {
      "factKey": "handshake_status",
      "category": "security",
      "label": "Handshake status",
      "value": "UNKNOWN",
      "href": "https://www.xpersona.co/api/v1/agents/clawhub-chrischall-accessoticketing-mcp/trust",
      "sourceUrl": "https://www.xpersona.co/api/v1/agents/clawhub-chrischall-accessoticketing-mcp/trust",
      "sourceType": "trust",
      "confidence": "medium",
      "observedAt": null,
      "isPublic": true
    }
  ],
  "events": [
    {
      "eventType": "release",
      "title": "Release 1.1.0",
      "description": "Version 1.1.0 - Added logic to ensure barcode PNG files written by --barcodes are never overwritten; repeated runs now write incrementing filenames (…-2.png, …-3.png, etc.). - Updated documentation to describe non-overwriting barcode file behavior. - Removed the redundant skill-card.md file.",
      "href": "https://clawhub.ai/chrischall/accessoticketing-mcp",
      "sourceUrl": "https://clawhub.ai/chrischall/accessoticketing-mcp",
      "sourceType": "release",
      "confidence": "medium",
      "observedAt": "2026-10-09T23:26:59.659Z",
      "isPublic": true
    }
  ]
}

Record generated Oct 12, 2026.

For crawlers

This page is free to read. The run-check above is the only paid part, and it answers HTTP 402 until it is paid. Everything else here is public.

  • One record, as JSON: card, facts, snapshot, contract, trust, changes, warnings, seen by, disagreements.
  • Every agent, one feed: /.well-known/ai-catalog.json
  • What this site sells, and the price: /.well-known/x402
  • Paid run-check: /api/v1/agents/clawhub-chrischall-accessoticketing-mcp/run-check

Sponsored

Ads related to accessoticketing-mcp and adjacent AI workflows.