Bulk messaging through an AI assistant: WSENDER connects to Claude, ChatGPT, Gemini, n8n and others over MCP, and campaigns are prepared right in the chat.
WSENDER now has an MCP server. That means you can connect the service to the AI assistant you already use and work with your campaigns by talking to it: "show me who didn't reply to the last campaign", "build a segment from these clients and draft the message", "answer Priya's question about delivery time". The assistant carries these requests out right inside your project.
There is no separate interface to learn and nothing to install. Below is what the assistant can actually do, where its independence ends, and how to switch it on.
What MCP is and why campaigns need it
MCP (Model Context Protocol) is an open standard that AI assistants use to connect to external services. Put simply, it works like a socket: the service declares the list of actions it can perform, and the assistant runs them when a person asks. The standard is supported by Claude, ChatGPT, Gemini, Copilot, editors like Cursor and automation platforms like n8n.
Until now, the only way to wire messaging into an external system was the API: a developer describes the scenario in code, and from then on it runs exactly as written. The difference is in the method. Code fixes a scenario once and for all, while an assistant is given the task in plain words and can be redirected at any moment. Underneath it's the same API and the same keys, so the automation in your CRM and the assistant's work live in one project and see the same accounts, segments, campaigns and client replies.
What the assistant can do with campaigns
The assistant's list of actions is roughly what you have in your dashboard, minus administration.
See what's going on. Connected WhatsApp and Telegram accounts, Telegram bots, and their state. The list of campaigns, sending progress, who received a message, who replied and what exactly they said.
Prepare a campaign. A draft is assembled in one step: texts, recipients, submission to moderation. After that you can refine it in the chat: rewrite the message, swap the segment, run moderation again.
Check texts before sending. The assistant can run your texts through the same blocking check that runs before every launch and clean up the problem spots in advance. No draft is created in the process, so you're not left with a graveyard of canceled campaigns.
Work with your client list. Segments and contact properties: view, create, add contacts, check how well a property is filled in before you start inserting it into the text. There's no need to paste thousands of numbers into the chat: the assistant fills a segment from a project file (xlsx, csv, docx, pdf and more), picking out both the numbers and the columns with property values.
Clean up after itself. A test campaign draft, a segment built just to look at something, a contact property that is no longer used: the assistant deletes all of it on request, so the conversation leaves no clutter in the project. A segment can also simply be archived and brought back if it may still come in handy. The assistant never deletes anything on its own initiative: it names what it is about to remove and waits for your answer. It won't delete a running campaign at all: the campaign has to be stopped first.
Work across several projects. If you have more than one project, such as your own company and a client's, or one country and another, the assistant works with all of them through a single connection. You add a project in your dashboard: "My applications" → "add project" in the assistant's row, with no need to reconnect it. Access to one project can be revoked the same way, without disconnecting the assistant entirely. Every answer names the project it worked in. Before anything irreversible (a launch, a send, a deletion), the project has to be named explicitly: the assistant cannot guess it, so a campaign won't go out to the wrong company just because nobody said which one.
Reply inside a conversation. The assistant reads the dialog history and answers the person in that same dialog, quoting a specific message when that helps. Before sending, it shows you the text and the recipient. If you change your mind right after sending, ask it to cancel: a message the account hasn't picked up from the queue yet is withdrawn. In Dialogs, such a message is labeled with the assistant's name, for example "Claude", if it was connected by signing in through your account: hover over the label to see who on the team connected it. An assistant connected with a key is labeled "API", and the tooltip shows the key name.
Connect an account by link. The assistant creates an invitation and hands over a link, and the person connects their own account in the browser, by QR code or by phone number. They don't need a WSENDER account or dashboard access for that. Handy when the messenger account belongs to an employee or a client rather than the project owner.
Work with project files. Listing, uploading by public link, inserting an image or a document into a campaign message. A file you simply attached to a chat message can't be handed over to the service: give the assistant a link to it or upload the file in your dashboard. One more detail worth knowing in advance: a file that has never been sent is removed from storage after a day. This doesn't affect a campaign that is already assembled: the image is copied into it when added.
The assistant knows platform rules instead of guessing them
The main problem with AI in an unfamiliar domain is that it invents things confidently. So along with the actions, the server hands the assistant a reference that it reads before starting work: what each messenger can do, which attachment formats and text lengths go through, where buttons work, how limits and account warm-up work, what moderation blocks and what it merely advises on.
The practical result is simple. The assistant won't promise you buttons under a WhatsApp message, where regular accounts don't have them, and won't suggest that a bot blast an uploaded list of numbers: a bot only writes to its own subscribers. It will tell you that before you spend time preparing.
What the assistant doesn't do
The boundaries are deliberate, and they are part of the answer to "so will it send something out on its own?"
It doesn't launch a campaign in one step. Preparation and launch are separate. The assistant brings the draft to a finished state, you see it in your dashboard, and the launch is a separate confirmed action. A sent message can't be recalled, so the control point stays with a human.
It doesn't answer incoming messages by itself. Usually the assistant learns about new messages when you ask it to look. The service can notify the assistant about a new incoming message, but whether the assistant starts on such an event depends on the assistant's platform, and not every platform supports it. Either way, the assistant confirms a reply to a client with you before sending it.
It doesn't touch project settings. Webhooks, plans, payments, project users: the server simply has no tools for that. The assistant can disconnect a messenger account or a bot, but only if you separately granted the account management permission: without it, neither a key nor a token will disconnect anything. And disconnecting is irreversible: the account has to be connected again, phone in hand. So the assistant names what exactly it is disconnecting and asks you directly.
Security: who can launch what
A campaign assembled by the assistant takes the usual route: the same AI moderation before the start and the same Auto-Strategy that picks a safe sending pace for a messenger account. You can't bypass limits through the assistant, since it has exactly the same capabilities as the dashboard: you can ask it to "send faster", but nothing will speed up. A bot campaign has no warm-up at all. Warm-up exists so the platform doesn't block an account for bulk sending, while a bot writes to people who subscribed to it themselves, so it goes at full speed from the start.
There are two ways to connect, and both of them limit permissions; the difference is where you set them.
Sign-in through your account. The assistant sends you to a confirmation page that lists the permissions it asks for (usually reading, draft preparation, launching and account management), and you either grant access in full or decline. Individual permissions can't be removed on that page, but after connecting you can change them in your dashboard under "My applications" → "Permissions", for example to take away the right to launch campaigns. This is how Claude, ChatGPT, Claude Desktop, Claude Code and Cursor connect: no keys or passwords to paste.
API key. For n8n, Yandex AI Studio and your own scenarios, where signing in through your account isn't supported but you can set a request header. A key's permissions are chosen when it's created: a new key can read and prepare by default, while launching campaigns is ticked separately. Give the assistant its own key rather than the one already sitting in another integration. That way its permissions can be narrowed or taken away without touching the rest.
The two ways also differ in how they handle projects. A key is issued inside a project and knows only that one: two projects mean two connections in the assistant's settings. Sign-in through your account covers as many projects as you've allowed, all in a single connection.
Which plans it works on
The MCP server isn't billed separately and is included in every plan, the free Basic one included: it's part of API access, with the same limits and request counter.
Three things are set by your plan rather than by the server. The request rate: on Basic it's 60 requests per minute, and the limit is counted per project as a whole. Access to account and bot data: dialog and subscriber lists require chat sync, and conversations require chat sync plus reply analytics. And segments: Basic has none at all, so building a campaign audience through the assistant won't work there.
Basic has none of this, and that applies to bots as well: without reply analytics, incoming messages aren't received at all, so there is nothing to read in a conversation, and the bot works for outgoing messages only. The upside is that such a request returns a clear error to the assistant rather than an empty list, so it won't pass off missing data as an answer.
How to connect
The server address is https://mcp.wsender.io/. Nothing to install: the server runs remotely. In Russian-language materials the same server appears as https://mcp.wsender.ru/; it's the same server, and the addresses are interchangeable.
Usually the assistant connects by signing in to your account, with no key needed:
- In your assistant's settings, add a new connection and paste the server address into it. In Claude, that's Customize → Connectors → Add custom connector; the Claude Desktop app connects the same way. In ChatGPT, it's Settings → Apps & Connectors: turn on Developer mode in Advanced settings, click Create and choose OAuth authentication. Developer mode is available on paid ChatGPT plans.
- The assistant opens the WSENDER sign-in page. Sign in as usual: with Yandex, Google or email.
- Choose a project, check which permissions are requested, and allow access.
- Connect your messenger accounts and bots if you haven't yet, and ask the assistant to show you what it sees.
Claude Code has no connections section, so you add the server with a terminal command:
claude mcp add --transport http --scope user wsender https://mcp.wsender.io/
With --scope user, the server is available in all your projects, not just the current folder. Claude Code will show "Needs authentication" next to wsender, and that's expected: run /mcp, choose wsender and click Authenticate. Then sign in and allow access, as in steps 2 and 3. In Cursor, the server address goes into ~/.cursor/mcp.json, and you start sign-in with the button next to wsender in Cursor settings, MCP section.
A project key is needed where signing in through your account isn't supported: in n8n, Yandex AI Studio and your own scenarios. Create a key in your dashboard: the "API" section, the "Create key" button. The token is shown once, so save it right away. In the connection settings, use the same address and pass the key in the Authorization header with the value key YOUR_KEY. In n8n, that's the MCP Client Tool node with Header Auth authentication; in Yandex AI Studio, the header is set in MCP Hub. Claude Code and Cursor can also be connected with a key.
From there, everything happens in plain conversation. Start with reading: ask it to show your connected accounts and bots and the last campaign with its replies. That's safe, and it shows immediately where the assistant can be useful to you specifically.
In closing
AI could already write campaign text. What's new is that there is no longer a manual handover between "came up with it" and "it went out". The assistant sees your client list, your accounts and your clients' replies, works with them inside your project, and leaves the launch decision to you.
You can connect the assistant on the free plan: there it lets you see how everything works and build your first draft. For it to see dialogs and conversations and build audiences from segments, you need a plan with chat sync, reply analytics and segments.