Sample MCP Server for Amazon SES (SESv2)
This sample shows how to build a Model Context Protocol (MCP) server for Amazon Simple Email Service (SES). This server implementation exposes all public SES v2 API actions through the MCP. You can send email, access SES account resources, and more. This sample is not intended to be used in a production environment.
Prerequisites
- Git
- Java 21 or later
- AWS profile configured in your environment (the MCP server uses the default profile if not specified otherwise)
- An LLM client that supports MCP, such as:
- Amazon Q Developer CLI
- Claude Desktop
Getting Started
Clone and build the project:
macOS/Linux
git clone https://github.com/aws-samples/sample-for-amazon-ses-mcp.git
cd sample-for-amazon-ses-mcp
./build.sh
Windows
git clone https://github.com/aws-samples/sample-for-amazon-ses-mcp.git
cd sample-for-amazon-ses-mcp
.\\build.bat
Configuration
MCP Server Configuration
After building, add the server to your MCP configuration:
{
"mcpServers": {
"sesv2-mcp-server": {
"command": "java",
"args": [
"-jar",
"JAR_PATH_FROM_BUILD_OUTPUT"
]
}
}
}
The JAR_PATH_FROM_BUILD_OUTPUT will be printed at the end of the build script.
Client Setup
Amazon Q Developer
See Amazon Q Developer documentation for configuration steps.
Claude Desktop
See Claude Desktop MCP configuration guide for setup instructions.
Example Use Cases
- Send a simple email to a single recipient
- Send an email to multiple recipients using a template
- Create a new dedicated IP address pool
- Check deliverability metrics (requires Virtual Deliverability Manager)
- Manage contact lists
- View and modify suppression lists
Troubleshooting
Common Issues
- Jar not found: Ensure the path in MCP configuration matches the build output
- Permission denied: Check AWS credentials and SES permissions
- Windows build errors with
[ERROR] ... > Illegal char <may be caused by incorrect line endings (CRLF vs LF). Try setting Git to use CRLF withgit config --global core.autocrlf trueand cloning the repository again.
Security
See CONTRIBUTING for more information.
License
This library is licensed under the MIT-0 License. See the LICENSE file.
Disclaimer
The Amazon SES MCP Server is offered only as a sample. Before using an MCP Server, you should consider conducting your own independent assessment to ensure that your use would comply with your own specific security and quality control practices and standards, as well as the laws, rules, and regulations that govern you and your content.
Recommend MCP Servers 💡
@mulesoft/mcp-server
A Model Context Protocol (MCP) implementation by MuleSoft that enables large language models (LLMs) to interact with the MuleSoft Anypoint Platform for tasks like application deployment, API management, asset search, and platform insights.
radostkali/gitlab-mcp-server
GitLab integration MCP server built with FastMCP in Python.
Terraform-MCP-Server
An MCP server that provides a natural language interface for managing Terraform infrastructure-as-code operations, allowing LLMs to interact with Terraform.
mcp-bearer-auth-example
A remote Model Context Protocol (MCP) server designed to run on Cloudflare, enhanced with Bearer Token authentication.
@jason-tan-swe/railway-mcp
Unofficial MCP server for Railway.app integration, enabling MCP clients to manage infrastructure via natural language
thirdweb-mcp
An MCP server integrating thirdweb's blockchain tools (Nebula, Insight, Engine, etc.) with MCP clients.