Open-source B2B and marketplace ecommerce; new stores include an MCP server for AI agents.
walletmcppass: Apple Wallet passes
Überblick
Beschreibung vom Entwickler (englisches Original)
Create signed Apple Wallet passes (.pkpass): boarding passes, tickets, coupons, store cards.
Die drei Säulen von PopNx MCP
Diese drei werden nie zu einer Punktzahl zusammengefasst: Meinungen, Messungen und Beliebtheit sind verschiedene Dinge.
- Stimmen der NutzeriNoch keine BewertungenBewertungen starten in einem späteren Schritt zusammen mit Benutzerkonten
- Unsere Basischecksi0 von 1 bestandenAnhand öffentlicher Informationen geprüft; Code noch nicht gescannt
- NutzungiNoch nicht gemessen★ –
Was du damit machen kannst
Für diesen Server haben wir noch keine Zusammenfassung in einfacher Sprache geschrieben. Unten stehen die Fakten, die wir aus der Registry gelesen haben.
- Verbindung: Läuft in der Cloud
- Transport: Streamable HTTP
- Kategorie: Onlineshops & Zahlungen
Installation
Wähle die KI-App, die du nutzt, und kopiere die Einstellungen.
Bevor du installierst
- Basischecks: 0 von 1 bestanden
- Läuft auf dem Server des Entwicklers: Was du fragst, läuft über dessen Server.
- Die Registry nennt keinen Schlüssel zum Eintragen.
Du brauchst
- Läuft in der CloudNichts zu installieren; die Verbindung läuft übers Internet
Welche App nutzt du?
Wähle oben deine App. Wir merken sie uns, damit der Button beim nächsten Mal „In … installieren“ anzeigt.
Funktioniert in Claude im Web, auf dem Desktop und auf dem Handy:
- Öffne Settings → Connectors
- Tippe auf Add custom connector
- Füge die Adresse unten ein und tippe auf Add
- Wenn eine Anmeldung verlangt wird, melde dich beim Dienst des Entwicklers an
https://walletmcppass.com/mcpFühre das in deinem Terminal aus
claude mcp add --transport http wallet https://walletmcppass.com/mcpOder kopier die Einstellungen selbst
In .cursor/mcp.json in deinem Projekt oder in ~/.cursor/mcp.json einfügen
{
"mcpServers": {
"wallet": {
"url": "https://walletmcppass.com/mcp"
}
}
}Dein Browser fragt, ob er die App öffnen darf, dann zeigt die App die Einstellungen und bittet dich um Bestätigung. Schlüsselwerte bleiben leer, damit du sie selbst einträgst.
Oder kopier die Einstellungen selbst
In .vscode/mcp.json in deinem Projekt einfügen
{
"servers": {
"wallet": {
"type": "http",
"url": "https://walletmcppass.com/mcp"
}
}
}Dein Browser fragt, ob er die App öffnen darf, dann zeigt die App die Einstellungen und bittet dich um Bestätigung. Schlüsselwerte bleiben leer, damit du sie selbst einträgst.
ChatGPT verbindet sich nur mit Servern im Internet:
- Öffne ChatGPT im Web → Settings → Connectors (Apps)
- Tippe auf Create oder Add (bei manchen Tarifen musst du zuerst Developer mode unter Advanced einschalten)
- Füge die Adresse unten ein, gib ihr einen Namen und speichere
- Wenn eine Anmeldung verlangt wird, melde dich beim Dienst des Entwicklers an
https://walletmcppass.com/mcpMenünamen können sich je nach Tarif und mit der Zeit leicht unterscheiden.
Deine Auswahl bleibt in einem Cookie auf diesem Gerät; kein Konto nötig.
Diese Einstellungen werden aus dem Registry-Eintrag des Entwicklers erzeugt. Wenn in der README etwas anderes steht, folge der README.
Was er kann
Die Tool-Liste dieses Servers haben wir noch nicht gelesen; wir prüfen die Endpunkte reihum.
Basischecksi
Wir prüfen Informationen, die jeder sehen kann; den Code haben wir nicht gelesen. Checks, die nicht zutreffen, werden nicht mitgezählt. · Geprüft am 7. Nov. 2026
- ! Vorsicht
Entwickler passt zum Repo
Der Herausgeber (walletmcppass.com) ist nicht der Repo-Inhaber (arshwaraich); vielleicht hat jemand anderes ihn eingetragen
- … Noch nicht geprüft
Wird noch gepflegt
Dieses Repo haben wir noch nicht von GitHub gelesen
- … Noch nicht geprüft
Hat eine Lizenz
Dieses Repo haben wir noch nicht von GitHub gelesen
- … Noch nicht geprüft
Endpunkt antwortet
Noch nicht geprüft; wir prüfen die Endpunkte reihum
- … Noch nicht geprüft
Anmeldung mit OAuth
Noch nicht geprüft; wir prüfen die Endpunkte reihum
- … Noch nicht geprüft
Keine versteckten Anweisungen in Tool-Beschreibungen
Noch nicht geprüft; wir lesen die Tool-Liste, wenn wir den Endpunkt prüfen
Im Vergleich mit anderen in Onlineshops & Zahlungeni
- Mehr Sterne als 0 % der anderen 2535 Server in dieser Kategorie
- Neuer in der Registry veröffentlicht als 57 % der anderen 2535 Server in dieser Kategorie
- Basischecks gleich gut wie oder besser als bei 35 % der anderen 2535 Server in dieser Kategorie
Verglichen mit allen aktiven Servern dieser Kategorie in der Registry. Sterne zählen nur, wenn dem Herausgeber das Repo gehört.
Häufige Fragen
Ist walletmcppass: Apple Wallet passes sicher?
Er hat 0 von 1 zutreffenden Basischecks bestanden. Den Code haben wir nicht gelesen. Bevor du einen Schlüssel oder Token hinzufügst, sieh nach, welche Zugriffe der Server verlangt, und nutze einen Schlüssel, der nur die Berechtigungen hat, die du brauchst.
Welche Schlüssel oder Codes braucht er?
Die Registry nennt keinen erforderlichen Schlüssel, manche Server bitten dich aber bei der ersten Nutzung, dich anzumelden.
Läuft er auf meinem Computer oder in der Cloud?
Er läuft in der Cloud des Entwicklers. Du verbindest dich übers Internet, ohne etwas zu installieren, aber was du sendest, läuft über die Server des Entwicklers.
Wird er noch gepflegt?
Das GitHub-Repo wurde zuletzt – geändert, und die neueste Version (1.1.0) kam vor 22 Tagen in die Registry.
Welche Apps können ihn nutzen?
Apps, die MCP unterstützen, etwa Claude Desktop, Claude Code, Cursor und VS Code. Er verbindet sich per URL, also funktionieren auch Apps, die Remote-MCP-Server akzeptieren, zum Beispiel ChatGPT im Entwicklermodus.
Was kann ich stattdessen nutzen?
In derselben Kategorie: Spree Commerce: open-source B2B and marketplace ecommerce, Stripe MCP, MCP Cn Commerce
Alternativen
Server derselben Kategorie von anderen Entwicklern, sortiert nach Sternen.
So liest du eine Karte:★ GitHub-SterneiDrei Säulen: Bewertungen · Checks · NutzungiAktualisiert = neueste Version in der Registry veröffentlichti
Stripe MCP
MCP server integrating with Stripe - tools for customers, products, payments, and more.
MCP Cn Commerce
8 read-only MCP platform entries; support is operation-specific; merchant live acceptance pending
README vom Entwickler
README öffnen
Unverändert aus dem Repo des Entwicklers übernommen. PopNx MCP hat den Inhalt weder geprüft noch empfiehlt es ihn. HTML, Bilder und Skripte wurden entfernt. Links führen von dieser Website weg.
wallet-mcp: free Apple Wallet pass generator for Claude, ChatGPT and any MCP client
Turn a PDF boarding pass, ticket, coupon or loyalty card into a signed Apple Wallet pass (.pkpass) from an AI assistant, with no Apple Developer account. wallet-mcp is the open-source server behind walletmcppass.com: an MCP server with two tools, create_wallet_pass and update_wallet_pass, and the same pass builder as a REST API.
| MCP endpoint | https://walletmcppass.com/mcp (Streamable HTTP) |
| REST API | POST https://walletmcppass.com/api/passes, PATCH .../api/passes/{serial} |
| Sign-in | None. No account or API key, just a contact email on each call |
| Price | Free for 30 calls (creates + updates) a day per IP address, 20 from 2026-11-18; past that $0.01 per call in USDC on Base, paid with x402 |
| Limits | 500 free calls a day in total; paid: 1,000 a day per IP, 10,000 in total; passes up to 10 MB |
| Pass types | Boarding pass, event ticket, coupon, store card, generic (+ iOS 27 poster layout) |
| Works with | Claude, ChatGPT, Codex, the OpenAI Responses API, Claude Code, any Streamable HTTP MCP client |
| Output | A download link, valid for 1 hour, that opens "Add to Apple Wallet" on an iPhone |
| Updates | Optional: updatable=True passes can be changed for 1 hour, or up to 30 days with updatable_hours, and installed copies refresh |
Quick start
Claude (web, desktop and mobile; any plan, Free allows one custom connector): open Customize → Connectors, click + Add → Add custom connector, name it walletmcppass, paste https://walletmcppass.com/mcp, choose No sign in and click Add. In a chat, click + → Connectors and switch it on. Full steps.
ChatGPT: go to chatgpt.com/plugins, select + → Add custom MCP server, name it walletmcppass, enter https://walletmcppass.com/mcp under Connection, set authentication to none and select Create as a plugin. In a chat, type @ and pick walletmcppass. Availability depends on your plan and workspace settings. Full steps.
Codex
codex mcp add walletmcppass --url https://walletmcppass.com/mcp
Claude Code
claude mcp add --transport http walletmcppass https://walletmcppass.com/mcp
OpenAI Responses API
from openai import OpenAI
client = OpenAI() response = client.responses.create( model="gpt-6-astra", tools=[{ "type": "mcp", "server_label": "walletmcppass", "server_description": "Creates signed Apple Wallet passes.", "server_url": "https://walletmcppass.com/mcp", "require_approval": "never", }], input="Make an Apple Wallet coupon for 20% off at Harbor Café, valid until 31 December, with the QR code CAFE20.", ) print(response.output_text)
Any other MCP client: add a remote Streamable HTTP server at https://walletmcppass.com/mcp, with no headers. No MCP client? Use the REST API.
Then ask for a pass:
- "Make an Apple Wallet boarding pass from this PDF." (with the PDF attached)
- "Turn my climbing gym card into a Wallet pass. Member number 004217, Code 128 barcode."
- "Create an event ticket for Blue Note on Friday at 9pm, seat B12, with this QR code text: TICKET-0042."
PDF boarding pass to Apple Wallet
Give your assistant the airline's PDF or a screenshot and it builds a Wallet boarding pass. Boarding passes are built from your real airline-issued barcode: the pass carries the same barcode data as your PDF (usually a PDF417 or Aztec code holding an IATA BCBP string), which is what security and gate scanners read. The service doesn't issue tickets, check you in or contact airlines, and the pass won't receive gate changes. Assistants read a PDF's printed text reliably but can't always decode the barcode image; if yours can't, scan it with a barcode scanner app and paste the text.
Compared with Create a Pass in iOS 27
Wallet in iOS 27 can scan a card or fill in a Standard, Membership or Event template on the iPhone, which covers a single simple card. wallet-mcp adds:
- boarding pass, coupon and store card layouts, Apple's iOS 26 semantic boarding pass and the iOS 27 poster layout;
- passes built by an assistant or app from a PDF, an email or a sentence, instead of a form on the phone;
- control over the barcode format (QR, PDF417, Aztec, Code 128 everywhere; Code 39, Codabar, EAN-13, ITF on iOS 27), colors, logo, images and back-of-pass text;
- a signed
.pkpassfile you can share, or add on an iPhone that isn't running iOS 27.
Privacy, terms and support
walletmcppass.com is an independent project, not affiliated with Apple. Pass contents aren't written to the request log, and pass files are deleted when their link expires after 1 hour; the request log keeps only the time, IP address, pass style and organization name, plus the contact email and x402 status every call must send. Updatable passes are stored for their update window (1 hour by default, at most 30 days) and then deleted. Questions and bug reports: GitHub issues.
Why this exists
Building a .pkpass by hand means writing pass.json, generating icon/logo art, hashing every file into a manifest, signing it with an Apple Pass Type ID certificate, and zipping it up flat — a fiddly, easy-to-get-wrong process (see the "gotchas" below). This wraps that whole pipeline behind a single MCP tool call, so an LLM agent (or you, through one) can just ask for a pass.
How it works
One process, one port, four things on it:
- The MCP endpoint (Streamable HTTP) at
/mcp— thecreate_wallet_passtool. - The REST API at
POST /api/passes— the same pass builder for non-MCP callers. It shares the rate limits and request log with the tool; each logged request records which one it came through (source=mcporapi). - A usage dashboard at
/and/api/stats— request counts, success/error rate, recent activity, all read from a local SQLite log. The hosted instance doesn't expose these publicly. - Short-lived download links at
/download/{token}— built passes are served with the correctapplication/vnd.apple.pkpasscontent type (required for Wallet to recognize the file) and expire after 1 hour, swept by file mtime so a crash/restart can't leak files.
server.py MCPServer instance: the tool + custom HTTP routes (REST API, dashboard, stats, downloads)
pass_builder.py Builds pass.json per style, signs the manifest with openssl smime, zips the .pkpass image_gen.py Pillow-based icon/logo generation (colored square + initials / wordmark) db.py SQLite request log + per-IP and global daily rate limits dashboard.html Static dashboard page, polls /api/stats every 15s wallet-mcp.service Example systemd unit (Restart=on-failure, boots enabled)
The tool: create_wallet_pass
Annotated with title: "Create Apple Wallet pass", readOnlyHint: false and destructiveHint: false: it only ever creates a new pass file.
style: "boardingPass" | "eventTicket" | "coupon" | "generic" | "storeCard"
organization_name, description # required logo_text, transit_type # transit_type only applies to boardingPass ("Air" default) barcode_message, barcode_format # format name or ordered list, e.g. ["EAN13", "Code128"]; omit message for no barcode
"QR" (default) | "PDF417" | "Aztec" | "Code128"; iOS 27+: "Code39" | "Codabar" | "EAN13" | "ITF"
Wallet shows the first listed format the device supports; no fallback is added
barcode_alt_text # human-readable text under the barcode background_color, foreground_color, label_color # hex "#1a1a19" or "rgb(26, 26, 25)" relevant_date, expiration_date # ISO 8601 locations # up to 10 of {latitude, longitude, altitude?, relevantText?}: show on the lock screen nearby max_distance # meters; can only shrink Wallet's default radius around each location voided # stamps the pass VOID primary_fields, secondary_fields, auxiliary_fields, header_fields, back_fields
lists of {key?, label?, value}
serial_number # auto-generated UUID if omitted icon_color, icon_text, logo_color # control the auto-generated art icon_png_b64, logo_png_b64 # supply your own PNG instead of auto-generated art generate_logo # False = no logo image (e.g. when logo_text alone is enough)
iOS 27+
poster # Poster Generic layout; style must be generic/storeCard/coupon (kept as fallback) footer_fields # up to 2, poster only background_png_b64 # poster background (1035x1515 px); gradient auto-generated if omitted featured_actions # up to 2 of {type, url}, e.g. {"type": "membershipBenefits", "url": "https://..."}
Semantic tags and layouts
semantics # Apple SemanticTags dict, emitted as given; unknown keys and bad types rejected semantic_layout # boardingPass (airline, iOS 26+) -> semanticBoardingPass; eventTicket -> posterEventTicket
required tags are checked; the classic style stays as the fallback, so keep its fields
info_links # top-level event-guide / airline-page links: bagPolicyURL, changeSeatURL, ...
Extra images (base64 PNG); which one shows depends on style and iOS version, see the tool docstring
primary_logo_png_b64, secondary_logo_png_b64, strip_png_b64, thumbnail_png_b64, artwork_png_b64
Returns { download_url, expires_in_seconds, serial_number, pass_type_identifier }. The download link is valid for one hour. Open it in Safari on the iPhone; Wallet won't add a .pkpass handed over by another app. Google Wallet on Android imports the same file.
The REST API: POST /api/passes
The JSON body takes exactly the tool's parameters above. The request model is generated from the same function signature, so the two can't drift apart. Unknown keys are rejected.
curl https://walletmcppass.com/api/passes \
-H 'Content-Type: application/json' \ -d '{"style": "generic", "organization_name": "Harbor Climbing Gym", "description": "Day pass", "contact_email": "you@yourcompany.com", "x402_ready": false, "primary_fields": [{"label": "Guest", "value": "Ada L."}], "barcode_message": "DAY-0042"}'
| Status | Body |
|---|---|
| 200 | Same as the tool: { download_url, expires_in_seconds, serial_number, pass_type_identifier } |
| 400 | {"error": "invalid request", "details": [...]} for a malformed body or wrong types; {"error": "..."} when the pass itself is invalid |
| 402 | Past a free limit (per-IP or global): an x402 PaymentRequired body (also base64'd in the PAYMENT-REQUIRED header). Retry with a payment, see below |
| 429 | {"error": "rate limit exceeded: ..."} or "service is at its daily request limit ..." — only when payments are off |
| 500 | {"error": "internal error building the pass"} |
As with the tool, bodies that fail schema validation are rejected before the rate limiter and aren't logged; pass-builder errors are logged and do count.
Updating a pass: update_wallet_pass / PATCH /api/passes/{serial}
Create the pass with updatable=True, and optionally updatable_hours (1 to 720, default 1) for how long it can be updated. The response adds updatable_until and an edit_token, a secret that is the only way to change that pass (no
Nur der Anfang wird gezeigt; den Rest findest du im Repo