ManyMoney Messaging MCP server
Overview
Anchor link toThe ManyMoney Messaging MCP server is the sending counterpart to the ManyMoney AI MCP server. Where the ManyMoney AI MCP server helps you plan and build campaigns, the Messaging MCP server gives your AI agent the power to actually deliver messages — push notifications, email, SMS, WhatsApp, Telegram, LINE, Kakao, and more — on demand, from natural-language instructions.
Connect it to any Model Context Protocol (MCP) client and your agent can fire a push to a segment or send a personalized email to a specific user, all from a single natural-language request.
Supported channels
Anchor link to| Channel | Message types |
|---|---|
| Push — iOS | Standard, silent, and critical notifications, VoIP pushes, and Live Activities |
| Push — Android | Standard pushes, plus Huawei, Baidu, and Amazon Fire |
| Push — Web | Web push in Chrome, Firefox, Safari, and Edge (Windows) |
| HTML body, templates, attachments, custom From/Reply-To | |
| SMS | Text messages through the SMS platform configured on your account |
| Meta-approved templates for outbound sends; free-form text only within the 24-hour window after a user messages you first | |
| Telegram | Text messages with content variables |
| LINE | Content and template messages |
| Kakao | Content and template messages |
How it works
Anchor link to- Connect the Messaging MCP server to your AI client once (see Connect the MCP server below).
- In your AI client, open a new chat and describe the send in plain language. Include the application, the audience (segment or specific users), the message text, and when to send if it is not immediate. See what to include in your request below. You do not need to build API requests or JSON yourself.
- When the agent is ready to send, review the details and approve the action in your client.
- After you approve, Pushwoosh sends the message and returns a message code. Use it in Message history to find the send and track delivery and statistics.
What your agent can do
Anchor link toAfter setup, the agent can:
- Send on any supported channel: push (iOS, Android, Web), email, SMS, WhatsApp, Telegram, LINE, or Kakao.
- Reach a segment: broadcast to everyone in a segment.
- Reach specific users: send to one or more user IDs after an event (order update, password reset, and similar).
- Schedule delivery: send now, at a set time, after a delay, or in each user’s local timezone.
- Personalize content: fill template placeholders such as
{{first_name}}or{{promo_code}}per recipient. - Count sends toward a campaign: tell the agent which campaign code to use. Delivery and engagement for that send show up under that campaign in the Control Panel.
See example chat requests in Send messages from your AI client below.
Compatible AI clients
Anchor link toThe Messaging MCP server works with any MCP-compatible client, including:
- Claude Desktop by Anthropic
- Cursor and Windsurf
- Cline and Continue
- Custom agents built on the MCP specification
Connect the MCP server
Anchor link toStep 1. Make sure you have a Pushwoosh account and an API token
Anchor link toThe Messaging MCP server authenticates with a Pushwoosh Server API token.
In the Pushwoosh Control Panel, go to Settings → API Access, click Generate New Token, select Server, and save the token. You will add it to the client config in the next step.
The token inherits your account permissions. Limit it to the applications you want the agent to send through.
Step 2. Add the server to your AI client
Anchor link toUse the following endpoint:
https://messaging-api.svc-nue.pushwoosh.com/mcpAdd the server to your Claude Desktop config file (claude_desktop_config.json):
{ "mcpServers": { "pushwoosh-messaging": { "url": "https://messaging-api.svc-nue.pushwoosh.com/mcp", "headers": { "Authorization": "Token YOUR_API_TOKEN" } } }}Restart Claude Desktop after saving.
Add the server to your .cursor/mcp.json (or the equivalent file in Windsurf):
{ "mcpServers": { "pushwoosh-messaging": { "url": "https://messaging-api.svc-nue.pushwoosh.com/mcp", "headers": { "Authorization": "Token YOUR_API_TOKEN" } } }}Reload the editor after saving.
Point your client at https://messaging-api.svc-nue.pushwoosh.com/mcp and set the Authorization: Token YOUR_API_TOKEN request header. Refer to your client’s documentation for adding a remote MCP server with custom headers.
Step 3. Try it out
Anchor link toOpen a new chat in your AI client and ask something concrete:
“In application
XXXXX-XXXXX, send a push to my test devices with the title ‘Hello from the agent’ and body ‘This is a test message.’”
Before you approve the agent’s action, confirm the audience and message content.
If the connection works, the agent sends the message and returns a Pushwoosh message code such as PW-12345-67890.
Send messages from your AI client
Anchor link toThe agent sends one message per request.
What to include in your request
Anchor link toDescribe the details below in your chat so the agent knows what to send, who should receive it, and when. Use plain language (for example, “app XXXXX-XXXXX”, “segment cart-abandonment”).
| What to include | Description |
|---|---|
application | Application code (XXXXX-XXXXX) |
platforms | Channel IDs to send through (push, email, SMS, etc.) |
target | Segment code, segment expression, or an explicit user, hwid, or push token list (transactional targeting) |
message_payload | Push: title and body, or a push preset, with optional sound, badge, and open action Email: subject, body or template, attachments SMS and messengers: text or approved template |
schedule | Send at a specific time, after a delay, or follow user timezones |
dynamic_content_placeholders | Values for placeholders such as {{first_name}} or {{promo_code}} |
campaign | Campaign code to attribute the message to |
frequency_capping | Frequency capping limits how often each user receives a message within a time window |
How the agent sends a message
Anchor link toThe agent uses the Notify tool to create and send one message. Supports two targeting modes:
| Mode | When to use |
|---|---|
| Segment | Broadcast to all users matching a segment or segment expression. Supports scheduling, frequency capping, send rate, and control groups. |
| Transactional | Send to a specific list of users, hwids, or push tokens. Ideal for triggered or personalized messages. |
Example prompts
Anchor link toPush to a segment:
In application
XXXXX-XXXXX, send a push to thecart-abandonmentsegment on iOS and Android.Title: “Still thinking it over?” Body: “Your cart is waiting, here’s 10% off.”
Schedule for 3 PM in each user’s local timezone. Use campaign code
spring-promo.
Email to one user:
In application
XXXXX-XXXXX, send an email to useruid-123using email templatewelcome-flow-v2with the placeholder{{first_name}}set to Alex.
SMS to a segment:
In application
XXXXX-XXXXX, send an SMS to segmentvip-userswith body “Your exclusive offer ends tonight.” Send now.
Telegram to a segment:
In application
XXXXX-XXXXX, send a Telegram message to segmentsubscribers-monthlywith body “Hi{{first_name}}, your May invoice is ready — download it from your account.” Schedule it for tomorrow at 10:00 AM UTC.
Authentication
Anchor link toThe Messaging MCP server supports two authentication methods:
| Method | How to use |
|---|---|
| API token | Add Authorization: Token YOUR_API_TOKEN to every request. Recommended for agents and automated pipelines. |
| Session token (SSO) | Add Authorization: Bearer YOUR_SSO_TOKEN. For programmatic integrations that use Pushwoosh OAuth2 SSO to act under a specific user session. Not needed for typical agent setups — use a Server API token instead. |
Requests with a missing or invalid token are rejected with HTTP 401.
Tips and best practices
Anchor link to- Always review each send carefully before you approve it. These are real deliveries, and they go out when you approve or at the scheduled time. Make sure the app, audience, channel, and message text in the client match what you intended.
- Use a dedicated Server API token for the agent. Create a separate Server API token in Settings → API Access and limit it to the applications the agent should send from. That way the agent’s access stays scoped to just those apps.
- Use transactional targeting for triggered messages. When you send to a known user ID after an event (order shipped, password reset), use
transactionalmode withusers: [userId]. Do not build a one-person segment for the same send. See NotifyTransactional. - Test on test devices before a big send. Before sending to a real segment, ask the agent to send to your registered test devices first. For example: “In application
XXXXX-XXXXX, send a push to my test devices with title ‘Test’ and body ‘Check text here.’” This routes the message only to devices you added in Settings → Test Devices. When the preview looks right, ask for the real segment or audience. - Name a campaign in your request. Include a campaign code in chat (for example,
spring-promo) so results appear under the right campaign in the Pushwoosh Control Panel. - Confirm before broadcasting. Configure your AI client to ask for explicit confirmation before approving any tool call that targets a segment. A broadcast to a large audience is irreversible.
- Use placeholders for personalization. Pass values for placeholders like
{{first_name}}or{{promo_code}}in your chat request rather than building separate messages for each user.