Skip to main content Announcing Tool Policies: AI agent permissions down to the field Read the announcement
Live 150 Actions

Pushwoosh MCP Server
for AI Agents

Connect your AI agent to StackOne's Pushwoosh MCP server and give it 150 MCP tools out of the box. Auth, tool execution, and security all managed.

Pushwoosh logo
Pushwoosh MCP Server
Built by StackOne StackOne
DrataGPLocalyzeFlipMindtoolsScreenloop

Coverage

150 Agent Actions

Agents can read, write, delete and run operations in Pushwoosh. Extend your agent's capabilities with custom actions.

Authentication

Agent Tool Authentication

Per-user OAuth in one call. Your Pushwoosh MCP server gets session-scoped tokens with zero credentials stored on your infra.

Agent Auth →

Security

Agent Protection

Every Pushwoosh tool response scanned for prompt injection in milliseconds, with 88.7% accuracy, all running on CPU.

Prompt Injection Defense →

Performance

Max Agent Context. Min Cost.

Free up to 96% of your agent's context window to enhance reasoning and reduce cost, on every Pushwoosh call.

Tools Discovery →

What is the Pushwoosh MCP Server?

A Pushwoosh MCP server lets AI agents read and write Pushwoosh data through the Model Context Protocol, Anthropic's open standard for connecting LLMs to external tools. StackOne's Pushwoosh MCP server ships with 150 pre-built actions, fully extensible via the Connector Builder, plus managed authentication, prompt injection defense, observability, and agent execution runtime. Connect it from MCP clients like Claude Desktop, Claude Code, Cursor, Goose, and VS Code, or from agent frameworks like OpenAI Agents SDK, LangChain, and Vercel AI SDK.

All Pushwoosh MCP Tools

Every StackOne action for Pushwoosh, ready for your agent. Read, write, delete and run operations, scoped to exactly what you need.

Apple Pass

  • Create Apple Pass

    Generates, signs, and stores a new pass, then returns its server-assigned serial number.

  • Get Apple Pass

    Returns a single stored pass, including its full pass object.

  • Download Apple Pass

    Returns the stored .pkpass file of an existing pass.

  • Update Apple Pass

    Regenerates the pass with new content, re-signs it, increments its update tag, and sends a silent push notification to every device that registered the pass. iOS then fetches and installs the updated version in the background.

  • Delete Apple Pass

    Removes a pass record and its stored .pkpass file.

Apple Pass Templates

  • List Apple Pass Templates

    List the available pass templates, or fetch one as a pass object you can use as a starting point.

  • Get Apple Pass Template

    Fetch a template as a pass object you can use as a starting point.

Applications

  • Create Application

    Creates a new application on the account.

  • Get Application

    Gets details about the app.

  • List Applications

    Gets the list of applications on the account. Can return result with pagination.

  • Update Application

    Updates the application settings.

  • Delete Application

    Deletes the app from the account.

Campaigns

  • Create Campaign

    Creates a push campaign within the app.

  • List Campaigns

    Retrieves the list of campaigns for the app.

  • Delete Campaign

    Deletes a particular campaign.

Control Groups

  • Create Control Group

    Creates a named control group for an application and returns it with its generated code. The new group holds users out of every marketing send within its own countries and tag, alongside the application's other enabled groups.

  • List Control Groups

    Lists every control group configured for an application, the unnamed original one first.

  • Get Control Group

    Returns one control group by its code, with its hold-out size, generation, and the user counts behind it.

  • Delete Control Group

    Removes a control group entirely. It stops holding users out, and its statistics can no longer be opened. The application's other groups keep working.

Data Erasure Tasks

  • Create Data Erasure Task

    Starts erasing the personal data of the listed subjects in the listed applications. With `dry_run: true` the task only counts what would be erased.

  • Get Data Erasure Task

    Returns one erasure task with its status and counters. Use it to follow a task started by Create or Upload.

  • List Data Erasure Tasks

    Lists the erasures of the account, newest first: the audit journal of who erased what and when. Dry runs are left out unless `includeDryRuns` is set.

