eSputnik MCP server
108 operations0 webhooks
Manage eSputnik contacts and segments, send events and orders, edit and send email, SMS, Viber, push and Telegram messages, and run broadcasts.
Try eSputnik with your agent
Connect eSputnik, then paste this into Claude, ChatGPT or Cursor. For ideas from other apps, see the use cases.
Using Corsair, show me what you can do in eSputnik on my account, then run one read-only example and show me the result.
eSputnik tools and triggers
Tools are what your agent can do in eSputnik through Corsair's MCP server. Triggers are the eSputnik events a routine can start from.
Contacts
- Add ContactWrite
Create or update an eSputnik contact
contacts.addContact
- Add To UnsubscribedWrite
Add emails to the eSputnik unsubscribe list
contacts.addToUnsubscribed
- Attach Contacts To GroupWrite
Add contacts to an eSputnik static segment
contacts.attachContactsToGroup
- Change Contact Subscription CategoriesWrite
Replace an eSputnik contact's subscription categories
contacts.changeContactSubscriptionCategories
- Change Token ActivatedWrite
Activate or deactivate an eSputnik mobile push token
contacts.changeTokenActivated
- Contact ActivityRead-only
Get delivery, read and click activity for messages sent to eSputnik contacts
contacts.contactActivity
- Contact MessagesRead-only
Get an eSputnik contact's message history
contacts.contactMessages
- Contact RecomsRead-only
Get product recommendations for an eSputnik contact
contacts.contactRecoms
- Contacts Bulk UpdateWrite
Bulk create or update eSputnik contacts
contacts.contactsBulkUpdate
- Delete Contact By External Customer IdDestructive
Delete an eSputnik contact by external customer ID
contacts.deleteContactByExternalCustomerId
- Delete Contact By IdDestructive
Delete an eSputnik contact by ID
contacts.deleteContactById
- Delete From UnsubscribedDestructive
Remove emails from the eSputnik unsubscribe list
contacts.deleteFromUnsubscribed
- Detach Contacts From GroupDestructive
Remove contacts from an eSputnik static segment
contacts.detachContactsFromGroup
- File Contacts Bulk UpdateWrite
Import eSputnik contacts from a file link
contacts.fileContactsBulkUpdate
- Get Additional FieldsRead-only
List eSputnik contact additional fields
contacts.getAdditionalFields
- Get ContactRead-only
Get an eSputnik contact by ID
contacts.getContact
- Get Contact EmailsRead-only
Get email addresses for eSputnik contact IDs
contacts.getContactEmails
- Get Contact Id By TokenRead-only
Get an eSputnik contact ID by mobile push token
contacts.getContactIdByToken
- Get Contact Subscription CategoriesRead-only
Get an eSputnik contact's subscription categories
contacts.getContactSubscriptionCategories
- Get Group ContactsRead-only
Get contacts in an eSputnik segment
contacts.getGroupContacts
- Get Import Session StatusRead-only
Get eSputnik contact import status
contacts.getImportSessionStatus
- Get Subscription CategoriesRead-only
List the organisation's eSputnik subscription categories
contacts.getSubscriptionCategories
- Get Token ActivatedRead-only
Get whether an eSputnik mobile push token is active
contacts.getTokenActivated
- Search ContactsRead-only
Search eSputnik contacts (up to 500 per page)
contacts.searchContacts
- Search GroupsRead-only
Search eSputnik segments
contacts.searchGroups
- Search WorkflowsRead-only
Search eSputnik workflows
contacts.searchWorkflows
- Subscribe ContactWrite
Subscribe an eSputnik contact
contacts.subscribeContact
- Update ContactWrite
Update an eSputnik contact by ID
contacts.updateContact
Emails
- Add EmailWrite
Create an eSputnik email message
emails.addEmail
- Delete EmailDestructive
Delete an eSputnik email message
emails.deleteEmail
- Delete Translated EmailDestructive
Delete a language version of an eSputnik email message
emails.deleteTranslatedEmail
- Get EmailRead-only
Get an eSputnik email message
emails.getEmail
- Get Email Message View LinkRead-only
Get a link to view an eSputnik email message
emails.getEmailMessageViewLink
- Search EmailsRead-only
Search eSputnik email messages by name or tag
emails.searchEmails
- Send EmailWrite
Send an email to eSputnik recipients
emails.sendEmail
- Update MessageWrite
Update an eSputnik email message
emails.updateMessage
- Update Translated MessageWrite
Add or update a language version of an eSputnik email message
emails.updateTranslatedMessage
Sms
- Add Sms MessageWrite
Create a eSputnik SMS message
sms.addSmsMessage
- Delete Sms MessageDestructive
Delete a eSputnik SMS message
sms.deleteSmsMessage
- Delete Translated Sms MessageDestructive
Delete a language version of a eSputnik SMS message
sms.deleteTranslatedSmsMessage
- Get SmsRead-only
Get a eSputnik SMS message with its language versions
sms.getSms
- Search Sms MessagesRead-only
Search eSputnik SMS messages by name
sms.searchSmsMessages
- Send SmsWrite
Send an SMS to eSputnik recipients
sms.sendSms
- Update Base Sms MessageWrite
Update a eSputnik SMS message
sms.updateBaseSmsMessage
- Update Translated Sms MessageWrite
Add or update a language version of a eSputnik SMS message
sms.updateTranslatedSmsMessage
Viber
- Add Viber MessageWrite
Create a eSputnik Viber message
viber.addViberMessage
- Delete Translated Viber MessageDestructive
Delete a language version of a eSputnik Viber message
viber.deleteTranslatedViberMessage
- Delete Viber MessageDestructive
Delete a eSputnik Viber message
viber.deleteViberMessage
- Get Viber MessageRead-only
Get a eSputnik Viber message with its language versions
viber.getViberMessage
- Search Viber MessagesRead-only
Search eSputnik Viber messages by name
viber.searchViberMessages
- Send ViberWrite
Send a Viber message to eSputnik recipients
viber.sendViber
- Update Base Viber MessageWrite
Update a eSputnik Viber message
viber.updateBaseViberMessage
- Update Translated Viber MessageWrite
Add or update a language version of a eSputnik Viber message
viber.updateTranslatedViberMessage
App Inbox
- Add App Inbox MessageWrite
Create a eSputnik App Inbox message
appInbox.addAppInboxMessage
- Delete App Inbox MessageDestructive
Delete a eSputnik App Inbox message
appInbox.deleteAppInboxMessage
- Delete Translated App Inbox MessageDestructive
Delete a language version of a eSputnik App Inbox message
appInbox.deleteTranslatedAppInboxMessage
- Get App Inbox MessageRead-only
Get a eSputnik App Inbox message with its language versions
appInbox.getAppInboxMessage
- Search App Inbox MessagesRead-only
Search eSputnik App Inbox messages by name
appInbox.searchAppInboxMessages
- Update Base App Inbox MessageWrite
Update a eSputnik App Inbox message
appInbox.updateBaseAppInboxMessage
- Update Translated App Inbox MessageWrite
Add or update a language version of a eSputnik App Inbox message
appInbox.updateTranslatedAppInboxMessage
Mobile Push
- Add Mobile Push MessageWrite
Create a eSputnik mobile push message
mobilePush.addMobilePushMessage
- Delete Mobile Push MessageDestructive
Delete a eSputnik mobile push message
mobilePush.deleteMobilePushMessage
- Delete Translated Mobile Push MessageDestructive
Delete a language version of a eSputnik mobile push message
mobilePush.deleteTranslatedMobilePushMessage
- Get Mobile Push MessageRead-only
Get a eSputnik mobile push message with its language versions
mobilePush.getMobilePushMessage
- Search Mobile Push MessagesRead-only
Search eSputnik mobile push messages by name
mobilePush.searchMobilePushMessages
- Update Base Mobile Push MessageWrite
Update a eSputnik mobile push message
mobilePush.updateBaseMobilePushMessage
- Update Translated Mobile Push MessageWrite
Add or update a language version of a eSputnik mobile push message
mobilePush.updateTranslatedMobilePushMessage
Site
- Add Web Push DomainWrite
Register an eSputnik web push domain
site.addWebPushDomain
- Create DomainWrite
Register a domain for eSputnik web tracking
site.createDomain
- Delete Web Push DomainDestructive
Delete an eSputnik web push domain
site.deleteWebPushDomain
- Get DomainsRead-only
Get the organisation's eSputnik web tracking domain
site.getDomains
- Get ScriptRead-only
Get the eSputnik web tracking script
site.getScript
- Get Web Push DomainsRead-only
List eSputnik web push domains
site.getWebPushDomains
- Get Web Push ScriptRead-only
Get the eSputnik web push script for a domain
site.getWebPushScript
Telegram Bot
- Add Telegram Bot MessageWrite
Create a eSputnik Telegram bot message
telegramBot.addTelegramBotMessage
- Delete Telegram Bot MessageDestructive
Delete a eSputnik Telegram bot message
telegramBot.deleteTelegramBotMessage
- Delete Translated Telegram MessageDestructive
Delete a language version of a eSputnik Telegram bot message
telegramBot.deleteTranslatedTelegramMessage
- Get Telegram Bot MessageRead-only
Get a eSputnik Telegram bot message with its language versions
telegramBot.getTelegramBotMessage
- Search Telegram Bot MessagesRead-only
Search eSputnik Telegram bot messages by name
telegramBot.searchTelegramBotMessages
- Update Base Telegram Bot MessageWrite
Update a eSputnik Telegram bot message
telegramBot.updateBaseTelegramBotMessage
- Update Translated Telegram MessageWrite
Add or update a language version of a eSputnik Telegram bot message
telegramBot.updateTranslatedTelegramMessage
Account
- Generate Api TokenWrite
Generate a bearer token for the eSputnik event endpoints (returns a secret)
account.generateApiToken
- Get Account InfoRead-only
Get the eSputnik account name and organisation ID
account.getAccountInfo
- Get BalanceRead-only
Get the eSputnik organisation balance
account.getBalance
- Get Organisation Balance HistoryRead-only
Get daily eSputnik billing costs for a period of up to 90 days
account.getOrganisationBalanceHistory
Broadcasts
- Cancel BroadcastDestructive
Cancel a scheduled eSputnik broadcast
broadcasts.cancelBroadcast
- Create BroadcastWrite
Create an eSputnik broadcast for a prepared message and segments
broadcasts.createBroadcast
- Get BroadcastRead-only
Get an eSputnik broadcast
broadcasts.getBroadcast
- Get BroadcastsRead-only
List eSputnik broadcasts
broadcasts.getBroadcasts
Apps
- Add App TokensWrite
Add Telegram application tokens to eSputnik
apps.addAppTokens
- Mute App TokenWrite
Mute eSputnik notifications for an application token
apps.muteAppToken
- Unmute App TokenWrite
Unmute eSputnik notifications for an application token
apps.unmuteAppToken
Events
- Register EventWrite
Send an eSputnik event
events.registerEvent
- Remove History EventsDestructive
Delete eSputnik events in a period
events.removeHistoryEvents
- Send History EventsWrite
Send past eSputnik events
events.sendHistoryEvents
Preprocessor
- Get Preprocessor File StatusRead-only
Get the status of an eSputnik preprocessor file upload
preprocessor.getPreprocessorFileStatus
- Update Preprocessor FileDestructive
Replace the data of an eSputnik preprocessor file
preprocessor.updatePreprocessorFile
- Upload Preprocessor FileWrite
Upload an eSputnik preprocessor file from a link
preprocessor.uploadPreprocessorFile
Promocodes
- Get PromocodesRead-only
Get available eSputnik promotional codes
promocodes.getPromocodes
- Get Promocodes CountRead-only
Count available eSputnik promotional codes
promocodes.getPromocodesCount
- Insert PromocodesWrite
Upload eSputnik promotional codes
promocodes.insertPromocodes
Interfaces
- Get Email InterfacesRead-only
List eSputnik email sender addresses
interfaces.getEmailInterfaces
- Get Sms InterfacesRead-only
List eSputnik SMS sender names
interfaces.getSmsInterfaces
Messages
- Send Prepared MessageWrite
Send a prepared eSputnik message to one or more contacts
messages.sendPreparedMessage
- Update Interaction StatusWrite
Report a delivery, open or click status for an eSputnik message interaction
messages.updateInteractionStatus
Product Feeds
- Configure Product FeedsWrite
Configure eSputnik product feeds
productFeeds.configureProductFeeds
- Get Product Feeds ConfigurationRead-only
Get eSputnik product feed configuration
productFeeds.getProductFeedsConfiguration
Orders
- Orders Bulk InsertWrite
Add or update eSputnik orders
orders.ordersBulkInsert
Connect eSputnik to Claude, ChatGPT or Cursor
- 1
Connect eSputnik in Corsair
Add your eSputnik API key once in Corsair. Corsair stores the credential encrypted and makes the eSputnik API calls for your agent, so it never goes into a prompt or a config file. Connect eSputnik
If your link lets the agent add apps, you can skip this: it gives you a sign-in link the first time it needs eSputnik. On a ChatGPT personal plan, connect eSputnik here first.
- 2
Add Corsair's MCP server to your agent
Every client uses the same address:
https://mcp.corsair.dev/mcpOpen Customize → Connectors → Add custom connector, paste the address, then select Connect.Add a custom MCP server with the address and choose OAuth. Personal plans get read tools only.Add to CursorOr add this to~/.cursor/mcp.json. Cursor opens Corsair to sign in the first time it connects.{ "mcpServers": { "corsair": { "url": "https://mcp.corsair.dev/mcp" } } }Run this, then run/mcpin Claude Code to sign in.claude mcp add --transport http corsair https://mcp.corsair.dev/mcpCodex, Gemini CLI, VS Code, Zed and other clients with OAuth sign-in work the same way. Clients without it, such as GitHub Copilot's coding agent, use a link's own address and an API key. Setup for every client
- 3
Sign in and choose what needs your approval
Your client opens Corsair to sign in. Pick a link: the apps your agent can use and a mode that decides what it may do without asking. In the default Cautious mode, eSputnik's read and write operations run right away and its 20 destructive operations wait for your approval. Strict mode asks before every write and refuses destructive operations, and Read mode allows reads only.
FAQ
Install corsair and @corsair-dev/esputnik, add the eSputnik plugin, and connect with an API key. Then call methods like corsair.esputnik.api.account.generateApiToken() from your app. Corsair keeps each tenant isolated.
Yes. eSputnik requires an API key from your eSputnik account or developer dashboard. Create credentials with access that matches what you automate, then paste them into Corsair or connect through managed auth in Hub.
Yes. One Corsair client can hit eSputnik, GitHub, Notion, Stripe, and the rest. Trigger eSputnik from a webhook, push updates to Slack, or chain actions across plugins. Same tenant context across integrations, plain TypeScript.
Teams use Corsair for manage esputnik contacts and segments, send events and orders, edit and send email, sms, viber, push and telegram messages, and run broadcasts. Common builds include sync jobs, admin tooling, and agents that call eSputnik APIs from your backend.
The SDK is open source. Self-host and you pay Corsair nothing for the integration layer. Hub bills for hosted auth and execution, not per eSputnik API call. Hub has a generous free tier. For hobby projects you can probably run the whole thing on free. Paid plans start to matter with more tenants or heavier traffic.
We maintain @corsair-dev/esputnik in the open repo. When eSputnik ships API changes, upgrade the package. Your call sites stay typed. You should not need to rewrite the integration layer each time.
No. Corsair does not read your eSputnik data or hold individual access credentials. Credentials stay in your database. API calls run on your instance. We do not store eSputnik data on your behalf.
Yes. Add https://mcp.corsair.dev/mcp as a custom connector or MCP server in Claude, ChatGPT, Cursor, VS Code, Claude Code, Codex or any client that supports remote MCP servers with OAuth sign-in, then sign in to Corsair. On ChatGPT personal plans, custom servers currently get read tools only.
Yes. Put eSputnik on a link in Strict mode and every write waits for your approval, while destructive actions are refused. The default Cautious mode asks only before the 20 destructive eSputnik operations. You can change a link's mode at hub.corsair.dev/me.