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)](https://modelcontextprotocol.io) 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](https://claude.ai/download), [Cursor](https://cursor.sh), and other MCP-compatible applications.
## 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

## Getting Started
### Prerequisites
- Node.js 18+
- npm
### Installation
1. Clone this repository
2. Install dependencies
```bash
npm install
```
3. Build the project
```bash
npm run build
```
### Running the MCP Server
#### Using stdio (for direct integration with MCP clients)
```bash
npm start
```
#### Using HTTP with SSE (for remote connections)
```bash
MCP_MODE=http npm start
```
By default, the HTTP server runs on port 3000. You can change this by setting the `PORT` environment variable:
```bash
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:
```bash
node /path/to/nylas-api-mcp/dist/index.js
```
5. Give it a name (e.g., "Nylas API")
6. 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:
```bash
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](https://developer.nylas.com/) 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
TDQS
Scored across 3 tools
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.
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.
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.
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.