Skip to main content
Glama
walletap

@walletap/mcp-server

Official
by walletap

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault

No arguments

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}
resources
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
list_passesA

List all passes for a given template with pagination and optional status filtering. Use this to browse passes, check counts, or find passes by their installation status. Returns pass objects with IDs, emails, phones, and device counts.

search_passesA

Search passes within a template by email or phone number. Use this when you need to find a specific customer's pass. Returns matching passes ordered by creation date.

export_passesA

Export all passes for a template as CSV data. Use this to get a full data dump of passes for reporting or migration. Returns CSV with columns: Pass ID, External ID, Email, Phone, Name, Member ID, Status, Installation Status, Device Count, Created, Updated.

get_passA

Get a single pass by ID or by externalId + templateId. Returns the pass with wallet download URLs (Apple, Google, Huawei) and installation badge URLs. Use includeTemplate to also get the full template configuration.

create_passA

Create one or more wallet passes for a template. Use this to issue new loyalty cards, event tickets, coupons, or membership passes to customers. Can optionally send the pass link via email or SMS.

update_passA

Update an existing pass's fields, stamps, or balance. Use this to modify customer data, add/remove loyalty stamps, adjust balance, or invalidate a pass. Identify the pass by ID or by externalId + templateId.

notify_passA

Send a push notification to a single pass holder via Google Wallet. Use this for targeted messages to individual customers (e.g. balance update, reward earned). For bulk notifications to all pass holders, use send_template_notification instead.

list_templatesA

List pass templates owned by this account, cursor-paginated. Returns { object: 'list', data, has_more, next_cursor, total_count }.

get_templateA

Fetch a single template by id. Use this to inspect existing field ids (rows, linkRows, header) before issuing passes — the same ids are used as keys in customFields / templateFields at issuance time.

create_templateA

Create a new pass template. Only name and type are required. Use pass to override colors, fields, barcode, NFC, and image references. The response returns status: 'active' immediately, but the Apple certificate, Google Wallet class and Stripe meters provision in the BACKGROUND and are written back a few seconds later — so passTypeId / appleCertificates are usually still null in the create response. Re-read the template with get_template before concluding that certificate provisioning failed. NFC: set pass.nfc: true (and enableNFC: true) BEFORE creating; the certificate is issued with the NFC entitlement based on that flag at provision time.

update_templateA

Partial update of an existing template (RFC 7396 merge-patch semantics). Send only the fields you want to change. Updating pass deep-merges with the existing pass JSON, so you can change a single color or add a field without round-tripping the whole pass. locations is the exception: it REPLACES the stored array wholesale (send the full set; [] clears them), because merging geofences by index would strand stale ones. ALREADY-ISSUED PASSES: a stored .pkpass is not rebuilt on every read, so design and artwork changes reliably show up only on passes issued AFTER the update. Verify a change by issuing a fresh pass rather than re-downloading an existing one.

delete_templateA

Permanently delete a template and deactivate its Stripe billing meters. Existing passes issued from this template are orphaned. Cannot be undone.

send_template_notificationA

Send a push notification to every pass holder of a template (Apple, Google, Huawei). Use for announcements that apply to all customers. For individual notifications, use notify_pass.

create_certificateA

Create or renew the Apple Wallet certificate for a template. Usually triggered automatically on template create; this is for manual renewals.

upload_file_from_urlA

Fetch a public image URL, validate it, and store it in Walletap-managed storage. Returns a file_… id you can reference inside a template's pass design as { "fileId": "file_…" } on any image field (logo, hero, icon, strip, background, stamp, thumbnail). When purpose is supplied the server generates 1×/2×/3× variants at Apple Wallet spec dimensions. Max source size 10 MiB. Accepts PNG, JPEG, WebP, SVG, AVIF, HEIC, GIF, TIFF and ICO; anything with a wallet purpose is transcoded to PNG. Source URLs that resolve to private / loopback IPs are refused (SSRF protection).

USE A URL YOU HAVE ACTUALLY SEEN — one the user gave you, or one you read out of the page you fetched. Do not construct a plausible-looking asset URL from a brand name: guessed Wikimedia and logo-CDN paths are the single most common cause of failure here. If the fetch reports that the source returned 404, the URL is wrong — find a different one rather than retrying, and ask the user for the image if you cannot.

get_fileA

Retrieve a file's metadata by id. Returns url, mime_type, size, width, height, variants (1×/2×/3×), purpose, source_url, and timestamps.

delete_fileA

Delete a file and all its variants from storage. Templates that still reference the URL keep their JSON intact but the linked image URL will return 404.

list_locationsA

List all locations for the authenticated account. Use this to see available business locations for reader deployment or pass association. Returns location names, addresses, and coordinates.

create_locationB

Create a new business location for reader deployment and pass management. Use this when setting up a new store, venue, or checkpoint. Locations can be associated with passes and readers for validation.

update_locationA

Update an existing location's details. Use this to correct addresses, rename locations, or update coordinates. Only provided fields are updated — omitted fields remain unchanged.

delete_locationA

Delete a location permanently. Use with caution — readers associated with this location will need reassignment. Subscription is updated automatically.

list_sub_accountsA

List all sub-accounts (team members) for the main account. Use this to see who has access and their template permissions. Returns sub-account details with template access counts.

create_sub_accountA

Create a new sub-account (team member) with specific permissions and template access. Use this to grant team members limited access to manage specific templates. The sub-account gets their own login credentials.

update_sub_accountA

Update a sub-account's permissions, template access, or active status. Use this to grant/revoke access or deactivate a team member. Only provided fields are updated.

delete_sub_accountA

Permanently delete a sub-account and revoke all their access. Use with caution — this removes the user's Firebase auth account and all template access records. This cannot be undone.

translate_pass_textA

Translate pass text to multiple languages using Google Cloud Translation. Use this to localize pass content (field labels, messages) for international customers. Supports all Google Translate languages.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription
api-reference

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/walletap/walletap-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server