Device Tags

  • Get Device Tags

    Retrieves a list of tags with corresponding values for the specific device.

  • Set Device Tags

    Sets tags values for the device. Called from the SDK.

Email Templates

  • Create Email Template

    Creates a new email template - its editor content plus a connected email preset - in an application, and returns the generated template code.

  • Clone Email Template

    Clones an email template - its content and preset - into a destination application, optionally under a new name.

  • List Email Templates

    Lists an application's email templates - metadata only, no content - with paging, ordering, and filtering by name, label, or category.

  • Get Email Template

    Returns a single email template by its code, including sender info, per-locale subjects, and the full editor content.

  • Update Email Template

    Updates an existing email template by code, overwriting the supplied fields.

  • Delete Email Template

    Deletes an email template and its connected preset by code, removing the stored content.

Geozones

  • Create Geozone

    Adds a Geozone to a specific app.

  • List Geozones

    Retrieves a list of Geozones for the app.

  • Update Geozone

    Updates Geozone properties.

  • Delete Geozone

    Removes Geozones from the app.

Geozone Clusters

  • Create Geozone Cluster

    Adds Geozone Cluster to the app.

  • List Geozone Clusters

    Retrieves a list of Geozone clusters for the app.

  • Delete Geozone Cluster

    Removes a Geozone Cluster from the app.

Google Pass

  • Create Google Pass

    Creates the pass class and object in Google Wallet, then returns the server-assigned serial number, the full object id, and an "Add to Google Wallet" save link.

  • Get Google Pass

    Returns a single stored pass, including its full pass object.

  • Update Google Pass

    Patches the pass object with new content. Google then delivers the updated version to every device that saved the pass. Optionally sends an Android notification with the update.

  • Delete Google Pass

    Invalidates the pass in Google and removes its stored record in Pushwoosh.

Google Pass Templates

  • List Google Pass Templates

    List the available example pass templates, or fetch one as a pass object you can use as a starting point.

  • Get Google Pass Template

    List the available example pass templates, or fetch one as a pass object you can use as a starting point.

Journeys

  • Create Journey

    Creates a new journey in the STATUS_DRAFT state.

  • Update Journey

    Replaces the definition of an existing journey. Send the complete definition. The points and comments you submit replace the current ones.

Presets

  • Create Preset

    Creates a new push preset in an application and returns it with its generated code.

  • Clone Preset

    Duplicates an existing push preset, under a new name, into the same application.

  • List Presets

    Lists an application's push presets - a reduced field set, not the full object - with paging, ordering, and filtering by name or category.

  • Get Preset

    Returns a single push preset by its code, with every field of the Preset object populated.

  • Update Preset

    Overwrites an existing push preset by code with the supplied fields.

  • Delete Preset

    Permanently deletes a push preset by code.

Segment (Filter)s

  • Create Segment (Filter)

    Creates a new filter.

  • Delete Segment (Filter)

    Deletes an existing filter.

Messages Statistics Exports

  • List Messages Statistics Exports

    Lists recent export tasks for an application, most recent first.

  • Download Messages Statistics Export

    Downloads the CSV file generated by `result`, by name.

  • Delete Messages Statistics Export

    Deletes a task and its file before the 7-day retention window expires.

Tags

  • Create Tag

    Creates a tag in your account.

  • List Tags

    Retrieves a list of tags on the account.

  • Delete Tag

    Completely removes a tag with all the associated information from the database.

Test Devices

  • Create Test Device

    Registers a test device for the application.

  • List Test Devices

    Returns all the test devices for the specific application.

