Skip to main content

walletmcppass: Apple Wallet passes

com.walletmcppass/wallet-mcpVersion 1.2.0

Create signed Apple Wallet passes (.pkpass), singly or in bulk: boarding passes, tickets, coupons.

Status

Responds346 msAnswered our handshake without sign-in.

Registry data may be out of date

We could not refresh it, so this page shows the last copy.
Last checked
Nov 14, 2026, 14:22 UTC
Latency
346 ms
Remotes responding
1 of 1
Sign-in
No sign-in
Hosting
Hosted outside the EU (detected)
Registry data as of
Nov 14, 2026, 21:12 UTC

Data from the official MCP Registry, checked by run.zero. How we check

Connect

Streamable HTTP
https://walletmcppass.com/mcpResponds346 ms
No sign-in

Claude Code

claude mcp add --transport http wallet-mcp https://walletmcppass.com/mcp

Claude Desktop and claude.ai

Settings > Connectors > Add custom connector
Name: wallet-mcp
Remote MCP server URL: https://walletmcppass.com/mcp

Cursor

{
  "mcpServers": {
    "wallet-mcp": {
      "url": "https://walletmcppass.com/mcp"
    }
  }
}

VS Code

code --add-mcp '{"name":"wallet-mcp","type":"http","url":"https://walletmcppass.com/mcp"}'

Built your own server? run.zero hosts MCP servers on European infrastructure.

Host your own MCP server on run.zero

Tools

4 tools

Tools of walletmcppass: Apple Wallet passes
Read-only
Idempotent
Open world
create_wallet_passCreate a signed Apple Wallet pass (.pkpass) and return a link to download it. Builds one pass in one of the five Wallet styles -- boardingPass, eventTicket, coupon, storeCard or generic -- from the text fields, colors, barcode and optional PNG images given below, signs it with this service's Apple Pass Type ID certificate, and returns an https download_url valid for 1 hour. Opening the link on an iPhone shows "Add to Apple Wallet". Passes install on any iOS version; the iOS 26/27 layouts fall back to the classic style on older iPhones. Barcodes: QR, PDF417, Aztec and Code128 on every iOS version; Code39, Codabar, EAN13 and ITF on iOS 27+. The barcode encodes exactly barcode_message. Gate and till scanners read that data, so a copy of an existing boarding pass, ticket or loyalty card only scans if barcode_message is the original barcode's content (airline boarding passes are usually PDF417 or Aztec, holding an IATA BCBP string such as "M1DOE/JANE ..."). This tool does not issue tickets, check anyone in, or contact airlines or venues. The link must be opened in Safari on the iPhone: Wallet adds a pass from Safari, but not from a .pkpass file handed over by another app. Google Wallet on Android also imports these files. Not supported: NFC passes. With updatable=True the pass can be changed later with update_wallet_pass, and copies already in Wallet refresh themselves. Its contents are then stored on this server for updatable_hours (1 hour by default, at most 30 days), then deleted. Returns {download_url, expires_in_seconds, serial_number, pass_type_identifier}, plus edit_token and updatable_until when updatable=True. With x402_ready=False and 3 or fewer free passes left today, also free_passes_left_today and x402_setup (how to set up x402 payments): pass that on to the user. Pricing: a call is one create or one update. The first 10 successful calls each day per caller (IP NoNoNoNo
create_wallet_pass_batchCreate one Apple Wallet pass per attendee from a single design, e.g. tickets for a guest list. Paid, with no free tier: each new pass costs $0.01 in USDC on Base via x402, charged as one payment for the whole call ($0.01 x the number of new passes). The first call is refused with the exact amount; retry it unchanged with the signed payment in x402_payment. Nothing is charged unless every pass builds. A row whose ticket is already in the batch is not charged again and gets the same link. Each pass gets a permanent https link (not the 1-hour download link of create_wallet_pass) that always serves the latest version, and stays installable and updatable until event_end + 7 days. Send the links to attendees yourself (email, WhatsApp, a form); this service sends nothing. Args: rows: up to 1000 attendees per call (5000 per batch), each {"name": str, "ticket": str, "type": optional str (default "General admission"), "email": optional str}. ticket is the unique id within the batch (and the default barcode message). Parse a CSV into these rows yourself. design: for a new batch, create_wallet_pass's parameters (style, organization_name, description, colors, fields, images, ...; not serial_number/updatable/contact_email) whose strings may contain {name} {ticket} {type} {email}, filled in per attendee. Defaults: style "eventTicket", barcode_message "{ticket}". Leave out with batch_key. event_end: for a new batch, when the event ends (ISO 8601, within a year). Leave out with batch_key. batch_key: to add attendees to a batch made earlier, the batch_key it returned. contact_email, x402_ready, x402_payment: as for create_wallet_pass (all calls are paid here). Returns {batch_key (new batch only: it can't be recovered, give it to the user), batch_id, passes: [{name, ticket, type, email, link, new}], created, reused, issued_totaNoNoNoNo
update_wallet_passChange a pass made with create_wallet_pass(updatable=True); every iPhone that added it refreshes. Takes the serial_number and edit_token returned when the pass was created, the required contact_email and x402_ready, plus any of create_wallet_pass's parameters (x402_payment included), with the same meanings. Each parameter given replaces the stored value completely (a fields list replaces the whole list, so resend unchanged fields too); parameters left out keep their current values. Clear a text value with "" and a list with []. To cancel a pass, set voided=True: Wallet marks it void on every iPhone. Wallet asks the server for the new version as soon as Apple delivers the push, usually within seconds. A field's changeMessage is shown on the lock screen when that field's value changes. Only works until the pass's updatable_until time (set by updatable_hours at creation). Returns {download_url, expires_in_seconds, serial_number, pass_type_identifier, notified_devices, updatable_until}. notified_devices counts the iPhones the push was sent to, not ones that have already refreshed. The download_url (valid 1 hour) is only needed to add the pass to a new device. With x402_ready=False the result also has x402_setup, as for create_wallet_pass. YesNoYesNo
update_wallet_pass_batchChange every pass in a batch made with create_wallet_pass_batch (e.g. a new time or venue); every iPhone that added one refreshes within seconds. Paid: $0.01 per pass in the batch, as one x402 payment (refused first with the exact amount; retry unchanged with x402_payment). Nothing is charged if the change doesn't build. Each field list given replaces that list in the design (resend unchanged fields too; strings may use {name} {ticket} {type} {email}). change_message (e.g. "Doors now open at %@") is shown on the lock screen for fields whose value changed. contact_email and x402_ready are required. Returns {batch_id, updated, notified_devices, charged, payment}. YesNoNoNo

Details

Registry status
Active
Published
Nov 13, 2026
Updated
Nov 13, 2026
Categories (suggested)
Finance and paymentsSuggested categories are assigned automatically from the registry text and may be wrong. Verified operators can correct them.
GDPR
Not declared

Are you the operator? Claim this listing