Connects to the Walletap API to create, update, and distribute Apple Wallet and Google Wallet passes directly from Claude or other MCP clients. You get tools for issuing loyalty cards, event tickets, and coupons with QR codes, managing pass fields and balances, sending push notifications to installed passes, and exporting holder data as CSV. Also handles template management, location setup for geofenced notifications, and multi-language translation. Requires a Walletap API key from their dashboard. Useful when you're building customer loyalty programs, event check-in systems, or membership card distribution without manually touching the Apple or Google Wallet APIs.
Issue and manage Apple Wallet & Google Wallet passes from any AI assistant.
npx @walletap/mcp-server
Or install globally:
npm install -g @walletap/mcp-server
walletap-mcp
Set your Walletap API key as an environment variable:
export WALLETAP_API_KEY=wt_live_xxxxxxxxxxxxxxxxxxxx
You can find your API key in the Walletap dashboard under Settings.
Add to ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"walletap": {
"command": "npx",
"args": ["-y", "@walletap/mcp-server"],
"env": {
"WALLETAP_API_KEY": "wt_live_xxxxxxxxxxxxxxxxxxxx"
}
}
}
}
Add to .cursor/mcp.json or .windsurf/mcp.json:
{
"mcpServers": {
"walletap": {
"command": "npx",
"args": ["-y", "@walletap/mcp-server"],
"env": {
"WALLETAP_API_KEY": "wt_live_xxxxxxxxxxxxxxxxxxxx"
}
}
}
}
For self-hosted deployments, n8n, Make, or Zapier AI:
walletap-mcp --transport http
This starts an HTTP server (default port 3001) exposing:
POST /mcp — JSON-RPC endpointGET /mcp/sse — Server-Sent Events for streamingGET /health — Health checkDocker example:
FROM node:22-alpine
RUN npm install -g @walletap/mcp-server
ENV WALLETAP_API_KEY=wt_live_xxxxxxxxxxxxxxxxxxxx
ENV MCP_PORT=3001
EXPOSE 3001
CMD ["walletap-mcp", "--transport", "http"]
| Tool | What it does | Key inputs |
|---|---|---|
list_passes | List passes for a template with pagination | templateId, status, limit |
search_passes | Search passes by email or phone | templateId, searchQuery |
export_passes | Export passes as CSV | templateId, status |
get_pass | Get a single pass with wallet URLs | id or externalId+templateId |
create_pass | Create one or more wallet passes | passes[], sendToEmail, sendToPhone |
update_pass | Update pass fields, stamps, or balance | id, templateFields, stampOperation, balanceOperation |
notify_pass | Send notification to one pass holder | passId, title, content |
list_templates | List all pass templates | limit, startAfter |
create_template | Create a new template | name, type |
update_template | Update template config/design | templateId, data |
delete_template | Delete a template | templateId |
send_template_notification | Notify all pass holders in a template | templateId, title, content |
create_certificate | Create Apple Wallet certificate | templateId |
list_locations | List all business locations | — |
create_location | Create a new location | name, latitude, longitude |
update_location | Update location details | id, name, address |
delete_location | Delete a location | id |
create_reader | Create a VTAP NFC reader | name, templateId, phone |
list_sub_accounts | List team members | — |
create_sub_account | Create a team member | email, displayName, password |
update_sub_account | Update team member permissions | userId, permissions, templateIds |
delete_sub_account | Remove a team member | userId |
translate_pass_text | Translate pass text to multiple languages | texts, sourceLanguage, targetLanguages |
Here are things you can say to your AI assistant with Walletap connected:
By default connects to https://api.walletap.io. Override with:
export WALLETAP_API_BASE_URL=https://your-custom-instance.example.com
MIT
WALLETAP_API_KEYYour Walletap API key from app.walletap.io