AWS SES MCP Server
Provides tools for sending emails using AWS Simple Email Service (SES), supporting HTML and plain text bodies with CC/BCC.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@AWS SES MCP Serversend an email to user@example.com with subject "Hello" and body "Just testing""
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
AWS SES MCP Server
A Model Context Protocol (MCP) server that sends emails using AWS Simple Email Service (SES). Send HTML or plain text emails with CC/BCC support from any MCP client.
View on mpak registry | Built by NimbleBrain
Install
Install with mpak:
mpak install @nimblebraininc/aws-sesConfiguration
You need an AWS account with SES enabled, a verified sender email address, and IAM credentials with SES permissions.
mpak config set @nimblebraininc/aws-ses aws_access_key_id YOUR_ACCESS_KEY
mpak config set @nimblebraininc/aws-ses aws_secret_access_key YOUR_SECRET_KEY
mpak config set @nimblebraininc/aws-ses from_email your-verified@email.comOptionally set the region (defaults to us-east-1):
mpak config set @nimblebraininc/aws-ses aws_region us-west-2Claude Code
claude mcp add aws-ses -- mpak run @nimblebraininc/aws-sesClaude Desktop
Add to your claude_desktop_config.json:
{
"mcpServers": {
"aws-ses": {
"command": "mpak",
"args": ["run", "@nimblebraininc/aws-ses"]
}
}
}See the mpak registry page for full install options.
Related MCP server: MCP Sendmail Server
Tools
send_email
Send an email using AWS SES. Supports HTML bodies with automatic plain text fallback.
Parameter | Type | Required | Description |
|
| Yes | Recipient email address |
|
| Yes | Email subject line |
|
| Yes | Email body (HTML supported) |
|
| No | Sender email (defaults to |
|
| No | CC recipients, comma-separated |
|
| No | BCC recipients, comma-separated |
Example call:
{
"name": "send_email",
"arguments": {
"to": "recipient@example.com",
"subject": "Weekly Report",
"body": "<h1>Weekly Report</h1><p>Here are this week's highlights...</p>"
}
}Example response:
{
"success": true,
"message_id": "0102018f-1234-5678-abcd-example",
"timestamp": "2026-02-13T10:00:00+00:00",
"to": "recipient@example.com",
"subject": "Weekly Report"
}Quick Start
Local Development
git clone https://github.com/NimbleBrainInc/mcp-aws-ses.git
cd mcp-aws-ses
# Install dependencies
uv sync
# Set credentials
cp .env.example .env
# Edit .env with your AWS credentials
# Run the server (stdio mode)
uv run python -m mcp_aws_ses.serverThe server supports HTTP transport with:
Health check:
GET /healthMCP endpoint:
POST /mcp
Development
# Install with dev dependencies
uv sync --group dev
# Run all checks (format, lint, typecheck, unit tests)
make check
# Run unit tests
make test
# Run with coverage
make test-covAbout
AWS SES MCP Server is published on the mpak registry and built by NimbleBrain. mpak is an open registry for Model Context Protocol servers.
License
MIT
Available Tools
1 toolsend_emailB
Send an email using AWS SES.
| Name | Required | Description | Default |
|---|---|---|---|
| cc | No | CC recipients, comma-separated. | |
| to | Yes | Recipient email address. | |
| bcc | No | BCC recipients, comma-separated. | |
| body | Yes | Email body (HTML supported). | |
| subject | Yes | Email subject line. | |
| from_email | No | Sender email address. Falls back to AWS_SES_FROM_EMAIL env var. |
Output Schema
| Name | Required | Description |
|---|---|---|
| to | Yes | Recipient email address |
| subject | Yes | Email subject line |
| success | Yes | Whether the email was sent successfully |
| timestamp | Yes | ISO 8601 timestamp of when the email was sent |
| message_id | Yes | AWS SES message ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description only states the action without disclosing any behavioral traits such as authentication requirements, side effects, rate limits, or error handling. Since no annotations are provided, the description carries the full burden, and this minimal statement fails to provide meaningful transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that front-loads the core action without any unnecessary words. It is appropriately sized for the purpose, though it could benefit from additional details while still remaining concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained. However, the description lacks behavioral context such as permissions or limitations, and no annotations are present. For a simple tool, this is minimally sufficient but leaves gaps in completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all parameters are already documented in the schema. The description adds no parameter-specific meaning beyond what the schema provides, keeping it at the baseline score.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it sends an email via AWS SES, identifying the action, resource, and service. This is specific and leaves no ambiguity about the tool's function, even though there are no sibling tools to differentiate from.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not explicitly state when to use this tool or provide any alternatives, but the action of sending an email implies its use case. With no sibling tools, the lack of alternatives is less critical, but there is no mention of prerequisites or scenario-based guidance.
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.
1 tool update
v0.1.2- First observed
send_email
TDQS
Scored across 1 tool
With only a single tool, there is no possibility of overlap or confusion between tools. The tool's purpose is clear and unambiguous.
The tool name 'send_email' follows a clear verb_noun pattern and is self-consistent. While there is only one tool, the naming is predictable and professional.
AWS SES is a broad service with many capabilities beyond sending email, such as managing verified identities, templates, and sending statistics. A single tool is far too few for the scope implied by the server name, making the server under-scoped.
The tool surface is severely incomplete for AWS SES. Essential operations like listing verified identities, checking sending limits, and managing configuration sets are missing, leaving agents with no way to handle common SES workflows.
Maintenance
Related MCP Connectors
Send transactional email and manage domains, audiences, and broadcasts from any MCP client.
Email infrastructure for AI agents — send, receive, search, and reply to email over MCP.
send-that-email MCP — wraps StupidAPIs (requires X-API-Key)
- UnitpostOAuthcom.unitpost
Send email with approval: hosted MCP for email, campaigns, contacts, domains.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceAn 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.3MIT
- FlicenseNot gradedqualityDmaintenanceEnables sending emails via SMTP with support for HTML content, attachments, bulk sending, and template-based emails. Features session management and full MCP Streamable HTTP transport compliance.-
- AlicenseNot gradedqualityDmaintenanceEnables sending emails through the Resend service API. Provides a simple email sending tool that integrates with MCP-compatible clients.11 npmMIT
- AlicenseNot gradedqualityDmaintenanceEnables reading and sending emails via IMAP and SMTP through the MCP protocol. Supports multiple email accounts and configuration via UI or environment variables.BSD 3-Clause