aws-ses-mcp 📧

aws-ses-mcp 📧

An MCP server that enables sending emails directly through AWS SES without copy-pasting, supporting plain text and HTML emails with features like CC, BCC, and reply-to functionality.

omd01

Cloud Platforms
Visit Server

README

aws-ses-mcp 📧

smithery badge

This is a simple MCP server that sends emails using AWS SES (Simple Email Service). Perfect for integrating with Cursor or Claude Desktop to compose and send emails directly without copy-pasting. The service supports both plain text and HTML emails with advanced features like CC, BCC, and reply-to functionality.

Features ✨

  • Send plain text and HTML emails
  • Support for CC and BCC recipients
  • Configurable reply-to addresses
  • Customizable sender email (requires AWS SES verification)
  • Full request/response logging for debugging
  • Email scheduling capability

Prerequisites 📋

Before you begin, ensure you have:

  1. AWS SES account set up and configured
  2. Verified email domain or individual email addresses in AWS SES
  3. AWS credentials (Access Key ID and Secret Access Key) with SES permissions
  4. Node.js installed on your system

Installation 🚀

Installing via Smithery

To install aws-ses-mcp for Claude Desktop automatically via Smithery:

npx -y @smithery/cli install @omd01/aws-ses-mcp --client claude

Manual Installation

  1. Clone this repository:
git clone https://github.com/omd01/aws-ses-mcp.git
cd aws-ses-mcp
  1. Install dependencies:
npm install
  1. Build the project:
npm run build

Configuration ⚙️

Example Email Format (email.md)

{
  "to": "example@gmail.com",
  "subject": "Test!",
  "text": "This is a test email.",
  "cc": ["cc-recipient@example.com"],
  "bcc": ["bcc-recipient@example.com"]
}

Setup Instructions 🔧

For Cursor

  1. Go to Cursor Settings -> MCP -> Add new MCP server

  2. Configure the server with these settings:

    • Name: aws-ses-mcp (or your preferred name)
    • Type: command
    • Command:
    node ABSOLUTE_PATH_TO_MCP_SERVER/build/index.js \
    --aws-access-key-id=YOUR_AWS_ACCESS_KEY_ID \
    --aws-secret-access-key=YOUR_AWS_SECRET_ACCESS_KEY \
    --aws-region=YOUR_AWS_REGION \
    --sender=YOUR_SENDER_EMAIL \
    --reply-to=REPLY_TO_EMAIL
    

For Claude Desktop

Add the following configuration to your MCP config:

{
  "mcpServers": {
    "aws-ses-mcp": {
      "command": "node",
      "args": ["ABSOLUTE_PATH_TO_MCP_SERVER/build/index.js"],
      "env": {
        "AWS_ACCESS_KEY_ID": "YOUR_AWS_ACCESS_KEY_ID",
        "AWS_SECRET_ACCESS_KEY": "YOUR_AWS_SECRET_ACCESS_KEY",
        "AWS_REGION": "YOUR_AWS_REGION",
        "SENDER_EMAIL_ADDRESS": "YOUR_SENDER_EMAIL",
        "REPLY_TO_EMAIL_ADDRESSES": "REPLY_TO_EMAILS_COMMA_SEPARATED"
      }
    }
  }
}

Usage 📝

  1. Create or edit email.md with your email content
  2. In Cursor:
    • Open the email.md file
    • Select the content
    • Press cmd+l (or ctrl+l)
    • Tell Cursor to "send this as an email"
    • Ensure Cursor chat is in Agent mode

Development 👩‍💻

npm install    # Install dependencies
npm run build  # Build the project

Troubleshooting 🔍

  • Check the console logs for detailed request/response information
  • Verify your AWS credentials and permissions
  • Ensure your sender email is verified in AWS SES
  • Review the AWS SES console for any bounces or complaints

Contributing 🤝

Contributions are welcome! Please feel free to submit a Pull Request.

License 📄

This project is licensed under the MIT License - see the LICENSE file for details.

The MIT License is a permissive license that is short and to the point. It lets people do anything they want with your code as long as they provide attribution back to you and don't hold you liable.

Recommended Servers

contentful-mcp

contentful-mcp

Update, create, delete content, content-models and assets in your Contentful Space

Featured
TypeScript
Supabase MCP Server

Supabase MCP Server

A Model Context Protocol (MCP) server that provides programmatic access to the Supabase Management API. This server allows AI models and other clients to manage Supabase projects and organizations through a standardized interface.

Featured
JavaScript
SettleMint

SettleMint

Leverage SettleMint's Model Context Protocol server to seamlessly interact with enterprise blockchain infrastructure. Build, deploy, and manage smart contracts through AI-powered assistants, streamlining your blockchain development workflow for maximum efficiency.

Official
Local
TypeScript
Brev

Brev

Run, build, train, and deploy ML models on the cloud.

Official
Local
Python
Azure MCP Server

Azure MCP Server

Enables natural language interaction with Azure services through Claude Desktop, supporting resource management, subscription handling, and tenant selection with secure authentication.

Official
Local
TypeScript
mcp-server-cloudflare

mcp-server-cloudflare

Lets you use Claude Desktop, or any MCP Client, to use natural language to accomplish things on your Cloudflare account.

Official
TypeScript
LlamaCloud MCP Server

LlamaCloud MCP Server

A MCP server connecting to a managed index on LlamaCloud. This is a TypeScript-based MCP server that implements a connection to a managed index on LlamaCloud.

Official
JavaScript
MCP2Lambda

MCP2Lambda

Enables AI models to interact with AWS Lambda functions via the MCP protocol, allowing access to private resources, real-time data, and custom computation in a secure environment.

Official
Python
Workers MCP

Workers MCP

A package that connects Claude Desktop and other MCP clients to Cloudflare Workers, enabling custom functionality to be accessed via natural language through the Model Context Protocol.

Official
TypeScript
Appwrite MCP Server

Appwrite MCP Server

A Model Context Protocol server that allows AI assistants to interact with Appwrite's API, providing tools to manage databases, users, functions, teams, and other resources within Appwrite projects.

Official
Python