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.
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.
Use StackOne to connect your AI agent to your marketing automation, CRM, and email tools to automate lead nurture email sequences.
ViewUse StackOne to connect your AI agent to your marketing automation, email, and analytics platforms to automate campaign performance reporting.
ViewUse StackOne to connect your AI agent to your document stores, email platforms, and messaging tools to automate content repurposing and distribution.
ViewSet 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
{
"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
187+ actions
66+ actions
59+ actions
57+ actions
57+ actions
54+ actions
43+ actions
Platform Resources
Comparing BM25, TF-IDF, and Hybrid Search for MCP Tool Discovery
Benchmarking BM25, TF-IDF, and hybrid search for MCP tool discovery across 916 tools. The 80/20 TF-IDF/BM25 hybrid hits 21% Top-1 accuracy in under 1ms.
10 min
Indirect Prompt Injection Defense for MCP Tools: A Technical Guide
MCP tools that read emails, CRM records, and tickets are indirect prompt injection vectors. Here's how we built a two-tier defense that scans tool results in ~11ms.
12 min
MCP vs A2A: Architecture, Security, and When to Use Each
MCP vs A2A: what each protocol standardizes, how they differ, their shared security risks including indirect prompt injection, and when to use one, both, or a hybrid architecture.
12 min
MCP vs API: What Hundreds of Connector Builds Taught Us
MCP wraps APIs, it doesn't replace them. After building hundreds of connectors that serve both, here's when each approach wins.
14 min read
Pushwoosh MCP Server FAQ
Does StackOne have a Pushwoosh MCP server?
Pushwoosh MCP server vs direct API integration: what's the difference?
How does Pushwoosh authentication work for AI agents?
origin_owner_id.Are Pushwoosh MCP tools vulnerable to prompt injection?
What is the context bloat of a Pushwoosh agent and how do I avoid it?
Can I limit which actions my Pushwoosh agent can access?
Can I create custom agent actions for my Pushwoosh MCP server?
When should I NOT use a Pushwoosh MCP server?
What AI frameworks and AI clients does the StackOne Pushwoosh MCP server support?
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.