Connectors · Email & messaging
Sinch Mailjet MCP server for AI agents.
actionlake is an MCP gateway: one remote MCP server that connects Claude and other MCP clients to Sinch Mailjet and the rest of your systems. It gives your agent 176 Sinch Mailjet actions (93 reads, 67 writes and 16 that wait for a confirmation) and holds the Sinch Mailjet credential itself, so the agent never does. It paces Sinch Mailjet's limits and records every call.
100,000 free calls a month. No card, no email, no password: press Start a free sandbox on the next screen and keep the key it shows you.
claude mcp add --transport http actionlake https://connect.actionlake.com/mcpdo { action: "mailjet.contact_lists.list", intent: "check which Sinch Mailjet account is connected"}# List Contact Lists · read · 1 upstream call- 176actionsin one signed file
- 93readlook, never change
- 67writecreate and update
- 16wait for a yesdestructive, confirmed first
Set up
Connect Sinch Mailjet in three steps.
- 01
Add actionlake to Claude.
Run the command once in Claude Code; its consent page can create a free sandbox: 100,000 calls a month, no card. In the Claude app, add a custom connector with the URL below and paste your key on the consent page. Creating a new sandbox from the Claude app is not yet tested by us.
https://connect.actionlake.com/mcp - 02
Connect Sinch Mailjet.
Username and secret. No consent screen: your agent can connect it for you, but the key then passes through your chat. To keep it out of the model's context, paste it in the console instead. actionlake stores what you paste write-only, sealed under your tenant's key.
api_keyMailjet API key (public key)secret_keyMailjet secret key (private key) paired with the API keyregionYour Sinch Mailjet region
account { op: "connections.requirements", service: "mailjet" } # free: exactly what to paste, and what is found for you - 03
Make the first call. Check before a write.
Ask in plain words; Claude picks the action. Before anything changes,
checkvalidates the call and prices it, for free.do { action: "mailjet.contact_lists.list" }# list contact lists · read · 1 upstream callcheck { action: "mailjet.contact_lists.create", input: { … } }# free: inputs, permissions, cost and confirmations, nothing sent
Sinch Mailjet at a glance
- Sign-in
- Username and secret. No consent screen: your agent can connect it for you, but the key then passes through your chat. To keep it out of the model's context, paste it in the console instead.
- You provide
api_keysecret_key- Setup fields
region- Limits we pace to
- 300 calls a minute, per connection
- API covered
- Mailjet Email API v3 / Send API v3.1 / Content API v1 (OpenAPI 3.1.0 bundles), at your region's mailjet.com address, set when you connect
- Built from
- Sinch Mailjet's documentation, read 23 October 2026dev.mailjet.comdev.mailjet.comdev.mailjet.com
- Service file
- Version 1.0.0, signed (Ed25519)
- Cached reads
- 89 of 93 reads, for up to 5 minutes; a write clears what it affects
- Shared entities
- 4, so ask can line Sinch Mailjet up with your other systems
- Data
- Processed and stored in Sydney, Australia. No US region yet
Capabilities
What an AI agent can do in Sinch Mailjet.
176 actions in 47 areas. Every one carries its effect, so a key can allow the reads and hold the rest.
- 93readlook, never change
- 67writecreate and update
- 16destructivewait for a confirmation
Newsletters
155 read · 8 write · 2 destructive
Create Newsletter · Newsletter: Detail Content · Newsletter List · Newsletter: Schedule
Campaign drafts
135 read · 7 write · 1 destructive
Campaign Draft List · Create Campaign Draft · Campaign Draft by ID · Update Campaign Draft
Contact lists
125 read · 6 write · 1 destructive
List Contact Lists · Create Contact List · Contact List by ID · Update Contact List
Content templates
124 read · 7 write · 1 destructive
Create a template · Create template content · List of templates · List all template content
Contacts
94 read · 4 write · 1 destructive
List Contacts · Create Contact · Contact by ID · Update Contact
Templates
83 read · 4 write · 1 destructive
Template List · Create Template · Template by ID · Update Template
Senders
62 read · 3 write · 1 destructive
Sender List · Create Sender · Sender by ID · Update Sender
Contact properties
52 read · 2 write · 1 destructive
Create Contact Metadata · Contact Metadata List · Update Contact Metadata · Contact Metadata by ID
39 more areas · 96 actions
- Labels 5
- List recipients 5
- Parse routes 5
- Segments 5
- Webhooks 5
- API keys 4
- Contact data 4
- Images 4
- Messages 4
- Metasenders 4
- Campaigns 3
- CSV imports 3
- DNS 3
- Tokens 3
- Bounce statistics 2
- Campaign graph statistics 2
- Campaign overviews 2
- Campaign statistics 2
- Contact list signups 2
- Contact statistics 2
- List recipient statistics 2
- List statistics 2
- Message information 2
- Message statistics 2
- My profile 2
- Open information 2
- Sender statistics 2
- User 2
- API key totals 1
- Click statistics 1
- Domain statistics 1
- Graph statistics 1
- Link click statistics 1
- Message history 1
- Open statistics 1
- Recipient esp statistics 1
- Stat counters 1
- Top link clicked 1
- User agent statistics 1
Top actions
The Sinch Mailjet API, shaped for agents.
The ids your agent types, what each does, and the one name it shares with other systems. 53 of Sinch Mailjet's 53 action names are shared with at least one other connector, so an agent learns them once.
| Action | What it does | Effect | Same name in |
|---|---|---|---|
mailjet.contact_lists.listList Contact Lists | List Contact Lists. | read | comm.audience.list26 connectors |
mailjet.messages.listMessage List | Message List. | read | comm.delivery_event.list16 connectors |
mailjet.contacts.listList Contacts | List Contacts. | read | crm.contact.list177 connectors |
mailjet.contact_lists.createCreate Contact List | Create Contact List. | write | comm.audience.create24 connectors |
mailjet.contacts.createCreate Contact | Create Contact. | write | crm.contact.create161 connectors |
mailjet.contact_lists.deleteDelete Contact List | Delete Contact List. | destructive | comm.audience.delete21 connectors |
mailjet.campaign_drafts.listCampaign Draft List | Campaign Draft List. | read | comm.campaign.list41 connectors |
mailjet.templates.listTemplate List | Template List. | read | comm.email_template.list40 connectors |
mailjet.campaign_drafts.createCreate Campaign Draft | Create Campaign Draft. | write | comm.campaign.create38 connectors |
mailjet.templates.createCreate Template | Create Template. | write | comm.email_template.create34 connectors |
mailjet.messages.sendSend an email message via Send API v3.1 | Send an email message via Send API v3.1. | write | comm.email.send32 connectors |
mailjet.dns.listDNS List | DNS List. | read | comm.sending_domain.list18 connectors |
Try it
Prompts to paste into Claude.
Each one names the Sinch Mailjet actions it will call, so you know what it reads and what it changes before you send it.
- Readread
Find the Sinch Mailjet contacts with no email address, so we can clean them up.
calls
mailjet.contacts.list - Writewrite
Create Contact List in Sinch Mailjet. Show me exactly what you will send before you save it.
calls
mailjet.contact_lists.create - Across systemsread
Which contacts are in both Sinch Mailjet and HaloPSA, and how many are in only one of them?
calls
mailjet.contacts.listhalopsa.users.list
Across your systems
Sinch Mailjet, joined to the rest of your business.
One ask fetches from Sinch Mailjet and another system, joins the rows on the same customer on our side, and hands your agent the answer, not every row.
Which contacts are in both Sinch Mailjet and HaloPSA, and how many are in only one of them?
mailjet.contacts.list+halopsa.users.list, oncrm.contact· HaloPSAWhich contacts are in both Sinch Mailjet and NetSuite, and how many are in only one of them?
mailjet.contacts.list+netsuite.views.contacts, oncrm.contact· NetSuite
crm.contact 192comm.audience 27comm.sending_domain 12comm.delivery_event 7ask { intent: "which contacts are in both Sinch Mailjet and HaloPSA, and how many are in only one of them", steps: [ { action: "mailjet.contacts.list", as: "people", input: {}, limit: 100, max_pages: 5 }, { action: "halopsa.users.list", as: "people2", input: {}, limit: 100, max_pages: 5 }, { join: { left: "people", right: "people2", on: "crm.contact", group_by: "people.email", select: ["people.email", "count(people2.id) as in_halopsa"] } } ]}Governance for Sinch Mailjet
Destructive actions wait for a yes.
16 Sinch Mailjet actions are destructive. These are all of them:
- Delete Contact List
mailjet.contact_lists.delete - Delete a contact (GDPR)
mailjet.contacts.gdpr_delete - Delete Template
mailjet.templates.delete - Delete List Recipient
mailjet.list_recipients.delete - Delete Event Callback URL
mailjet.webhooks.delete - Delete Contact Filter
mailjet.segments.delete - Delete Contact Metadata
mailjet.contact_properties.delete - Delete Sender
mailjet.senders.delete - Delete Campaign Draft: Schedule
mailjet.campaign_drafts.cancel_schedule - Delete an image
mailjet.images.delete - Delete a label
mailjet.labels.delete - Delete Contact Data
mailjet.contact_data.delete - Delete Parse Route
mailjet.parse_routes.delete - Delete a template
mailjet.content_templates.delete - Delete Newsletter: Detail Content
mailjet.newsletters.delete_content - Delete Newsletter: Schedule
mailjet.newsletters.cancel_schedule
A destructive action runs only with confirm: true. Under the human policy the agent cannot confirm for itself: the run stops until a named person approves, in the console or from a signed link in an email. The cap on a key is refused before the call is sent, never after.
Delete Contact List?
intent: the user asked me to delete Contact List
account { op: "keys.create", name: "mailjet-agent", allowed_actions: ["mailjet.*"], cap_calls: 2000, confirm_policy: "human_for_writes", approval_rules: [ { match: "mailjet.contact_lists.delete", approver: "[email protected]" }, { match: "mailjet.contacts.gdpr_delete", approver: "[email protected]" }, { match: "mailjet.templates.delete", approver: "[email protected]" } ]}Cost
What Sinch Mailjet costs on actionlake.
Every Sinch Mailjet action is one upstream call, the only thing actionlake bills. Searching, check, cost, account and any call Sinch Mailjet refused with 401, 403, 429 or a 5xx are free. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.
- 1upstream call per actionall 176 Sinch Mailjet actions
- 176actions pageeach page of a long list is one call
- 89reads can be cacheda cache hit costs nothing
- 100,000calls a month, freepaid plans from US$49 a month for 250,000
Action index
Every Sinch Mailjet action.
176 actions by area: the id your agent calls, what it does, and its effect.
Newsletters15
mailjet.newsletters.cancel_scheduleDelete Newsletter: Scheduledestructivemailjet.newsletters.createCreate Newsletterwritemailjet.newsletters.create_contentNewsletter: Detail Contentwritemailjet.newsletters.delete_contentDelete Newsletter: Detail Contentdestructivemailjet.newsletters.getNewsletter by IDreadmailjet.newsletters.get_contentGet Newsletter: Detail Contentreadmailjet.newsletters.get_scheduleGet Newsletter: Schedulereadmailjet.newsletters.get_statusGet Newsletter: Statusreadmailjet.newsletters.listNewsletter Listreadmailjet.newsletters.scheduleNewsletter: Schedulewritemailjet.newsletters.sendNewsletter: Sendwritemailjet.newsletters.send_testNewsletter: Testwritemailjet.newsletters.updateUpdate Newsletterwritemailjet.newsletters.update_contentUpdate Newsletter: Detail Contentwritemailjet.newsletters.update_scheduleUpdate Newsletter: Schedulewrite
Campaign drafts13
mailjet.campaign_drafts.cancel_scheduleDelete Campaign Draft: Scheduledestructivemailjet.campaign_drafts.createCreate Campaign Draftwritemailjet.campaign_drafts.create_contentCampaign Draft: Detail Contentwritemailjet.campaign_drafts.getCampaign Draft by IDreadmailjet.campaign_drafts.get_contentGet Campaign Draft: Detail Contentreadmailjet.campaign_drafts.get_scheduleGet Campaign Draft: Schedulereadmailjet.campaign_drafts.get_statusGet Campaign Draft: Statusreadmailjet.campaign_drafts.listCampaign Draft Listreadmailjet.campaign_drafts.scheduleCampaign Draft: Schedulewritemailjet.campaign_drafts.sendCampaign Draft: Sendwritemailjet.campaign_drafts.send_testCampaign Draft: Testwritemailjet.campaign_drafts.updateUpdate Campaign Draftwritemailjet.campaign_drafts.update_scheduleUpdate Campaign Draft: Schedulewrite
Contact lists12
mailjet.contact_lists.createCreate Contact Listwritemailjet.contact_lists.deleteDelete Contact Listdestructivemailjet.contact_lists.getContact List by IDreadmailjet.contact_lists.get_import_list_jobGet Contact List: Import Listreadmailjet.contact_lists.get_manage_many_contacts_jobGet Contact List: Manage Many Contactsreadmailjet.contact_lists.get_verify_jobGet Contact List: Verifyreadmailjet.contact_lists.import_listContact List: Import Listwritemailjet.contact_lists.listList Contact Listsreadmailjet.contact_lists.manage_contactContact List: Manage Contactwritemailjet.contact_lists.manage_many_contactsContact List: Manage Many Contactswritemailjet.contact_lists.updateUpdate Contact Listwritemailjet.contact_lists.verifyContact List: Verifywrite
Content templates12
mailjet.content_templates.createCreate a templatewritemailjet.content_templates.create_contentCreate template contentwritemailjet.content_templates.deleteDelete a templatedestructivemailjet.content_templates.getRetrieve a single templatereadmailjet.content_templates.get_content_by_typeGet template content by statusreadmailjet.content_templates.listList of templatesreadmailjet.content_templates.list_contentsList all template contentreadmailjet.content_templates.lock_contentsLock template contentwritemailjet.content_templates.publish_contentsPublish template contentwritemailjet.content_templates.unlock_contentsUnlock template contentwritemailjet.content_templates.updateUpdate a templatewritemailjet.content_templates.update_content_by_typeUpdate template contentwrite
Contacts9
mailjet.contacts.createCreate Contactwritemailjet.contacts.gdpr_deleteDelete a contact (GDPR)destructivemailjet.contacts.getContact by IDreadmailjet.contacts.get_manage_many_jobGet Contact: Manage Many Contactsreadmailjet.contacts.listList Contactsreadmailjet.contacts.list_contact_listsGet Contact: Get Contact Listsreadmailjet.contacts.manage_contact_listsContact: Manage Contact Listswritemailjet.contacts.manage_manyContact: Manage Many Contactswritemailjet.contacts.updateUpdate Contactwrite
Templates8
mailjet.templates.createCreate Templatewritemailjet.templates.create_contentTemplate: Detail Contentwritemailjet.templates.deleteDelete Templatedestructivemailjet.templates.getTemplate by IDreadmailjet.templates.get_contentGet Template: Detail Contentreadmailjet.templates.listTemplate Listreadmailjet.templates.updateUpdate Templatewritemailjet.templates.update_contentUpdate Template: Detail Contentwrite
Senders6
mailjet.senders.createCreate Senderwritemailjet.senders.deleteDelete Senderdestructivemailjet.senders.getSender by IDreadmailjet.senders.listSender Listreadmailjet.senders.updateUpdate Senderwritemailjet.senders.validateSender: Validatewrite
Contact properties5
mailjet.contact_properties.createCreate Contact Metadatawritemailjet.contact_properties.deleteDelete Contact Metadatadestructivemailjet.contact_properties.getContact Metadata by IDreadmailjet.contact_properties.listContact Metadata Listreadmailjet.contact_properties.updateUpdate Contact Metadatawrite
Labels5
mailjet.labels.createCreate a labelwritemailjet.labels.deleteDelete a labeldestructivemailjet.labels.getRetrieve a single labelreadmailjet.labels.listList labelsreadmailjet.labels.updateUpdate a labelwrite
List recipients5
mailjet.list_recipients.createCreate List Recipientwritemailjet.list_recipients.deleteDelete List Recipientdestructivemailjet.list_recipients.getList Recipient by IDreadmailjet.list_recipients.listList Recipient Listreadmailjet.list_recipients.updateUpdate List Recipientwrite
Parse routes5
mailjet.parse_routes.createCreate Parse Routewritemailjet.parse_routes.deleteDelete Parse Routedestructivemailjet.parse_routes.getParse Route by IDreadmailjet.parse_routes.listParse Route Listreadmailjet.parse_routes.updateUpdate Parse Routewrite
Segments5
mailjet.segments.createCreate Contact Filterwritemailjet.segments.deleteDelete Contact Filterdestructivemailjet.segments.getContact Filter by IDreadmailjet.segments.listContact Filter Listreadmailjet.segments.updateUpdate Contact Filterwrite
Webhooks5
mailjet.webhooks.createCreate Event Callback URLwritemailjet.webhooks.deleteDelete Event Callback URLdestructivemailjet.webhooks.getEvent Callback URL by IDreadmailjet.webhooks.listEvent Callback URL Listreadmailjet.webhooks.updateUpdate Event Callback URLwrite
API keys4
mailjet.api_keys.createCreate API Keywritemailjet.api_keys.getAPI Key by IDreadmailjet.api_keys.listAPI Key Listreadmailjet.api_keys.updateUpdate API Keywrite
Contact data4
mailjet.contact_data.deleteDelete Contact Datadestructivemailjet.contact_data.getContact Data by IDreadmailjet.contact_data.listContact Datareadmailjet.contact_data.updateUpdate Contact Datawrite
Images4
mailjet.images.deleteDelete an imagedestructivemailjet.images.getRetrieve image metadatareadmailjet.images.listList image metadatareadmailjet.images.updateUpdate image metadatawrite
Messages4
mailjet.messages.getMessage by IDreadmailjet.messages.listMessage Listreadmailjet.messages.sendSend an email message via Send API v3.1writemailjet.messages.send_v3Send an email message via Send API v3write
Metasenders4
mailjet.metasenders.createCreate Meta Senderwritemailjet.metasenders.getMeta Sender by IDreadmailjet.metasenders.listMeta Sender Listreadmailjet.metasenders.updateUpdate Metasenderwrite
Campaigns3
mailjet.campaigns.getCampaign by IDreadmailjet.campaigns.listCampaign Listreadmailjet.campaigns.updateUpdate Campaignwrite
CSV imports3
mailjet.csv_imports.createCreate CSV Importwritemailjet.csv_imports.getCSV Import by IDreadmailjet.csv_imports.updateUpdate CSV Importwrite
DNS3
mailjet.dns.checkDNS: Checkwritemailjet.dns.getDNS by IDreadmailjet.dns.listDNS Listread
Tokens3
mailjet.tokens.createCreate a tokenwritemailjet.tokens.listList tokensreadmailjet.tokens.updateUpdate a tokenwrite
Bounce statistics2
mailjet.bounce_statistics.getBounce Statistics by IDreadmailjet.bounce_statistics.listBounce Statisticsread
Campaign graph statistics2
mailjet.campaign_graph_statistics.getCampaign Graph Statistics by IDreadmailjet.campaign_graph_statistics.listCampaign Graph Statisticsread
Campaign overviews2
mailjet.campaign_overviews.getCampaign Overview by IDreadmailjet.campaign_overviews.listCampaign Overview Listread
Campaign statistics2
mailjet.campaign_statistics.getCampaign Statistics by IDreadmailjet.campaign_statistics.listCampaign Statisticsread
Contact list signups2
mailjet.contact_list_signups.getContact List Signup by IDreadmailjet.contact_list_signups.listContact List Signup Listread
Contact statistics2
mailjet.contact_statistics.getContact Statistics by IDreadmailjet.contact_statistics.listContact Statistics Listread
List recipient statistics2
mailjet.list_recipient_statistics.getList Recipient Statistics by IDreadmailjet.list_recipient_statistics.listList Recipient Statisticsread
List statistics2
mailjet.list_statistics.getList Statistics by IDreadmailjet.list_statistics.listList Statisticsread
Message information2
mailjet.message_information.getMessage Information by IDreadmailjet.message_information.listMessage Informationread
Message statistics2
mailjet.message_statistics.getMessage Statistics by IDreadmailjet.message_statistics.listMessage Statisticsread
My profile2
mailjet.my_profile.getMy Profilereadmailjet.my_profile.updateUpdate My Profilewrite
Open information2
mailjet.open_information.getOpen Information by IDreadmailjet.open_information.listOpen Informationread
Sender statistics2
mailjet.sender_statistics.getSender Statistics by IDreadmailjet.sender_statistics.listSender Statisticsread
User2
mailjet.user.getUser Listreadmailjet.user.updateUpdate Userwrite
API key totals1
mailjet.api_key_totals.getAPI Key Totalsread
Click statistics1
mailjet.click_statistics.listClick Statisticsread
Domain statistics1
mailjet.domain_statistics.listDomain Statisticsread
Graph statistics1
mailjet.graph_statistics.listGraph Statisticsread
Link click statistics1
mailjet.link_click_statistics.listLink Click Statisticsread
Message history1
mailjet.message_history.getMessage History by IDread
Open statistics1
mailjet.open_statistics.listOpen Statisticsread
Recipient esp statistics1
mailjet.recipient_esp_statistics.listRecipient ESP Statisticsread
Stat counters1
mailjet.stat_counters.listStat Counters Listread
Top link clicked1
mailjet.top_link_clicked.listTop Link Clicked Listread
User agent statistics1
mailjet.user_agent_statistics.listUser Agent Statisticsread
Questions
The Sinch Mailjet MCP server, answered.
Is there a Sinch Mailjet MCP server for Claude?
Yes. actionlake is an MCP gateway: a remote MCP server that gives Claude, or another MCP client, 176 Sinch Mailjet actions across newsletters, campaign drafts, contact lists and content templates, through the same eight tools it uses for every other connector. actionlake is independent; it is not made or endorsed by Sinch Mailjet.
What do I need to connect Sinch Mailjet?
Mailjet API key (public key) and Mailjet secret key (private key) paired with the API key. Plus your region. The free call account { op: "connections.requirements", service: "mailjet" } lists exactly what to paste.
Can an AI agent delete or change things in Sinch Mailjet?
Only if its key allows it, and only with an explicit confirmation. 16 Sinch Mailjet actions are destructive, including delete Contact List, delete a contact (GDPR) and delete Template. Each runs only with confirm: true. Under the human confirm policy, or an approval rule on the key, the run waits until a named person approves it.
Will an AI agent use up my Sinch Mailjet API limit?
actionlake paces every call to the limits in the Sinch Mailjet service file: 300 calls a minute per connection. Repeated reads are answered from cache (89 Sinch Mailjet actions can be), which never reaches Sinch Mailjet.
What does a Sinch Mailjet action cost?
One upstream call, the only unit actionlake bills. A list that pages bills one call per page (176 Sinch Mailjet actions page). Cache hits, searches, dry runs and calls Sinch Mailjet refused with 401, 403, 429 or a 5xx are free. The Free plan includes 100,000 calls a month with no card. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.
Which Sinch Mailjet API does it cover?
The Mailjet Email API v3 / Send API v3.1 / Content API v1 (OpenAPI 3.1.0 bundles) at your region's mailjet.com address, set when you connect. It is built from Sinch Mailjet's documentation as read on 23 October 2026. 176 actions in 47 areas, each one in the signed service file (version 1.0.0).
Can I combine Sinch Mailjet with my other systems?
Yes. ask joins Sinch Mailjet to HaloPSA or NetSuite on the same customer and returns the answer rather than every row. Sinch Mailjet maps crm.contact, which 192 other connectors also map.
Does actionlake keep my Sinch Mailjet data, and where?
actionlake processes and stores data in Sydney, Australia; there is no US region yet. Reads may be cached for up to 5 minutes, and a write clears the reads it affects. Each run's request and response is kept, sealed, for your plan's trace window: 1 day on Free, 3 days on Starter, 7 days on Pro, 14 days on Team, 30 days on Business and 30 days on Enterprise. Your Sinch Mailjet credential is sealed under your tenant's key, never logged and never returned. Your traffic is not used to train models.
Which AI clients can use it?
Claude Code, tested by us end to end, and the Claude app as a custom connector, tested by us with an existing key. Other MCP clients that support remote servers over Streamable HTTP (MCP revisions 2025-06-18 and 2025-11-25) and OAuth dynamic client registration, or a bearer header, should connect the same way; we have not tested them. Or plain REST, under the same action names.
Give your agent Sinch Mailjet today.
Start free - 100,000 calls/month, no card. No signup. Hard caps on every key. Cached answers are free.