Skip to main content
Glama
nylas-samples

Nylas API MCP Server

Official

Nylas API MCP Server (Experimental)

Note: This project is experimental and is intended as an exploration of using the Model Context Protocol (MCP) as a guide for Nylas API integrations. It is not official and should be used for learning and experimentation purposes only.

This project implements a Model Context Protocol (MCP) server for the Nylas API. It provides resources, tools, and prompts to help developers learn about and integrate with the Nylas API for email, calendar, and contacts functionality.

What is MCP?

The Model Context Protocol (MCP) is a standard for integrating data, tools, and prompts with AI applications. MCP servers can expose resources, tools, and prompts to AI applications like Claude Desktop, Cursor, and other MCP-compatible applications.

Related MCP server: NetlifyMCPServer

Features

This MCP server provides:

  • Documentation Resources: Comprehensive documentation about Nylas API endpoints, authentication, and best practices

  • Code Samples: Ready-to-use code samples for various Nylas API operations in multiple languages (Node.js, Python, Java, Ruby, curl)

  • Interactive Tools: Tools to generate authentication code and endpoint-specific implementation code

  • Prompts: Pre-built prompts for common Nylas integration scenarios

Screenshot 2025-03-16 at 4 43 38 PM

Getting Started

Prerequisites

  • Node.js 18+

  • npm

Installation

  1. Clone this repository

  2. Install dependencies

npm install
  1. Build the project

npm run build

Running the MCP Server

Using stdio (for direct integration with MCP clients)

npm start

Using HTTP with SSE (for remote connections)

MCP_MODE=http npm start

By default, the HTTP server runs on port 3000. You can change this by setting the PORT environment variable:

MCP_MODE=http PORT=8080 npm start

Using with MCP Clients

Claude Desktop

  1. Start the MCP server in stdio mode

  2. In Claude Desktop, go to Settings > Servers

  3. Click "Add Server"

  4. Select "Run a local command" and enter the command to start this server:

node /path/to/nylas-api-mcp/dist/index.js
  1. Give it a name (e.g., "Nylas API")

  2. After adding, you can use all the Nylas API resources, tools, and prompts in your Claude conversations

Cursor

  1. Start the MCP server in stdio mode

  2. In Cursor, add a new MCP server in the settings

  3. Configure it to use the command:

node /path/to/nylas-api-mcp/dist/index.js

Resources

This MCP server provides the following resources:

  • General Documentation: Overview of Nylas API capabilities

  • Authentication Guide: How to authenticate with Nylas API

  • API Endpoints: Documentation for email, calendar, contacts, and webhook endpoints

  • Code Samples: Usage examples in multiple programming languages

Tools

Interactive tools for code generation:

  • generate-auth-code: Generates authentication code in your preferred language

  • generate-endpoint-code: Generates code for specific API endpoints

  • search-api-docs: Search through the Nylas API documentation

Prompts

Pre-built prompts for common scenarios:

  • Getting Started: Basic intro to Nylas API

  • Authentication Guide: Understanding OAuth flow

  • Email/Calendar/Contacts Integration: Feature-specific guidance

  • Integration Scenarios: Guidance for specific use cases (email client, calendar booking, etc.)

  • SDK Examples: Example code in various languages

  • Debugging Guide: Common issues and solutions

Contributing

Contributions are welcome! You can:

  1. Add more code samples to the nylas-code-samples directory

  2. Improve documentation resources

  3. Add support for additional programming languages

  4. Create new tools and prompts

Disclaimer

This is an experimental project and is not officially supported by Nylas. The information and code provided through this MCP server should be used as a learning resource only. Always refer to the official Nylas documentation for the most accurate and up-to-date information on the Nylas API.

The sample code provided is for educational purposes and may need additional error handling, security considerations, and testing before being used in production environments.

License

MIT

Available Tools

3 tools
generate-auth-codeD
ParametersJSON Schema
NameRequiredDescriptionDefault
languageYes
clientIdNo
clientSecretNo
redirectUriNo
scopesNo

TDQS

D1/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Tool has no description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness1/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Tool has no description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool has no description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Tool has no description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

Tool has no description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Tool has no description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

generate-endpoint-codeD
ParametersJSON Schema
NameRequiredDescriptionDefault
languageYes
endpointYes
methodNo
paramsNo

TDQS

D1/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Tool has no description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness1/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Tool has no description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool has no description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Tool has no description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

Tool has no description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Tool has no description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search-api-docsD
ParametersJSON Schema
NameRequiredDescriptionDefault
queryYes
categoryNo

TDQS

D1/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Tool has no description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness1/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Tool has no description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool has no description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Tool has no description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

Tool has no description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Tool has no description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 3 tool updates
    • First observedgenerate-auth-code
    • First observedgenerate-endpoint-code
    • First observedsearch-api-docs

TDQS

D1.4/5.0
Disambiguation2/5

The tools have overlapping purposes that could cause confusion. 'generate-auth-code' and 'generate-endpoint-code' both involve code generation for different parts of the Nylas API, but without descriptions, their specific boundaries are unclear. 'search-api-docs' is more distinct but still part of the same API exploration domain.

Naming Consistency4/5

The naming follows a consistent verb-object pattern with hyphens (e.g., generate-auth-code, search-api-docs), which is predictable and readable. There are no deviations in style across the three tools, though the pattern is simple and lacks more sophisticated conventions.

Tool Count2/5

With only 3 tools, the server feels thin for an API-focused purpose like the Nylas API, which typically involves multiple operations such as CRUD for emails, calendars, or contacts. This limited set suggests significant gaps in coverage for the apparent domain.

Completeness1/5

The tool surface is severely incomplete for an API server. There are no tools for core API operations like sending emails, managing events, or accessing user data, which are essential for the Nylas API domain. The existing tools only cover authentication, endpoint code generation, and documentation search, leaving major gaps.

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    C
    quality
    D
    maintenance
    A simple demonstration project for the Model Control Protocol (MCP) server that provides tools for AI assistants to fetch news articles, perform calculations, retrieve weather data, and generate personalized greetings.
    3
    MIT
  • F
    license
    Not graded
    quality
    Not graded
    maintenance
    A basic example of developing and running serverless Model Context Protocol (MCP) using Netlify Functions, enabling AI agents to interact with your services via a standardized API.
    -
  • A
    license
    B
    quality
    D
    maintenance
    A Model Context Protocol server that creates tools from API configurations defined in YAML files, allowing easy integration of external APIs into an MCP ecosystem without coding.
    7
    21
    7
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/nylas-samples/nylas-api-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server