SendLayer MCP Server
# SendLayer MCP Server
This MCP server exposes tools for sending email and managing SendLayer webhooks/events using the SendLayer Node.js SDK.
## Tools
- **send-email**: Send a message (plain text or HTML), with CC/BCC, reply-to, tags, headers, and attachments.
- **get-events**: Query events with optional filters.
- **list-webhooks**: List registered webhooks.
- **create-webhook**: Create a webhook.
- **delete-webhook**: Delete a webhook by ID.
As an example, you could use this to run local scripts, chat with Claude, or process data and send the results to yourself or your team.
Built with:
- [SendLayer](https://sendlayer.com/)
- [Anthropic MCP](https://docs.anthropic.com/en/docs/agents-and-tools/mcp)
- [Cursor](https://cursor.so/)
## Features
- Send plain text and HTML emails
- Send emails with attachment
- Add CC and BCC recipients
- Customizable sender email (requires verification)
- Creating and managing webhooks
- Viewing email events
## Demo
Add video demo
## Setup
Currently, you must build the project locally to use this MCP server. Then add the server in [Cursor](#cursor) or [Claude Desktop](#claude-desktop) to use it in any Cursor or Claude Desktop chat.
1. Clone this project locally.
```
git clone https://github.com/sendlayer/mcp-send-email.git
```
2. Build the project
```
npm install
npm run build
```
3. Setup SendLayer
Create a free SendLayer account and [Create an API Key](https://sendlayer.com/docs/managing-api-keys/). Before sending emails, you'll also need to [verify your sending domain](https://sendlayer.com/docs/authorizing-your-domain/).
## Connecting the MCP Server to Your LLM
Here's how to connect the MCP server to a client.
### Cursor
1. Open Cursor Settings.
Open the command palette (`cmd`+`shift`+`p` on macOS or `ctrl`+`shift`+`p` on Windows) and choose "Cursor Settings".
2. Add the MCP server
Select **Tools & MCP** from the left sidebar and click **New MCP server**.
Add the following config:
```json
{
"mcpServers": {
"sendlayer": {
"type": "command",
"command": "node",
"args": ["ABSOLUTE_PATH_TO_SENDLAYER_MCP_PROJECT/build/index.js",
"--key=YOUR_SENDLAYER_API_KEY"
]
}
}
}
```
You can get the absolute path to your build script by right-clicking on the `/build/index.js` file in your code editor and selecting `Copy Path`.
**Supported Arguments**
- `--key`: Your SendLayer API key (required)
- `--sender`: Your sender email address from a verified domain (optional)
> **Note:** If you don't provide a sender email address, the MCP server will ask you to provide one each time you call the tool.
3. Test the sending
Now you can test out sending emails using the command `send an email to recipient@example.com`.
- You can specify the subject and email content or let the AI model generate one for you.
- Tell cursor to "send this as an email" in the chat (make sure cursor is in Agent mode by selecting "Agent" on lower left side dropdown).
> **Note:** We've created an example email template in the example.txt file. You can customize it for your specific usecase.
## Claude Desktop
1. Open Claude's Developer config file
Open Claude Desktop settings and navigate to the **Developer** tab. Click **Edit Config** and open the file in a code editor.
2. Add the MCP server
Add the following config:
```json
{
"mcpServers": {
"sendlayer": {
"command": "node",
"args": [
"ABSOLUTE_PATH_TO_SENDLAYER_MCP_PROJECT/build/index.js"
],
"env": {
"SENDLAYER_API_KEY": "YOUR_SENDLAYER_API_KEY",
}
}
}
}
```
> **Note:** You can get the absolute path to your build script by right-clicking on the `/build/index.js` file in your IDE and selecting **Copy Path**.
**Possible environment variables**
- `SENDLAYER_API_KEY`: Your SendLayer API key (required)
- `SENDER_EMAIL_ADDRESS`: Your sender email address from a verified domain (optional)
If you don't provide a sender email address, the MCP server will ask you to provide one each time you call the tool.
3. Test the sending
Restart Claude Desktop. Verify that the `sendlayer-mcp` tool is available in the Claude developer settings.
Chat with Claude and tell it to send you an email using the `sendlayer-mcp` tool.
TDQS
Scored across 5 tools
Each tool has a clearly distinct purpose with no overlap: create-webhook, delete-webhook, and list-webhooks handle webhook lifecycle management, get-events retrieves event data, and send-email performs email sending. An agent can easily distinguish between these functions without confusion.
All tool names follow a consistent verb_noun pattern with kebab-case (e.g., create-webhook, delete-webhook, get-events, list-webhooks, send-email). This uniformity makes the tool set predictable and easy to understand.
With 5 tools, this server is well-scoped for its purpose of handling SendLayer webhooks, events, and email sending. Each tool earns its place, providing essential operations without being overly sparse or bloated.
The tool set covers core operations for webhooks (create, delete, list) and email sending, with get-events for monitoring. A minor gap exists in webhook management (e.g., no update-webhook tool), but agents can work around this by deleting and recreating webhooks as needed.