Tapcart MCP Server

Connect Claude, Cursor, Codex, or another AI client to your Tapcart app over the Model Context Protocol — query analytics, manage push campaigns and segments, and work with App Studio blocks in plain language.

The Tapcart MCP server connects an AI client to your Tapcart app over the Model Context Protocol. Once connected, you can ask about your app's performance, plan and schedule push campaigns, build customer segments, and manage App Studio blocks — in plain language, authenticated with your own Tapcart account.

It is hosted by Tapcart. There is nothing to install and no API key to create.


Hosted or local?

Tapcart runs two different MCP servers. This page covers the hosted one.

Tapcart MCP server (this page)Tapcart CLI MCP server
RunsHosted by TapcartLocally, as a process on your machine
ForMerchants and their teams — analytics, campaigns, segments, App StudioDevelopers building custom blocks
NeedsAn MCP client and a Tapcart loginNode.js, the Tapcart CLI, and a project on disk
AuthOAuth, in the browserLocal credentials in ~/.tapcart/auth.json

Endpoint

https://mcp.tapcart.com/mcp

The transport is Streamable HTTP. You sign in with your Tapcart account through your browser the first time you connect — there is no API key or token to paste.


What you can do

  • Analytics — query the metrics and reports enabled for your app: revenue, sessions, campaign performance, and more.
  • Push campaigns — review sent and scheduled campaigns, schedule new sends to a segment, edit or cancel upcoming sends, and verify copy on a test device first.
  • Segments — explore your saved audiences, see the full filter vocabulary, and size and create new segments.
  • App Studio — list, read, publish, and roll back custom blocks and components, and manage the npm dependencies available to them.
  • Docs — search this developer documentation from inside a conversation.

Before you start

  • A Tapcart account with dashboard access to at least one app
  • One of the supported clients below

Your Tapcart login decides what the client can reach, so there is nothing to configure per user beyond signing in.


Set up your client

Choose your client below and follow the matching instructions. Each one points at the same endpoint.

Claude (web and desktop)

  1. Go to Settings → Connectors and choose Add custom connector

  2. Enter the server URL:

    https://mcp.tapcart.com/mcp
  3. Click Connect, then sign in with your Tapcart account and approve access

The Tapcart tools appear in new conversations once the connector shows as connected.

📘

Claude for Teams and Enterprise

An organization owner can add the connector once under Organization settings → Connectors. Each member then authenticates with their own Tapcart account, so everyone only sees the apps they already have access to.

Claude Code

  1. Add the server:

    claude mcp add --transport http tapcart https://mcp.tapcart.com/mcp
  2. Start a session, run /mcp, select tapcart, and choose Authenticate

  3. Sign in with your Tapcart account in the browser window that opens

The server status changes to Connected.

Cursor

One click: Add Tapcart to Cursor

Or by hand:

  1. Add the server to ~/.cursor/mcp.json (or .cursor/mcp.json for a single project):

    {
      "mcpServers": {
        "tapcart": {
          "url": "https://mcp.tapcart.com/mcp"
        }
      }
    }
  2. Cursor detects the server and opens your browser to sign in with your Tapcart account

The server appears with its tools listed under Settings → MCP.

📘

Cursor's tool limit

Cursor sends at most 40 tools to the model across all MCP servers combined, and this server provides 25 of them. If you run several servers at once, disable the Tapcart tool groups you are not using under Settings → MCP.

Codex

  1. Add the server to ~/.codex/config.toml:

    [mcp_servers.tapcart]
    url = "https://mcp.tapcart.com/mcp"
  2. Sign in:

    codex mcp login tapcart

Confirm it worked with codex mcp list.

Other MCP clients

The server speaks Streamable HTTP with OAuth, so most MCP clients can talk to it in principle. In practice we allowlist each client's OAuth redirect address before it can connect — a client we have not added is turned away when it tries to register.

If you want to use a client that is not listed above, email [email protected] with the client name and we will look at adding it.


Verify the connection

Ask your client:

Which Tapcart apps can you see?

A healthy connection answers with your store name and its currency. If it says it has no Tapcart tools, or asks you to authenticate again, see Troubleshooting.


How access works

  • Your OAuth sign-in decides which apps the client can reach and whether write actions are allowed. The client never has more access than your own Tapcart account.
  • If your account has access to a single app, everything is scoped to it automatically. With multiple apps, the client lists them by store name and currency, and passes the right one per request.
  • All money values are reported in each app's own shop currency, and date ranges resolve in the merchant's local timezone. Both are returned with every response.

Safety

Every tool is read-only unless it is marked Write in the tables below. Read-only tools are annotated readOnlyHint in the server's MCP metadata, and every write tool is annotated destructiveHint, so clients that honour those annotations ask you before running one.

Write tools also run in two steps of their own:

  1. Plan (the default) — the tool previews exactly what would happen: the campaign that would be scheduled, the segment size, the block version that would go live. Nothing is written.
  2. Apply — only after you have reviewed the plan does the tool make the change.
🚧

Campaign sends are real

Applying a campaign schedules a real push to real shoppers. Campaigns can only be scheduled for a future time — there is no immediate send — and can be edited or cancelled any time before they fire. Use the test-device tool to verify copy, image, and deep link on one phone before scheduling.


