Connectors · Email & messaging
Nylas MCP server for AI agents.
actionlake is an MCP gateway: one remote MCP server that connects Claude and other MCP clients to Nylas and the rest of your systems. It gives your agent 209 Nylas actions (90 reads, 79 writes and 40 that wait for a confirmation) and holds the Nylas credential itself, so the agent never does. It paces Nylas'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: "nylas.grants.list", intent: "check which Nylas account is connected"}# Return all grants · read · 1 upstream call- 209actionsin one signed file
- 90readlook, never change
- 79writecreate and update
- 40wait for a yesdestructive, confirmed first
Set up
Connect Nylas 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 Nylas.
Bearer token. 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_keyNylas API keyhostWhere your Nylas lives: your host
account { op: "connections.requirements", service: "nylas" } # 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: "nylas.grants.list" }# return all grants · read · 1 upstream callcheck { action: "nylas.events.create", input: { … } }# free: inputs, permissions, cost and confirmations, nothing sent
Nylas at a glance
- Sign-in
- Bearer token. 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_key- Setup fields
host- Limits we pace to
- 50 calls a second, per connection
- API covered
- Nylas API v3 (OpenAPI 3.1.0, nylas-api.yaml), at your Nylas instance's API base URL, which you enter when connecting
- Built from
- Nylas's documentation, read 23 October 2026developer.nylas.comdeveloper.nylas.com
- Service file
- Version 1.0.0, signed (Ed25519)
- Cached reads
- 67 of 90 reads, for up to 5 minutes; a write clears what it affects
- Shared entities
- 6, so ask can line Nylas up with your other systems
- Data
- Processed and stored in Sydney, Australia. No US region yet
Capabilities
What an AI agent can do in Nylas.
209 actions in 46 areas. Every one carries its effect, so a key can allow the reads and hold the rest.
- 90readlook, never change
- 79writecreate and update
- 40destructivewait for a confirmation
Notetakers
94 read · 2 write · 3 destructive
Invite Notetaker to meeting · Return all Notetakers · Return a Notetaker · Return Notetaker history
Standalone notetakers
94 read · 2 write · 3 destructive
Invite standalone Notetaker to meeting · Return all standalone Notetakers · Return a standalone Notetaker · Return standalone Notetaker history
Messages
84 read · 3 write · 1 destructive
Return all Messages · Send a Message · Return a Message · Update message attributes
Webhooks
83 read · 3 write · 2 destructive
Create a webhook destination · Get destinations for an application · Update a webhook destination · Get the destinations for an application by webhook ID
Calendars
74 read · 2 write · 1 destructive
Return all calendars · Create a calendar · Return a calendar · Update a calendar
Events
73 read · 3 write · 1 destructive
Return all events · Create an event · Return an event · Update an event
Grant templates
74 read · 2 write · 1 destructive
Create a template · Return all templates · Render a template · Render template as HTML
Templates
74 read · 2 write · 1 destructive
Return all templates · Create a template · Return a template · Update a template
38 more areas · 147 actions
- Workspaces 7
- Drafts 6
- Grants 6
- Migration 6
- Scheduling group events 6
- Connector credentials 5
- Connectors 5
- Contacts 5
- Folders 5
- Grant workflows 5
- IAM credentials 5
- IAM principals 5
- Lists 5
- Notetaker configs 5
- Policies 5
- Pubsub channels 5
- Redirect uris 5
- Rules 5
- Scheduling bookings 5
- Scheduling configurations 5
- Signatures 5
- SNS channels 5
- Workflows 5
- Threads 4
- List items 3
- Scheduled messages 3
- Applications 2
- Attachment uploads 2
- Oauth tokens 2
- Scheduling sessions 2
- Attachments 1
- Contact groups 1
- Providers 1
- Room resources 1
- Rule evaluations 1
- Scheduling availability 1
- Scheduling V2 redirects 1
- Transactional messages 1
Top actions
The Nylas API, shaped for agents.
The ids your agent types, what each does, and the one name it shares with other systems. 61 of Nylas's 61 action names are shared with at least one other connector, so an agent learns them once.
| Action | What it does | Effect | Same name in |
|---|---|---|---|
nylas.events.listReturn all events | Return all events. | read | comm.event.list61 connectors |
nylas.messages.listReturn all Messages | Return all Messages. | read | comm.email.list28 connectors |
nylas.grants.listReturn all grants | Return all grants. | read | comm.mailbox.list18 connectors |
nylas.calendars.listReturn all calendars | Return all calendars. | read | comm.calendar.list14 connectors |
nylas.contacts.listReturn all contacts | Return all contacts. | read | crm.contact.list177 connectors |
nylas.events.createCreate an event | Create an event. | write | comm.event.create52 connectors |
nylas.threads.listReturn all threads | Return all threads. | read | comm.email_thread.list7 connectors |
nylas.messages.sendSend a Message | Send a Message. | write | comm.email.send32 connectors |
nylas.events.deleteDelete an event | Delete an event. | destructive | comm.event.delete45 connectors |
nylas.calendars.createCreate a calendar | Create a calendar. | write | comm.calendar.create11 connectors |
nylas.contacts.createCreate contact | Create contact. | write | crm.contact.create161 connectors |
nylas.grants.getGet a grant | Get a grant. | read | comm.mailbox.get13 connectors |
Try it
Prompts to paste into Claude.
Each one names the Nylas actions it will call, so you know what it reads and what it changes before you send it.
- Readread
Find the Nylas contacts with no email address, so we can clean them up.
calls
nylas.contacts.list - Writewrite
Create an event in Nylas. Show me exactly what you will send before you save it.
calls
nylas.events.create
Governance for Nylas
Destructive actions wait for a yes.
40 Nylas actions are destructive. The first 10:
- Delete an event
nylas.events.delete - Delete a message
nylas.messages.delete - Delete a grant
nylas.grants.delete - Delete a calendar
nylas.calendars.delete - Delete a contact
nylas.contacts.delete - Delete a thread
nylas.threads.delete - Delete a webhook destination
nylas.webhooks.delete - Delete a template
nylas.templates.delete - Delete a Folder
nylas.folders.delete - Delete a Draft
nylas.drafts.delete
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 an event?
intent: the user asked me to delete an event
account { op: "keys.create", name: "nylas-agent", allowed_actions: ["nylas.*"], cap_calls: 2000, confirm_policy: "human_for_writes", approval_rules: [ { match: "nylas.events.delete", approver: "[email protected]" }, { match: "nylas.messages.delete", approver: "[email protected]" }, { match: "nylas.grants.delete", approver: "[email protected]" } ]}Cost
What Nylas costs on actionlake.
Every Nylas action is one upstream call, the only thing actionlake bills. Searching, check, cost, account and any call Nylas 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 209 Nylas actions
- 209actions pageeach page of a long list is one call
- 67reads can be cacheda cache hit costs nothing
- 100,000calls a month, freepaid plans from US$49 a month for 250,000
Action index
Every Nylas action.
209 actions by area: the id your agent calls, what it does, and its effect.
Notetakers9
nylas.notetakers.cancelCancel Notetaker before it joinsdestructivenylas.notetakers.deleteDelete a Notetakerdestructivenylas.notetakers.getReturn a Notetakerreadnylas.notetakers.get_historyReturn Notetaker historyreadnylas.notetakers.get_mediaReturn Notetaker media linksreadnylas.notetakers.inviteInvite Notetaker to meetingwritenylas.notetakers.leaveRemove Notetaker from meetingdestructivenylas.notetakers.listReturn all Notetakersreadnylas.notetakers.updateUpdate scheduled Notetakerwrite
Standalone notetakers9
nylas.standalone_notetakers.cancelCancel standalone Notetaker before it joinsdestructivenylas.standalone_notetakers.deleteDelete a standalone Notetakerdestructivenylas.standalone_notetakers.getReturn a standalone Notetakerreadnylas.standalone_notetakers.get_historyReturn standalone Notetaker historyreadnylas.standalone_notetakers.get_mediaReturn standalone Notetaker media linksreadnylas.standalone_notetakers.inviteInvite standalone Notetaker to meetingwritenylas.standalone_notetakers.leaveRemove standalone Notetaker from meetingdestructivenylas.standalone_notetakers.listReturn all standalone Notetakersreadnylas.standalone_notetakers.updateUpdate standalone Notetakerwrite
Messages8
nylas.messages.cleanClean messageswritenylas.messages.deleteDelete a messagedestructivenylas.messages.getReturn a Messagereadnylas.messages.listReturn all Messagesreadnylas.messages.sendSend a Messagewritenylas.messages.smart_composeCompose a messagereadnylas.messages.smart_compose_replyCompose a replyreadnylas.messages.updateUpdate message attributeswrite
Webhooks8
nylas.webhooks.createCreate a webhook destinationwritenylas.webhooks.deleteDelete a webhook destinationdestructivenylas.webhooks.getGet the destinations for an application by webhook IDreadnylas.webhooks.get_mock_payloadGet mock notification payloadreadnylas.webhooks.listGet destinations for an applicationreadnylas.webhooks.rotate_secretRotate a webhook secretdestructivenylas.webhooks.send_test_eventSend test eventwritenylas.webhooks.updateUpdate a webhook destinationwrite
Calendars7
nylas.calendars.createCreate a calendarwritenylas.calendars.deleteDelete a calendardestructivenylas.calendars.getReturn a calendarreadnylas.calendars.get_availabilityGet availabilityreadnylas.calendars.get_free_busyGet free/busy schedulereadnylas.calendars.listReturn all calendarsreadnylas.calendars.updateUpdate a calendarwrite
Events7
nylas.events.createCreate an eventwritenylas.events.deleteDelete an eventdestructivenylas.events.getReturn an eventreadnylas.events.importImport eventsreadnylas.events.listReturn all eventsreadnylas.events.send_rsvpSend RSVPwritenylas.events.updateUpdate an eventwrite
Grant templates7
nylas.grant_templates.createCreate a templatewritenylas.grant_templates.deleteDelete a templatedestructivenylas.grant_templates.getReturn a templatereadnylas.grant_templates.listReturn all templatesreadnylas.grant_templates.renderRender a templatereadnylas.grant_templates.render_htmlRender template as HTMLreadnylas.grant_templates.updateUpdate a templatewrite
Templates7
nylas.templates.createCreate a templatewritenylas.templates.deleteDelete a templatedestructivenylas.templates.getReturn a templatereadnylas.templates.listReturn all templatesreadnylas.templates.renderRender a templatereadnylas.templates.render_htmlRender template as HTMLreadnylas.templates.updateUpdate a templatewrite
Workspaces7
nylas.workspaces.auto_groupAuto-group grantswritenylas.workspaces.createCreate a workspacewritenylas.workspaces.deleteDelete a workspacedestructivenylas.workspaces.getReturn a workspacereadnylas.workspaces.listReturn all workspacesreadnylas.workspaces.manual_assignUpdate workspace assignmentswritenylas.workspaces.updateUpdate a workspacewrite
Drafts6
nylas.drafts.createCreate a Draftwritenylas.drafts.deleteDelete a Draftdestructivenylas.drafts.getReturn a Draftreadnylas.drafts.listReturn all Draftsreadnylas.drafts.sendSend a Draftwritenylas.drafts.updateUpdate a draftwrite
Grants6
nylas.grants.create_customBring Your Own Authenticationwritenylas.grants.deleteDelete a grantdestructivenylas.grants.getGet a grantreadnylas.grants.get_currentGet current grantreadnylas.grants.listReturn all grantsreadnylas.grants.updateUpdate a grantwrite
Migration6
nylas.migration.clone_grantMigrate v2 account to v3 grantwritenylas.migration.import_v2_appImport v2 app settings to linked v3 appwritenylas.migration.link_v2v3_appsLink a v2 app to a v3 appwritenylas.migration.list_jobsGet migration jobsreadnylas.migration.snapshot_batch_cloneBatch clone v2 accounts to v3 grantswritenylas.migration.translate_idsTranslate v2 Nylas ID into v3 Provider IDread
Scheduling group events6
nylas.scheduling_group_events.createCreate group eventwritenylas.scheduling_group_events.deleteDelete a group eventdestructivenylas.scheduling_group_events.importImport group eventswritenylas.scheduling_group_events.listGet all group eventsreadnylas.scheduling_group_events.updateUpdate a group eventwritenylas.scheduling_group_events.validate_timeslotValidate time slotread
Connector credentials5
nylas.connector_credentials.createCreate a credentialwritenylas.connector_credentials.deleteDelete credentialdestructivenylas.connector_credentials.getGet credentialreadnylas.connector_credentials.listList credentialsreadnylas.connector_credentials.updateUpdate a connector credentialwrite
Connectors5
nylas.connectors.createCreate a connectorwritenylas.connectors.deleteDelete a connectordestructivenylas.connectors.getGet connectorreadnylas.connectors.listList connectorsreadnylas.connectors.updateUpdate a connectorwrite
Contacts5
nylas.contacts.createCreate contactwritenylas.contacts.deleteDelete a contactdestructivenylas.contacts.getReturn a contactreadnylas.contacts.listReturn all contactsreadnylas.contacts.updateUpdate a contactwrite
Folders5
nylas.folders.createCreate a Folderwritenylas.folders.deleteDelete a Folderdestructivenylas.folders.getReturn a Folderreadnylas.folders.listReturn all foldersreadnylas.folders.updateUpdate a folderwrite
Grant workflows5
nylas.grant_workflows.createCreate a workflowwritenylas.grant_workflows.deleteDelete a workflowdestructivenylas.grant_workflows.getGet a workflowreadnylas.grant_workflows.listReturn all workflowsreadnylas.grant_workflows.updateUpdate a workflowwrite
IAM credentials5
nylas.iam_credentials.createCreate IAM credentialwritenylas.iam_credentials.deleteDelete IAM credentialdestructivenylas.iam_credentials.getGet IAM credentialreadnylas.iam_credentials.listList IAM credentialsreadnylas.iam_credentials.updateUpdate IAM credentialwrite
IAM principals5
nylas.iam_principals.createCreate IAM principalwritenylas.iam_principals.deleteDelete IAM principaldestructivenylas.iam_principals.getGet IAM principalreadnylas.iam_principals.listList IAM principalsreadnylas.iam_principals.updateUpdate IAM principalwrite
Lists5
nylas.lists.createCreate a listwritenylas.lists.deleteDelete a listdestructivenylas.lists.getGet a listreadnylas.lists.listList listsreadnylas.lists.updateUpdate a listwrite
Notetaker configs5
nylas.notetaker_configs.createCreate a Notetaker Configurationwritenylas.notetaker_configs.deleteDelete a Notetaker Configurationdestructivenylas.notetaker_configs.getReturn a Notetaker Configurationreadnylas.notetaker_configs.listReturn all Notetaker Configurationsreadnylas.notetaker_configs.updateUpdate a Notetaker Configurationwrite
Policies5
nylas.policies.createCreate a policywritenylas.policies.deleteDelete a policydestructivenylas.policies.getGet a policyreadnylas.policies.listList policiesreadnylas.policies.updateUpdate a policywrite
Pubsub channels5
nylas.pubsub_channels.createCreate a Pub/Sub channelwritenylas.pubsub_channels.deleteDelete a specific Pub/Sub channeldestructivenylas.pubsub_channels.getGet a specific Pub/Sub channelreadnylas.pubsub_channels.listGet Pub/Sub channels for an applicationreadnylas.pubsub_channels.updateUpdate a Pub/Sub channelwrite
Redirect uris5
nylas.redirect_uris.createAdd callback URI to applicationwritenylas.redirect_uris.deleteDelete a callback URIdestructivenylas.redirect_uris.getReturn a callback URIreadnylas.redirect_uris.listGet an application's callback URIsreadnylas.redirect_uris.updateUpdate a callback URIwrite
Rules5
nylas.rules.createCreate a rulewritenylas.rules.deleteDelete a ruledestructivenylas.rules.getGet a rulereadnylas.rules.listList rulesreadnylas.rules.updateUpdate a rulewrite
Scheduling bookings5
nylas.scheduling_bookings.cancelDelete a bookingdestructivenylas.scheduling_bookings.confirmConfirm a bookingwritenylas.scheduling_bookings.createBook an eventwritenylas.scheduling_bookings.getReturn a bookingreadnylas.scheduling_bookings.rescheduleReschedule a bookingwrite
Scheduling configurations5
nylas.scheduling_configurations.createCreate Configurationwritenylas.scheduling_configurations.deleteDelete a Configurationdestructivenylas.scheduling_configurations.getReturn a Configurationreadnylas.scheduling_configurations.listReturn all Configuration objectsreadnylas.scheduling_configurations.updateUpdate Configurationwrite
Signatures5
nylas.signatures.createCreate a signaturewritenylas.signatures.deleteDelete a signaturedestructivenylas.signatures.getReturn a signaturereadnylas.signatures.listReturn all signaturesreadnylas.signatures.updateUpdate a signaturewrite
SNS channels5
nylas.sns_channels.createCreate an Amazon SNS channelwritenylas.sns_channels.deleteDelete a specific Amazon SNS channeldestructivenylas.sns_channels.getGet a specific Amazon SNS channelreadnylas.sns_channels.listGet Amazon SNS channels for an applicationreadnylas.sns_channels.updateUpdate an Amazon SNS channelwrite
Workflows5
nylas.workflows.createCreate a workflowwritenylas.workflows.deleteDelete a workflowdestructivenylas.workflows.getReturn a workflowreadnylas.workflows.listReturn all workflowsreadnylas.workflows.updateUpdate a workflowwrite
Threads4
nylas.threads.deleteDelete a threaddestructivenylas.threads.getReturn a threadreadnylas.threads.listReturn all threadsreadnylas.threads.updateUpdate a threadwrite
List items3
nylas.list_items.addAdd items to a listwritenylas.list_items.listList items in a listreadnylas.list_items.removeRemove items from a listdestructive
Scheduled messages3
nylas.scheduled_messages.cancelCancel a scheduled messagedestructivenylas.scheduled_messages.getReturn a scheduled messagereadnylas.scheduled_messages.listReturn scheduled messagesread
Applications2
nylas.applications.getGet applicationreadnylas.applications.updateUpdate an applicationwrite
Attachment uploads2
nylas.attachment_uploads.completeComplete an attachment upload sessionwritenylas.attachment_uploads.createCreate an attachment upload sessionwrite
Oauth tokens2
nylas.oauth_tokens.get_infoOAuth Token Inforeadnylas.oauth_tokens.revokeHosted OAuth - Revoke OAuth tokendestructive
Scheduling sessions2
nylas.scheduling_sessions.createCreate a sessionwritenylas.scheduling_sessions.deleteDelete a sessiondestructive
Attachments1
nylas.attachments.getReturn Attachment metadataread
Contact groups1
nylas.contact_groups.listReturn all Contact Groupsread
Providers1
nylas.providers.detectDetect providerread
Room resources1
nylas.room_resources.listReturn room resource informationread
Rule evaluations1
nylas.rule_evaluations.listList rule evaluationsread
Scheduling availability1
nylas.scheduling_availability.getGet availabilityread
Scheduling V2 redirects1
nylas.scheduling_v2_redirects.getRedirect v2 Scheduling Pageread
Transactional messages1
nylas.transactional_messages.sendSend a transactional emailwrite
Questions
The Nylas MCP server, answered.
Is there a Nylas MCP server for Claude?
Yes. actionlake is an MCP gateway: a remote MCP server that gives Claude, or another MCP client, 209 Nylas actions across notetakers, standalone notetakers, messages and webhooks, through the same eight tools it uses for every other connector. actionlake is independent; it is not made or endorsed by Nylas.
What do I need to connect Nylas?
Nylas API key. Plus your host. The free call account { op: "connections.requirements", service: "nylas" } lists exactly what to paste.
Can an AI agent delete or change things in Nylas?
Only if its key allows it, and only with an explicit confirmation. 40 Nylas actions are destructive, including delete an event, delete a message and delete a grant. 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 Nylas API limit?
actionlake paces every call to the limits in the Nylas service file: 50 calls a second per connection. Repeated reads are answered from cache (67 Nylas actions can be), which never reaches Nylas.
What does a Nylas action cost?
One upstream call, the only unit actionlake bills. A list that pages bills one call per page (209 Nylas actions page). Cache hits, searches, dry runs and calls Nylas 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 Nylas API does it cover?
The Nylas API v3 (OpenAPI 3.1.0, nylas-api.yaml) at your Nylas instance's API base URL, which you enter when connecting. It is built from Nylas's documentation as read on 23 October 2026. 209 actions in 46 areas, each one in the signed service file (version 1.0.0).
Does actionlake keep my Nylas 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 Nylas 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 Nylas today.
Start free - 100,000 calls/month, no card. No signup. Hard caps on every key. Cached answers are free.