Open dashboardwalletap.com

AI assistants

Connect Claude, ChatGPT, Cursor or any MCP client to Walletap, and design templates, issue passes and notify holders by asking in plain language.

Web

Walletap runs a Model Context Protocol (MCP) server, so an AI assistant can work in your account directly. Ask for a loyalty card and the assistant uploads the artwork, designs the template and issues the first passes; ask it to add a stamp and the pass in the customer's wallet updates.

Before you start#

  • A Walletap account. Sign-up is part of the connection flow, so you can create one there if you do not have one yet.
  • An assistant that can connect to remote MCP servers: Claude, Claude Code, Cursor, ChatGPT, or any other MCP client.

How connecting works#

The server is at https://mcp.walletap.com. You add that address to your assistant once, sign in to Walletap, and approve what the assistant may do. There is nothing to install and no key to paste.

Add the server to your assistant
Sign in to Walletap
Authorize access
Ask in plain language

The assistant works in the Walletap account you sign in with. Sign in with the account that owns your templates.

Connect your assistant#

Walletap is listed in Claude's connectors directory. Open Walletap in the directory and click Connect. This works in Claude on the web and in the desktop app.

To add it by hand instead, add a custom connector in Claude's connector settings with the URL https://mcp.walletap.com.

Sign in and authorize#

The first time the assistant connects, a Walletap page opens.

  1. Sign in

    Click Continue with Google, or enter your Email address and Password and click Sign in. New to Walletap? Click Create one to make an account here.

  2. Review the access

    The Authorize access page lists what the assistant is asking to do, under This will allow the application to:.

  3. Approve

    Click Authorize. You return to your assistant, which can now use Walletap.

Try it with "List my Walletap templates."

What the assistant may do#

What you approve on the Authorize access page decides which tools the assistant can use. Most assistants ask for the first three permissions together.

PermissionLets the assistant
View pass templates, passes, locations, files, and teamRead anything on the account, including pass holders' contact details
Create, update, and delete templates, passes, files, locationsMake changes, short of sending messages
Send push notifications, SMS, and email to pass holdersMessage the people holding your passes
View your access badges and who holds oneRead access badges and their holders
Issue access badges — lets doors, lockers and turnstiles be openedSend a person an access badge

Sending messages is its own permission because it reaches your customers directly. Issuing an access badge gives a person a way through a door, so it is kept apart from issuing passes.

Tools#

Tools that only read are marked read-only to the assistant, so asking a question never changes anything. Tools that change something are marked as such, and most assistants ask you to confirm before using them.

Templates#
ToolWhat it does
list_templatesLists your templates
get_templateReads one template, including its field IDs
create_templateCreates a template: type, colours, fields, artwork, stamps, NFC and barcode
update_templateChanges part of a template, leaving the rest as it is
delete_templateDeletes a template permanently
Passes#
ToolWhat it does
list_passesLists a template's passes, a page at a time
search_passesFinds passes on a template by email address or phone number
get_passReads one pass, by its ID or by your own reference and template
export_passesExports every pass on a template as CSV
create_passIssues 1 to 10 passes in one call, with field values and starting stamps
update_passChanges a pass's fields, stamps or balance, or voids it

create_pass delivers the pass. When a pass has an email address or phone number, Walletap sends the pass link to it, following your account's delivery settings, unless the assistant turns delivery off for that call.

Notifications#
ToolWhat it does
notify_passSends a notification to the holder of one pass
send_template_notificationSends a notification to every holder of a template
Files, locations and team#
ToolWhat it does
upload_file_from_urlFetches an image from a public URL and stores it for use as artwork
get_fileReads an uploaded file's details
delete_fileDeletes an uploaded file
list_locationsLists your locations
create_location, update_location, delete_locationAdds, changes or removes a location
list_sub_accountsLists your team members
create_sub_account, update_sub_account, delete_sub_accountAdds, changes or removes a team member
translate_pass_textTranslates pass text into other languages
Access badges#

For accounts with access badges.

ToolWhat it does
list_access_badgesLists your badge designs
get_access_badgeReads one badge, including whether it is published
list_badge_holdersLists the people who hold a badge, with their card numbers
issue_access_badgeSends one person an invitation to add a badge to their phone, by email unless the assistant asks for the link only

A badge must be published in the dashboard before anyone can be issued it.

Things to ask#

  • "Create a loyalty card for Harbour Coffee: ten stamps for a free coffee, a dark green background, and our logo from https://harbour.example/logo.png."
  • "Issue a Coffee Card to maya.chen@example.com with two stamps already collected."
  • "Add a stamp to the Coffee Card for luka.horvat@example.com."
  • "Tell everyone holding a Summer Jazz Night ticket that doors open at 19:00."
  • "Export every Northside Membership pass as a CSV."
  • "Translate the labels on the Spring Offer into German."
  • "Who holds the Staff door badge?"

Example: a stamp card in one request#

Alex Morgan asks:

Note

Set up a loyalty card for Harbour Coffee — ten stamps to a free coffee, using our logo at https://harbour.example/logo.png. Then issue one to maya.chen@example.com with two stamps already collected.

The assistant:

  1. Calls upload_file_from_url with the logo address and gets back a file ID.
  2. Calls create_template for a loyalty card with stamp collection on, ten stamps, and the uploaded logo. The reply links to the new template's design page in the dashboard.
  3. Calls create_pass with Maya's email address and two collected stamps.
  4. Reports the template, the pass and its add-to-wallet link.

Because the pass has Maya's email address, Walletap emails her the link.

Tip

Give colours and a logo up front; a template created without them uses the default look. To check a design change, issue a fresh pass.

Connect with an API key#

For a client that can send headers but cannot sign in with OAuth, use a Walletap API key from SettingsAPI keys. The assistant can then do what the key can do. See authentication for keys and their presets.

Remote. Send the key in an X-API-Key header to https://mcp.walletap.com. The client must accept both JSON and event streams:

Shell
curl -X POST https://mcp.walletap.com \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -H "X-API-Key: $WALLETAP_API_KEY" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"list_templates","arguments":{}}}'

Local. Run the server on your own machine with the open-source @walletap/mcp-server package. Any client that accepts a stdio command can use this configuration:

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

The hosted server at https://mcp.walletap.com also carries the access badge tools.

Limits#

The server accepts 60 requests a minute for each account, or for each API key. Past that it answers Too many requests. Retry after a number of seconds, and the assistant should wait that long. For a large import, use the dashboard or the API directly.

Disconnect#

Remove Walletap from your assistant's connector or MCP settings. To connect again, add it and sign in as before.

If something goes wrong#

The assistant says it cannot connect. Remove the connector and add it again with exactly https://mcp.walletap.com — no trailing slash. Then sign in again.

"Invalid email or password" on the sign-in page. If you sign in to the dashboard with Google, use Continue with Google. To use an email address instead, set a password first: in the dashboard, go to SettingsAccount and click Reset password.

The Google window closes and nothing happens. The window was closed before sign-in finished. Close any leftover windows and click Continue with Google again.

A tool answers that it "requires scope" something. The connection was approved for fewer permissions than that tool needs. Remove the connector, add it again, and approve the permissions the assistant asks for.

A pass was issued, but the customer got no email or text. The email address or phone number has to be on the pass itself, and delivery must be on. The assistant can turn it on or off for each call; when it does not, your delivery settings decide.

"origin_not_allowed". A browser-based client on another website called the server. Use a desktop app, call the server from your own backend, or run the local package.

An access badge is refused as not_published. Publish the badge in the dashboard, then ask again. See access badges.

Next steps#