Other (89)

  • Upload Data Erasure CSV

    Creates the same kind of task as Create, but the identifiers come from an uploaded CSV instead of a JSON array. Use this for a bulk subject list.

  • Create Event

    Creates an Event for the app.

  • List Apple Passes

    Returns a paginated, sorted list of the passes stored for an application.

  • List Apple Pass Registrations

    Lists the devices that have added the pass and are registered for updates.

  • Get Apple Wallet Configuration

    Returns the PassKit configuration resolved for an application from its certificate.

  • Get Application File

    Gets the configuration files related to the app.

  • Get Bulk Set Tags Status

    Returns the status of `/bulkSetTags` operation

  • Get Bulk Register Devices Status

    You can check the status of a bulk registration process by making the following GET request.

  • Get Bulk Unregister Devices Status

    You can check the status of a bulk un-registration process by making the following GET request.

  • Get Control Group Calculation Status

    Polls just the changing user counts of one control group while a size calculation runs.

  • Get Control Group Analytics

    Returns the precomputed Control-vs-Treatment analytics for one control group.

  • List Control Group Cycles

    Lists the closed cycles of one control group, newest first. Each cycle is the membership the group ran with between two settings changes, together with the settings it was drawn from. The running (current) cycle isn't in this list. Its settings are on the Control group object itself.

  • Get Data Erasure Journal Report

    Returns every erasure of a period as one CSV file: a row per identifier per application, with the task and its initiator on each row. This is what an account hands to an auditor.

  • Get Data Erasure Task Report

    Returns the whole report of one task as a CSV file: one row per identifier per application, with its outcome. ListTaskRows shows the same rows page by page instead.

  • List Data Erasure Task Rows

    Returns the per-identifier outcome of one task: what was deleted, not found, skipped, or failed. Identifiers are reported as their sha256 hash.

  • Get Nearest Geozone

    Called internally from the SDK. Retrieves the parameters of the nearest geozone and the distance to it. Also records the device location for geo push notifications.

  • Get Google Pass Save Link

    Returns an "Add to Google Wallet" save link for an already created pass. The pass object must already exist (created via Create a pass).

  • List Google Passes

    Returns a paginated, sorted list of the passes stored for an application.

  • Get Google Wallet Configuration

    Returns the Google Wallet configuration state for an application.

  • Get Inbox Messages

    Returns the list of Inbox messages for a specified HWID.

  • Get Journey Stats

    Returns statistics for a Customer Journey by its ID.

  • Get Message Details

    Retrieves the message details.

  • Get Scheduled Request Results

    Retrieves the result of a scheduled request.

  • List Segments (Filters)

    Returns a list of available segments (filters) with their conditions.

  • Export Segment

    A scheduled request. Exports the list of subscribers that fall under specified Filter conditions.

  • Get Segment Export Result

    Retrieves the link to the CSV with the /exportSegment results.

  • List Sent Messages

    Displays the list of sent messages.

  • Get Message Totals By Intervals

    Returns metrics and conversion data based on the message code, aggregated by hour.

  • Get Delivery Funnel

    Returns one message's funnel.

  • Get Campaign Delivery Funnel

    Sums getDeliveryFunnel over a campaign's messages. Unique counts are calculated per message: a subscriber reached by several messages in the campaign is counted once for each message.

  • Get Message Log

    Displays detailed information about the messages sent.

  • Get Email Links Interactions

    Displays statistics on link clicks in emails

  • List Email Link Clickers

    Shows users who clicked on links in emails

  • List Bounced Emails

    Provides data on email complaints, soft bounces, and hard bounces, including the date, email address, and reason for each bounce.

  • Get Application Subscribers Stats

    Displays the app's subscribers list grouped by the types of their devices.

  • Get App Stats

    Get the statistics of a specific app for a defined time period.

  • Get Subscribers Statistics

    Retrieves app subscribers stats for a time period.

  • Get Campaign Stats

    Retrieve statistics of a particular campaign for a specific time period.

  • Get Event Statistics

    Retrieves the number of times an event was triggered during a specified period.

  • Get Tag Stats

    Retrieves statistics for a specific tag.

  • Get In-App Totals

    Returns totals for the period. Pass inapp_codes to report on specific campaigns, or omit it to walk every in-app of the application page by page. That is the method to use for a scheduled export.

  • Export Messages Statistics

    Queues a message history export and returns a task identifier right away.

  • Get Messages Statistics Export Status

    Returns the progress of an export task.

  • Get Messages Statistics Export Result

    Returns the generated file name once the task has completed.

  • Set Application Platform Status

    Changes the platform's status of the app.

  • Update Control Group Percentage

    Sets the hold-out percentage (1–20) of one control group. Resizing keeps every existing member: the hold-out grows or shrinks around them rather than being redrawn. Superseded by UpdateSettings, which applies size, scope, and lifetime mode in one call, but still supported.

  • Update Control Group Countries

    Sets the countries one control group is scoped to. Changing the scope restarts the uplift measurement, because the population being compared changes. The hold-out itself is not redrawn. Superseded by UpdateSettings, which also sets a tag scope, but still supported.

  • Update Control Group Settings

    Applies a control group's size, country and tag scope, and lifetime mode in one call. A change that alters who is held out or how long for (size, scope, mode, refresh period, or end date) closes the running cycle and starts a new one. Sending the current values changes nothing. Refuses a control group that belongs to a campaign's own hold-out, the same way as UpdatePercentage.

  • Set Badge

    This endpoint is disabled. The server no longer stores or acts on the badge value it receives. Badge state is managed entirely on the device side. This call is a no-op, kept only for backward compatibility with older SDK versions that still send it.

  • Set Email Tags

    Sets tag values for the email address.

  • Set Google Pass State

    Activates or invalidates a pass. An invalidated (inactive) pass moves to the user's Expired passes section in Google Wallet; the record is kept so it can be re-activated.

  • Update Inbox Message Status

    Updates the status of a particular Inbox message.

  • Update Live Activity

    Allows updating and ending iOS Live Activities

  • Update Scheduled Message (v2)

    Replaces a previously created message, identified by its message_code, with a new definition. The replacement is a full replace, not a patch: the new definition is applied exactly as sent, and the message_code does not change.

  • Update Preset Partially

    Updates only the supplied fields of an existing push preset by code, leaving unset fields unchanged.

  • Delete Device

    Deletes a device and all its associated data identified by the specified HWID within the application. Unlike /unregisterDevice, which only removes the push token and keeps the device record, /deleteDevice fully removes the device. The request is processed asynchronously, and the endpoint returns 200 OK as soon as the delete request has been accepted for processing.

  • Delete Email

    Removes email address from your user base.

  • Remove Users From Journeys

    Removes a list of users from all or specific active journeys.

  • Delete Message

    Deletes a message, whether it's still scheduled or has already been sent. For a scheduled message, this also removes it from Message History right away.

  • Delete User

    Deletes a user and all devices associated with the specified User ID within the application. The request is processed asynchronously, and the endpoint returns 200 OK as soon as the delete request has been accepted for processing.

  • Validate Apple Pass

    Checks a pass configuration against Apple's specifications without creating a file. Useful before calling create.

  • Configure Application Platform

    Configures the platform for the app. All platforms use the same /configureApplication method; parameters differ per platform (selected by device_type).

  • Bulk Set Tags

    Sets tag values for the list of devices.

  • Bulk Register Devices

    Registers multiple devices in Pushwoosh in a single request. It also allows specifying various tags for each device.

  • Bulk Unregister Devices

    Unregisters multiple devices from Pushwoosh in a single request.

  • Rename Control Group

    Sets the name the Control Panel shows for one control group. `name` is part of the membership key and doesn't change, so the group keeps the same users and its running cycle.

  • Disable Control Group

    Switches one control group off, keeping it and its generation so that switching it back on restores the same hold-out rather than drawing a new one.

  • Reshuffle Control Group

    Redraws one control group's hold-out by incrementing its generation. This is the only way to get a different sample: membership is deterministic, so disabling and re-enabling reproduces exactly the same one.

  • Force Recalculate Control Group

    Starts a fresh count of one control group's size. The previously cached numbers keep being served until the new count finishes. Poll GetCalculationStatus for progress.

  • Check Control Group Membership

    Reports for each user ID whether it is held out by one control group right now. Membership is computed from the ID alone. No user record is read, so an ID the application never saw is answered too, and a disabled group answers `false` for every ID rather than an error. A group with a country or tag scope holds a user out only if one of their devices is in that scope, so an unseen ID (no device at all) comes back `false` there even though the same ID would come back `true` on an unscoped group.

  • Register Device

    Called internally from the SDK. Registers device for the application.

  • Track Application Open

    Registers an app open event. Called internally from the SDK.

  • Track Message Delivery

    Registers push delivery event for the device. Called internally from the SDK.

  • Track Push Open

    Registers a push open event. Called internally from the SDK.

  • Unregister Device

    Removes the device's push token. The unregistered device is still counted in Total Devices and can be reached with In-Apps. Called internally from the SDK.

  • Register Email

    Registers email address for the app.

  • Register Email User

    Associates an external User ID with a specified email address.

  • Validate Google Pass

    Checks a pass configuration against Google's requirements without creating it. Useful before calling create.

  • Rename Journey

    Changes only the journey title, without touching its points or settings.

  • Start Journey

    Moves a journey to STATUS_RUNNING. Pass the Journey ID as uuid in the request body. Returns the updated journey object.

  • Pause Journey

    Moves a journey to STATUS_PAUSED. Pass the Journey ID as uuid in the request body. Returns the updated journey object.

  • Finish Journey

    Moves a journey to STATUS_FINISHED. Pass the Journey ID as uuid in the request body. Returns the updated journey object.

  • Archive Journey

    Moves a journey to STATUS_ARCHIVED. Pass the Journey ID as uuid in the request body. Archived is terminal and cannot be reactivated through these endpoints.

  • Start Journey For Users (API Entry)

    Enters a set of users into a journey's API entry point. Use it to drive journeys from your own backend.

  • Start Live Activity

    Allows creating iOS Live Activities.

  • Notify (Send Message)

    Creates and schedules a single message.

  • Cancel Message (v2)

    Cancels a previously created message, identified by its message_code. Cancellation is available only while the message is in one of these states: pending, waiting, processing.

  • Register User

    Associates external User ID with a specified device.

  • Post Event

    Triggers an event.

