Skip to content

Nylas MCP by usefulapi

by usefulapi.io · remote · no sign-in to list tools · v1.16.3 · published by io.usefulapi

MCP server for Nylas — read email, calendars, events and contacts, and send email or create events.

Deletes · 3

15 tools: 3 can delete or cancel things and 12 only read.

Scanned Oct 21, 2026

No check matched anything in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http nylas https://nylas.usefulapi.io/mcp

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

15 tools

Deletes or cancels 3Claude Code: deny
  • nylas_create_draftCreates a draft email (does NOT send — safe/additive).No findings

    Why it is in this group

    • The name "nylas_create_draft" says "create": a word for a change.
    • The input addresses people (input.to): what it sends cannot be taken back.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Creates a draft email (does NOT send — safe/additive). Nylas v3: POST /v3/grants/{grant_id}/drafts.

    Annotations the server declares

    • title: Create a draft email
    • destructiveHint: true
  • nylas_create_eventCreates a calendar event (may send invites to participants).No findings

    Why it is in this group

    • The name "nylas_create_event" says "create": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Create a calendar event
    • destructiveHint: true
  • nylas_send_messageSENDS a real email via the connected account.No findings

    Why it is in this group

    • The name "nylas_send_message" says "send": a word for sending, and what is sent cannot be taken back.
    • The input addresses people (input.to): what it sends cannot be taken back.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    SENDS a real email via the connected account. This dispatches an actual message. Nylas v3: POST /v3/grants/{grant_id}/messages/send.

    Annotations the server declares

    • title: Send an email
    • destructiveHint: true
Only reads 12Claude Code: allow
  • nylas_get_calendarGet a single calendar by id.No findings

    Why it is in this group

    • The name "nylas_get_calendar" says "get": a word for reading.
    Description, as the server wrote it
    Get a single calendar by id. Nylas v3: GET /v3/grants/{grant_id}/calendars/{calendar_id}.

    Annotations the server declares

    • title: Get a calendar
    • readOnlyHint: true
  • nylas_get_contactGet a single contact by id.No findings

    Why it is in this group

    • The name "nylas_get_contact" says "get": a word for reading.
    Description, as the server wrote it
    Get a single contact by id. Nylas v3: GET /v3/grants/{grant_id}/contacts/{contact_id}.

    Annotations the server declares

    • title: Get a contact
    • readOnlyHint: true
  • nylas_get_eventGet a single calendar event by id.No findings

    Why it is in this group

    • The name "nylas_get_event" says "get": a word for reading.
    Description, as the server wrote it
    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}.

    Annotations the server declares

    • title: Get an event
    • readOnlyHint: true
  • nylas_get_grantGet details for a single connected account (grant).No findings

    Why it is in this group

    • The name "nylas_get_grant" says "get": a word for reading.
    Description, as the server wrote it
    Get details for a single connected account (grant). Nylas v3: GET /v3/grants/{grant_id}.

    Annotations the server declares

    • title: Get a grant
    • readOnlyHint: true
  • nylas_get_messageGet a single email message by id.No findings

    Why it is in this group

    • The name "nylas_get_message" says "get": a word for reading.
    Description, as the server wrote it
    Get a single email message by id. Nylas v3: GET /v3/grants/{grant_id}/messages/{message_id}.

    Annotations the server declares

    • title: Get a message
    • readOnlyHint: true
  • nylas_list_calendarsList calendars for the connected account (each has a calendar_id used by the events tools).No findings

    Why it is in this group

    • The name "nylas_list_calendars" says "list": a word for reading.
    Description, as the server wrote it
    List calendars for the connected account (each has a calendar_id used by the events tools). Nylas v3: GET /v3/grants/{grant_id}/calendars.

    Annotations the server declares

    • title: List calendars
    • readOnlyHint: true
  • nylas_list_contactsList contacts for the connected account, with optional email/phone filters.No findings

    Why it is in this group

    • The name "nylas_list_contacts" says "list": a word for reading.
    Description, as the server wrote it
    List contacts for the connected account, with optional email/phone filters. Nylas v3: GET /v3/grants/{grant_id}/contacts.

    Annotations the server declares

    • title: List contacts
    • readOnlyHint: true
  • nylas_list_draftsList draft emails for the connected account.No findings

    Why it is in this group

    • The name "nylas_list_drafts" says "list": a word for reading.
    Description, as the server wrote it
    List draft emails for the connected account. Nylas v3: GET /v3/grants/{grant_id}/drafts.

    Annotations the server declares

    • title: List drafts
    • readOnlyHint: true
  • nylas_list_eventsList calendar events.No findings

    Why it is in this group

    • The name "nylas_list_events" says "list": a word for reading.
    Description, as the server wrote it
    List calendar events. Requires calendar_id (sent as a query param). Nylas v3: GET /v3/grants/{grant_id}/events.

    Annotations the server declares

    • title: List events
    • readOnlyHint: true
  • nylas_list_foldersList mail folders/labels for the connected account.No findings

    Why it is in this group

    • The name "nylas_list_folders" says "list": a word for reading.
    Description, as the server wrote it
    List mail folders/labels for the connected account. Nylas v3: GET /v3/grants/{grant_id}/folders.

    Annotations the server declares

    • title: List folders
    • readOnlyHint: true
  • nylas_list_grantsList the connected accounts (grants) on this Nylas application, each with a grant_id used to scope other tools.No findings

    Why it is in this group

    • The name "nylas_list_grants" says "list": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: List grants (connected accounts)
    • readOnlyHint: true
  • nylas_list_messagesList email messages for the connected account, with optional filters.No findings

    Why it is in this group

    • The name "nylas_list_messages" says "list": a word for reading.
    Description, as the server wrote it
    List email messages for the connected account, with optional filters. Nylas v3: GET /v3/grants/{grant_id}/messages.

    Annotations the server declares

    • title: List messages
    • readOnlyHint: true

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 1.16.3. Values in angle brackets are yours to fill in.

claude mcp add --transport http nylas https://nylas.usefulapi.io/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__nylas__nylas_list_grants",
      "mcp__nylas__nylas_get_grant",
      "mcp__nylas__nylas_list_messages",
      "mcp__nylas__nylas_get_message",
      "mcp__nylas__nylas_list_folders",
      "mcp__nylas__nylas_list_calendars",
      "mcp__nylas__nylas_get_calendar",
      "mcp__nylas__nylas_list_events",
      "mcp__nylas__nylas_get_event",
      "mcp__nylas__nylas_list_contacts",
      "mcp__nylas__nylas_get_contact",
      "mcp__nylas__nylas_list_drafts"
    ],
    "ask": [],
    "deny": [
      "mcp__nylas__nylas_send_message",
      "mcp__nylas__nylas_create_event",
      "mcp__nylas__nylas_create_draft"
    ]
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as nylas. Review it before you use it.