Walletap

io.github.ivangr1Published by GitHub account ivangr1v0.1.3Updated Oct 24, 2026

Issue and manage Apple Wallet & Google Wallet passes from any AI assistant.

Overview

AI-generated overview

Walletap lets an AI assistant create, update, notify and export Apple Wallet and Google Wallet passes through the Walletap API.

What you can do
  • List, search, export and inspect passes, including wallet URLs and CSV exports
  • Create and update passes, adjusting fields, stamps or balance
  • Send notifications to a single pass holder or to everyone in a template
  • Create, update and delete pass templates, and create Apple Wallet certificates
  • Manage business locations and VTAP NFC readers
  • Manage team sub-accounts and their permissions, and translate pass text into several languages
When to use it
Useful when you run loyalty, membership, ticket or stamp-card programs on Apple Wallet or Google Wallet and want to issue, update or notify pass holders from a chat assistant instead of the dashboard.
Requirements
Runs locally via npx or a global npm install (Node.js). Needs a Walletap account and an API key supplied in the WALLETAP_API_KEY environment variable. Connects to the Walletap API over the network; the base URL can be overridden with WALLETAP_API_BASE_URL. An optional HTTP transport mode is available for self-hosting.
Before you install
The API key in WALLETAP_API_KEY grants access to your Walletap account and is written in plain text into client config files. Many tools write or delete data: creating and updating passes, sending notifications to holders, deleting templates, locations and team members, and creating sub-accounts with passwords. Pass data and translations are sent to the Walletap API.

Installation

In SourceWeft

  1. Open Walletap in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

@walletap/mcp-server

Issue and manage Apple Wallet & Google Wallet passes from any AI assistant.

Quick Start

bash
npx @walletap/mcp-server

Or install globally:

bash
npm install -g @walletap/mcp-serverwalletap-mcp

Authentication

Set your Walletap API key as an environment variable:

bash
export WALLETAP_API_KEY=wt_live_xxxxxxxxxxxxxxxxxxxx

You can find your API key in the Walletap dashboard under Settings.

Claude Desktop

Add to ~/Library/Application Support/Claude/claude_desktop_config.json:

json
{  "mcpServers": {    "walletap": {      "command": "npx",      "args": ["-y", "@walletap/mcp-server"],      "env": {        "WALLETAP_API_KEY": "wt_live_xxxxxxxxxxxxxxxxxxxx"      }    }  }}

Cursor / Windsurf

Add to .cursor/mcp.json or .windsurf/mcp.json:

json
{  "mcpServers": {    "walletap": {      "command": "npx",      "args": ["-y", "@walletap/mcp-server"],      "env": {        "WALLETAP_API_KEY": "wt_live_xxxxxxxxxxxxxxxxxxxx"      }    }  }}

HTTP Remote Mode

For self-hosted deployments, n8n, Make, or Zapier AI:

bash
walletap-mcp --transport http

This starts an HTTP server (default port 3001) exposing:

  • POST /mcp — JSON-RPC endpoint
  • GET /mcp/sse — Server-Sent Events for streaming
  • GET /health — Health check

Docker example:

dockerfile
FROM node:22-alpineRUN npm install -g @walletap/mcp-serverENV WALLETAP_API_KEY=wt_live_xxxxxxxxxxxxxxxxxxxxENV MCP_PORT=3001EXPOSE 3001CMD ["walletap-mcp", "--transport", "http"]

Tools Reference

ToolWhat it doesKey inputs
list_passesList passes for a template with paginationtemplateId, status, limit
search_passesSearch passes by email or phonetemplateId, searchQuery
export_passesExport passes as CSVtemplateId, status
get_passGet a single pass with wallet URLsid or externalId+templateId
create_passCreate one or more wallet passespasses[], sendToEmail, sendToPhone
update_passUpdate pass fields, stamps, or balanceid, templateFields, stampOperation, balanceOperation
notify_passSend notification to one pass holderpassId, title, content
list_templatesList all pass templateslimit, startAfter
create_templateCreate a new templatename, type
update_templateUpdate template config/designtemplateId, data
delete_templateDelete a templatetemplateId
send_template_notificationNotify all pass holders in a templatetemplateId, title, content
create_certificateCreate Apple Wallet certificatetemplateId
list_locationsList all business locations—
create_locationCreate a new locationname, latitude, longitude
update_locationUpdate location detailsid, name, address
delete_locationDelete a locationid
create_readerCreate a VTAP NFC readername, templateId, phone
list_sub_accountsList team members—
create_sub_accountCreate a team memberemail, displayName, password
update_sub_accountUpdate team member permissionsuserId, permissions, templateIds
delete_sub_accountRemove a team memberuserId
translate_pass_textTranslate pass text to multiple languagestexts, sourceLanguage, targetLanguages

Example Prompts

Here are things you can say to your AI assistant with Walletap connected:

  • "Create a loyalty card template called 'Coffee Rewards' and issue a pass to [email protected]"
  • "Show me all passes for my loyalty template that haven't been installed yet"
  • "Add 3 stamps to the pass with external ID 'CUST-42' in my stamp card template"
  • "Send a notification to all pass holders: 'Double points this weekend! Visit any location to earn 2x.'"
  • "Export all my loyalty passes as CSV for the marketing team"
  • "Translate our pass labels into Spanish, French, and German"

API Base URL

By default connects to https://api.walletap.io. Override with:

bash
export WALLETAP_API_BASE_URL=https://your-custom-instance.example.com

License

MIT

Source: README.md at commit c9a59ad

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v0.1.3LatestSep 16, 2026

Score

40% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

    Declare a license in the repository or the registry entry.