Pushwoosh AI Agent Use Cases

Connect your AI agent to Pushwoosh and help your team scale the marketing operations they run by hand today.

Lead Nurture Sequences

Use StackOne to connect your AI agent to your marketing automation, CRM, and email tools to automate lead nurture email sequences.

View
HubSpotSalesforceActiveCampaignKlaviyoSendGridMailchimpLemlistGmail
Campaign Performance Reports

Use StackOne to connect your AI agent to your marketing automation, email, and analytics platforms to automate campaign performance reporting.

View
HubSpotMailchimpActiveCampaignKlaviyoSalesforceBrazeSendGridMarketo
Content Repurposing

Use StackOne to connect your AI agent to your document stores, email platforms, and messaging tools to automate content repurposing and distribution.

View
Google DriveConfluenceNotionMailchimpSendGridSlackGmailMicrosoft Teams

Set Up Your Pushwoosh MCP Server in Minutes

One endpoint. Any framework. Your agent is talking to Pushwoosh in under 10 lines of code.

Agent Frameworks

Claude Desktop
{
  "mcpServers": {
    "stackone": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote@latest",
        "https://api.stackone.com/mcp?x-account-id=<account_id>",
        "--header",
        "Authorization: Basic <YOUR_BASE64_TOKEN>"
      ]
    }
  }
}