Available tools

Discovery

ToolAccessWhat it does
tapcart_apps_listReadList the apps your account can act on and what each is granted (analytics, App Studio, or both)
tapcart_docs_searchReadSearch this developer documentation and return matching titles, URLs, and excerpts

Analytics

ToolAccessWhat it does
tapcart_insights_catalogReadList the metrics and reports enabled for an app, plus its store name, currency, and timezone
tapcart_insights_queryReadRun one metric (relative windows like 30d, or explicit timestamps) or one report

Push campaigns

ToolAccessWhat it does
tapcart_campaigns_listReadList scheduled, sent, or all campaigns, newest first
tapcart_campaign_scheduleWriteSchedule a push/inbox campaign to one saved segment for a future time
tapcart_campaign_updateWriteEdit a scheduled campaign — reschedule, or change copy, image, audience, or destination
tapcart_campaign_cancelWriteCancel a scheduled campaign before it sends, or archive a past one
tapcart_push_test_deviceWriteSend the draft push to a single test device immediately, so you can verify it on a real phone

Segments

ToolAccessWhat it does
tapcart_segments_listReadList your saved segments with their filters
tapcart_segment_filtersReadThe full filter vocabulary — every column, its type, and the operators valid for it
tapcart_segment_createWriteSize an audience from filters, then create it as a reusable segment

App Studio — blocks

ToolAccessWhat it does
tapcart_blocks_listReadList the app's custom blocks with live version and version count
tapcart_block_getReadFetch one block — manifest options, and optionally its source
tapcart_block_versions_listReadList every published version of a block, marking which is live
tapcart_block_pushWriteUpload block source (JSX/TypeScript, transpiled server-side) as a new version — development by default, live only when requested
tapcart_block_version_setWriteMake an already-published version the live one — the rollback / roll-forward tool
tapcart_block_previewReadMint a short-lived, login-free link that renders one block version at phone width in a browser — use it after a push to see the result

App Studio — components

ToolAccessWhat it does
tapcart_components_listReadList the components available to the app
tapcart_component_getReadFetch one component, optionally including its source
tapcart_component_versions_listReadList every version of a component, marking which is live
tapcart_component_pushWriteUpload component source as a new version — development by default
tapcart_component_version_setWriteMake an already-published component version the live one

App Studio — dependencies

ToolAccessWhat it does
tapcart_dependencies_listReadList the npm dependencies available to the app's blocks and components
tapcart_dependencies_setWriteReplace the app's npm dependency map

Example usage

Understanding performance

PromptWhat happens
"How did our app do over the last 30 days? Compare revenue and sessions to the 30 days before."Reads the metrics enabled for your app and returns both windows in your shop currency
"Which push campaigns from the last two weeks drove the most revenue?"Lists sent campaigns and pairs them with their performance

Building an audience

PromptWhat happens
"How many customers have ordered at least twice but not in the last 45 days?"Sizes the audience from your segment filters without creating anything
"Save that as a segment called 'Lapsing repeat buyers'."Creates the segment, after showing you the plan

Running a campaign

PromptWhat happens
"Draft a winback push for lapsing repeat buyers and send me a test on my device."Writes the copy and sends it to your one test device only
"Looks good — schedule it for Tuesday at 10am."Shows the exact send as a plan, then schedules it once you approve
"What do we have scheduled this week? Move the Friday send to Saturday morning."Lists upcoming campaigns and reschedules the one you name

Working in App Studio

PromptWhat happens
"List our custom blocks and show me the manifest options for the announcement bar."Reads the block and its configurable options
"The new hero block looks broken — roll it back to the previous version."Shows which version would go live, then sets it once you approve

Troubleshooting

The client says it isn't authenticated, or has no Tapcart tools
Re-run the sign-in step for your client: in Claude, Settings → Connectors → Tapcart → Connect; in Claude Code, /mcptapcartAuthenticate; in Cursor, reconnect the server under Settings → MCP; in Codex, codex mcp login tapcart.

The client asks which app you mean, or reports availableAppIds
Your account has access to more than one app. Name the store you mean and the client will resolve the right one.

A scheduled time is rejected
Scheduled times must be in the future and carry an explicit UTC offset (for example 2026-09-01T10:00:00-07:00 or a trailing Z). Bare local times are rejected so a send can never fire in the wrong timezone.

A write tool reports it isn't allowed
Write actions are gated by your Tapcart account's own permissions. If your account can't schedule campaigns or publish blocks in the dashboard, it can't do so through an AI client either.

Some tools are missing in Cursor
Cursor caps the model at 40 tools across all MCP servers. Disable tools you are not using under Settings → MCP.


Data handling & privacy

  • Every request runs under your OAuth token — the server can only read and write what your Tapcart account already can, and you can disconnect it at any time from your client's settings.
  • Write actions preview as a plan by default and only take effect when applied, and campaign sends can only be scheduled for the future, never fired immediately.
  • The server responds to tool calls from your client. It does not read your conversations, memory, or files.
  • For how Tapcart handles data generally, see the Tapcart Privacy Policy.

Related


Did this page help you?