Nylas MCP by usefulapi
Server Details
MCP server for Nylas — read email, calendars, events and contacts, and send email or create events.
- Status
- Healthy
- Uptime
- 81.1% over 54 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-06-18
- URL
- Repository
- m190/usefulapi-mcp
- GitHub Stars
- 0
TDQS
Scored across 15 tools
Each tool targets a distinct resource and action: create vs list vs get for specific entities like draft, event, calendar, contact, grant, message, folder. There is no overlap, as even similar verbs like 'list' are paired with unique nouns. Agents can easily select the correct tool.
All tool names follow a uniform 'nylas_verb_noun' pattern using snake_case, with clear and predictable verbs (create, get, list, send) and nouns (draft, event, calendar, etc.). The naming is fully consistent across all 15 tools.
With 15 tools, the set is well-scoped for a Nylas integration covering email, calendar, and contacts. Each tool serves a clear purpose without redundancy, and the count falls comfortably within the ideal range of 3-15 tools.
The tool set covers reading and limited creation (drafts, events) but lacks update and delete operations for all entities, as well as create for contacts. This leaves notable gaps for full lifecycle management, though core workflows like listing and fetching are present.
Available Tools
15 toolsnylas_create_draftCreate a draft emailDestructiveInspect
Creates a draft email (does NOT send — safe/additive). Nylas v3: POST /v3/grants/{grant_id}/drafts.
| Name | Required | Description | Default |
|---|---|---|---|
| cc | No | CC email addresses (array of strings). | |
| to | Yes | Recipient email addresses (array of strings). | |
| bcc | No | BCC email addresses (array of strings). | |
| body | No | Email body (HTML or plain text). | |
| subject | No | Email subject line. | |
| grant_id | No | Connected-account grant id. Overrides NYLAS_GRANT_ID for this call. |
nylas_create_eventCreate a calendar eventDestructiveInspect
Creates a calendar event (may send invites to participants). Requires calendar_id (sent as a query param). Nylas v3: POST /v3/grants/{grant_id}/events.
| Name | Required | Description | Default |
|---|---|---|---|
| title | Yes | Event title. | |
| end_time | Yes | Event end, Unix timestamp (seconds). | |
| grant_id | No | Connected-account grant id. Overrides NYLAS_GRANT_ID for this call. | |
| location | No | Event location. | |
| start_time | Yes | Event start, Unix timestamp (seconds). | |
| calendar_id | Yes | REQUIRED. The calendar id to create the event in (sent as a query param). | |
| description | No | Event description. | |
| participants | No | Participant email addresses (array of strings). |
nylas_get_calendarGet a calendarRead-onlyInspect
Get a single calendar by id. Nylas v3: GET /v3/grants/{grant_id}/calendars/{calendar_id}.
| Name | Required | Description | Default |
|---|---|---|---|
| grant_id | No | Connected-account grant id. Overrides NYLAS_GRANT_ID for this call. | |
| calendar_id | Yes | The calendar id to fetch. |
nylas_get_contactGet a contactRead-onlyInspect
Get a single contact by id. Nylas v3: GET /v3/grants/{grant_id}/contacts/{contact_id}.
| Name | Required | Description | Default |
|---|---|---|---|
| grant_id | No | Connected-account grant id. Overrides NYLAS_GRANT_ID for this call. | |
| contact_id | Yes | The contact id to fetch. |
nylas_get_eventGet an eventRead-onlyInspect
Get a single calendar event by id. Requires calendar_id (sent as a query param). Nylas v3: GET /v3/grants/{grant_id}/events/{event_id}.
| Name | Required | Description | Default |
|---|---|---|---|
| event_id | Yes | The event id to fetch. | |
| grant_id | No | Connected-account grant id. Overrides NYLAS_GRANT_ID for this call. | |
| calendar_id | Yes | REQUIRED. The calendar id (sent as a query param). |
nylas_get_grantGet a grantRead-onlyInspect
Get details for a single connected account (grant). Nylas v3: GET /v3/grants/{grant_id}.
| Name | Required | Description | Default |
|---|---|---|---|
| grant_id | No | Connected-account grant id. Overrides NYLAS_GRANT_ID for this call. |
nylas_get_messageGet a messageRead-onlyInspect
Get a single email message by id. Nylas v3: GET /v3/grants/{grant_id}/messages/{message_id}.
| Name | Required | Description | Default |
|---|---|---|---|
| grant_id | No | Connected-account grant id. Overrides NYLAS_GRANT_ID for this call. | |
| message_id | Yes | The message id to fetch. |
nylas_list_calendarsList calendarsRead-onlyInspect
List calendars for the connected account (each has a calendar_id used by the events tools). Nylas v3: GET /v3/grants/{grant_id}/calendars.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max calendars to return. | |
| grant_id | No | Connected-account grant id. Overrides NYLAS_GRANT_ID for this call. | |
| page_token | No | Pagination cursor (next_cursor from a prior page). |
nylas_list_contactsList contactsRead-onlyInspect
List contacts for the connected account, with optional email/phone filters. Nylas v3: GET /v3/grants/{grant_id}/contacts.
| Name | Required | Description | Default |
|---|---|---|---|
| No | Filter by email address. | ||
| limit | No | Max contacts to return. | |
| grant_id | No | Connected-account grant id. Overrides NYLAS_GRANT_ID for this call. | |
| page_token | No | Pagination cursor (next_cursor from a prior page). | |
| phone_number | No | Filter by phone number. |
nylas_list_draftsList draftsRead-onlyInspect
List draft emails for the connected account. Nylas v3: GET /v3/grants/{grant_id}/drafts.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max drafts to return. | |
| grant_id | No | Connected-account grant id. Overrides NYLAS_GRANT_ID for this call. | |
| page_token | No | Pagination cursor (next_cursor from a prior page). |
nylas_list_eventsList eventsRead-onlyInspect
List calendar events. Requires calendar_id (sent as a query param). Nylas v3: GET /v3/grants/{grant_id}/events.
| Name | Required | Description | Default |
|---|---|---|---|
| end | No | Filter: latest event start, Unix timestamp (seconds). | |
| limit | No | Max events to return. | |
| start | No | Filter: earliest event start, Unix timestamp (seconds). | |
| grant_id | No | Connected-account grant id. Overrides NYLAS_GRANT_ID for this call. | |
| page_token | No | Pagination cursor (next_cursor from a prior page). | |
| calendar_id | Yes | REQUIRED. The calendar id (sent as a query param). | |
| show_cancelled | No | Include cancelled events. |
nylas_list_foldersList foldersRead-onlyInspect
List mail folders/labels for the connected account. Nylas v3: GET /v3/grants/{grant_id}/folders.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max folders to return. | |
| grant_id | No | Connected-account grant id. Overrides NYLAS_GRANT_ID for this call. |
nylas_list_grantsList grants (connected accounts)Read-onlyInspect
List the connected accounts (grants) on this Nylas application, each with a grant_id used to scope other tools. Not grant-scoped. Nylas v3: GET /v3/grants.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max grants to return. | |
| offset | No | Pagination offset. |
nylas_list_messagesList messagesRead-onlyInspect
List email messages for the connected account, with optional filters. Nylas v3: GET /v3/grants/{grant_id}/messages.
| Name | Required | Description | Default |
|---|---|---|---|
| in | No | Filter by folder id. | |
| to | No | Filter by recipient email address. | |
| from | No | Filter by sender email address. | |
| limit | No | Max messages to return. | |
| unread | No | If set, filter by unread status. | |
| starred | No | If set, filter by starred status. | |
| subject | No | Filter by subject. | |
| grant_id | No | Connected-account grant id. Overrides NYLAS_GRANT_ID for this call. | |
| page_token | No | Pagination cursor (next_cursor from a prior page). | |
| search_query_native | No | Provider-native search query string. |
nylas_send_messageSend an emailDestructiveInspect
SENDS a real email via the connected account. This dispatches an actual message. Nylas v3: POST /v3/grants/{grant_id}/messages/send.
| Name | Required | Description | Default |
|---|---|---|---|
| cc | No | CC email addresses (array of strings). | |
| to | Yes | Recipient email addresses (array of strings). | |
| bcc | No | BCC email addresses (array of strings). | |
| body | No | Email body (HTML or plain text). | |
| subject | No | Email subject line. | |
| grant_id | No | Connected-account grant id. Overrides NYLAS_GRANT_ID for this call. | |
| reply_to_message_id | No | Id of the message this is a reply to. |
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
15 tool updates
- Changed
nylas_create_draft1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
nylas_create_event1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
nylas_get_calendar1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
nylas_get_contact1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
nylas_get_event1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
nylas_get_grant1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
nylas_get_message1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
nylas_list_calendars1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
nylas_list_contacts1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
nylas_list_drafts1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
nylas_list_events1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
nylas_list_folders1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
nylas_list_grants1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
nylas_list_messages1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
nylas_send_message1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
15 tool updates
- First observed
nylas_create_draft - First observed
nylas_create_event - First observed
nylas_get_calendar - First observed
nylas_get_contact - First observed
nylas_get_event - First observed
nylas_get_grant - First observed
nylas_get_message - First observed
nylas_list_calendars - First observed
nylas_list_contacts - First observed
nylas_list_drafts - First observed
nylas_list_events - First observed
nylas_list_folders - First observed
nylas_list_grants - First observed
nylas_list_messages - First observed
nylas_send_message
Related MCP Connectors
MCP server for Cronofy — read calendars, events and free/busy, and create, update or delete events.
Hosted email MCP for your own Gmail, Outlook.com, Microsoft 365, iCloud or IMAP inbox: read, search, draft, reply in thread, forward and file mail. It moves or flags up to 500 messages in one call, and a send leaves exactly one copy in Sent. A calendar is a separate connection, and connecting one adds diary and scheduling tools.
Streamable HTTP MCP server for Google Calendar and Sheets with OAuth login.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceMCP server for Gmail, Google Drive, and Google Calendar — search, read, send, and manage threads, files, and events.57 npmMIT
- AlicenseNot gradedqualityDmaintenanceMCP Server for use with msgraph calls to mail, calendar, and files16MIT
- AlicenseNot gradedqualityDmaintenanceMCP server to interact with Google Gmail and Calendar APIs. Supports multiple accounts, email search and drafting, and calendar event management.MIT
- FlicenseNot gradedqualityBmaintenanceMCP server for MailCal that reads emails via IMAP, extracts calendar events (interviews, assessments, meetings, deadlines), and provides tools to list, sync, add, update, and delete these events.6-
Glama MCP Gateway
Add one secure layer between your agents and this server.