io.github.ivangr1/walletap
Issue and manage Apple Wallet & Google Wallet passes from any AI assistant.
Install
Add this to your client's MCP configuration (Claude Desktop: claude_desktop_config.json; Cursor: .cursor/mcp.json; VS Code and others use the same "mcpServers" shape).
@walletap/mcp-serverclaude mcp add walletap -e 'WALLETAP_API_KEY=<WALLETAP_API_KEY>' -- npx -y @walletap/mcp-server@0.1.3
{
"mcpServers": {
"walletap": {
"command": "npx",
"args": [
"-y",
"@walletap/mcp-server@0.1.3"
],
"env": {
"WALLETAP_API_KEY": "<WALLETAP_API_KEY>"
}
}
}
}
Environment variables
WALLETAP_API_KEYYour Walletap API key from app.walletap.io
Documentation
From the project's README on GitHub, refreshed weekly. Links open on GitHub.
Contents
@walletap/mcp-server
Issue and manage Apple Wallet & Google Wallet passes from any AI assistant.
Quick Start
npx @walletap/mcp-server
Or install globally:
npm install -g @walletap/mcp-server
walletap-mcp
Authentication
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.
Claude Desktop
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"
}
}
}
}
Cursor / Windsurf
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"
}
}
}
}
HTTP Remote Mode
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 check
Docker 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"]
Tools Reference
| 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 |
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 john@example.com"
- "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:
export WALLETAP_API_BASE_URL=https://your-custom-instance.example.com
License
MIT
Frequently asked questions
What is io.github.ivangr1/walletap?
Issue and manage Apple Wallet & Google Wallet passes from any AI assistant.
How do I install io.github.ivangr1/walletap?
It runs on your machine. In Claude Code: claude mcp add walletap -e 'WALLETAP_API_KEY=<WALLETAP_API_KEY>' -- npx -y @walletap/mcp-server@0.1.3. For other clients, paste the JSON configuration from this page into their MCP settings.
Does io.github.ivangr1/walletap need an API key?
Its registry entry lists no required key or secret. Some features may still need an account with the service it connects to.
Is io.github.ivangr1/walletap open source?
Its code is public on GitHub, but the repository does not declare a standard license.
Who maintains io.github.ivangr1/walletap?
It is published by ivangr1. AI.tn lists it but does not maintain or endorse it.
From the official MCP Registry. Listing is not an endorsement: review a server's code and permissions before giving it access to your data.