Check More marketing MCP Servers

Pushwoosh MCP Server FAQ

Does StackOne have a Pushwoosh MCP server?
Yes. StackOne offers a hosted Pushwoosh MCP server with 150 pre-built actions, and every action is tested and QA'd by StackOne. Connect it to Claude, Cursor, and any other MCP client, or to any agent framework through the AI Action SDK. It ships with managed agent authentication, prompt injection defense, and tool discovery with server-side execution that preserve your agent's context window and keep reasoning performance.
Pushwoosh MCP server vs direct API integration: what's the difference?
A Pushwoosh MCP server and direct API integration serve different use cases. Direct API integration is for software-to-software work, where backend code calls Pushwoosh. A Pushwoosh MCP server is for AI agents that discover and call Pushwoosh at runtime, such as MCP clients like Claude and Cursor, plus framework agents built with OpenAI, LangChain, or Vercel AI. StackOne provides both.
How does Pushwoosh authentication work for AI agents?
Pushwoosh authentication for AI agents works through a StackOne Connect Session. Create one via the dashboard or the SDK to get an auth link and ready-to-paste config for Claude Desktop, Cursor, and other MCP clients. Your user authenticates their own Pushwoosh account; StackOne handles token exchange, storage, and refresh. Credentials never reach the LLM, and each user is isolated via origin_owner_id.
Are Pushwoosh MCP tools vulnerable to prompt injection?
Yes. Pushwoosh MCP tools can be vulnerable to indirect prompt injection. Any tool that reads user-written content, such as documents, messages, tickets, records, or free-text fields, is a potential vector. StackOne Defender scans every tool response before it enters the agent's context. It runs regex patterns in ~1ms, then a MiniLM classifier in ~4ms. Accuracy is 88.7%, and it runs entirely on CPU.
What is the context bloat of a Pushwoosh agent and how do I avoid it?
Context bloat happens when Pushwoosh tool schemas and API responses eat your Pushwoosh agent's memory, preventing it from reasoning effectively. A single Pushwoosh query can return a massive JSON response, and connecting multiple tools compounds the problem. Tools Discovery reduces it by loading only the tools relevant to each query.
Can I limit which actions my Pushwoosh agent can access?
Yes. You can limit which actions your Pushwoosh agent can access directly from the StackOne dashboard. Toggle actions on or off, or restrict them to specific accounts, with no code changes to your agent. Session tokens can be scoped to exact actions so if one leaks, exposure stays contained.
Can I create custom agent actions for my Pushwoosh MCP server?
Yes. You can create custom agent actions for your Pushwoosh MCP server using Connector Builder. It's an integration agent your coding assistant (Claude Code, Cursor, or Copilot) can invoke to research Pushwoosh's API, generate production-ready connector YAML, test against the live API, and validate before you ship.
When should I NOT use a Pushwoosh MCP server?
Skip a Pushwoosh MCP server if your integration is purely software-to-software, because direct Pushwoosh API integration is simpler when no AI agent is involved. For deterministic, compliance-critical operations (financial transactions, regulatory reporting), direct API gives you predictable behavior without agent-driven decision-making. MCP shines when AI agents need to dynamically discover and call Pushwoosh actions at runtime.
What AI frameworks and AI clients does the StackOne Pushwoosh MCP server support?
The StackOne Pushwoosh MCP server supports both. MCP clients (paste-and-go apps): Claude Desktop, Claude Code, Cursor, VS Code, Goose. Agent frameworks (code SDKs you build with): OpenAI Agents SDK, Anthropic, Vercel AI, Google ADK, CrewAI, Pydantic AI, LangChain, LangGraph, Azure AI Foundry.

Put your AI agents to work

All the tools you need to build and scale AI agent integrations, with best-in-class connectivity, execution, and security.