@walletap/mcp-server
OfficialServer Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
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
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| resources | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| 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 |
| update_templateA | Partial update of an existing template (RFC 7396 merge-patch semantics). Send only the fields you want to change. Updating |
| 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 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
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| api-reference |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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