mcp-emailjs
This server allows AI agents to send and manage emails through EmailJS with the following capabilities:
send_email: Send emails using pre-configured EmailJS templates by providing atemplate_idand dynamictemplate_params(key-value pairs mapping to template variables).validate_config: Validate EmailJS credentials (Service ID, Public Key, Template ID) before sending. Note: this performs a real send with empty params, which may consume quota or deliver an email.get_email_history: Fetch a paginated history of emails sent through your EmailJS account (up to 100 records per page). Requires both a public key and private key for authentication.Multi-account & Flexible Credentials: Credentials can be set via environment variables or passed directly as tool call parameters (tool call parameters take priority), enabling use of multiple EmailJS accounts within the same session.
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., "@mcp-emailjs Send an email with template 'contact' to user@example.com"
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.
mcp-emailjs
An MCP (Model Context Protocol) server for EmailJS — lets AI agents like Claude send emails, validate configurations, and query email history directly through EmailJS.
⚠️ Required: enable non-browser API access
EmailJS blocks API calls from non-browser environments by default. Since this MCP
server runs as a server process (not a browser), you must enable API access or
send_email will fail with:
403: API access from non-browser environments is currently disabled.
To enable it:
Turn on "Allow EmailJS API for non-browser applications"
Save
get_email_historyworks without this, butsend_emailandvalidate_configrequire it.
Related MCP server: email-mcp
Tools
Tool | Description |
| Send an email using an EmailJS template with dynamic parameters |
| Validate credentials and template ID before sending |
| Retrieve history of emails sent via your EmailJS account |
Known limitations
Templates cannot be created or edited programmatically. EmailJS does not
expose a public API for template management — templates must be created and
edited through the EmailJS dashboard. This MCP
can only use existing templates (by their template_id), not create them.
If you'd like EmailJS to add a template-management API, please 👍 and comment on the feature request: emailjs-sdk#70.
Installation
Claude Desktop
Add to your claude_desktop_config.json:
{
"mcpServers": {
"emailjs": {
"command": "npx",
"args": ["-y", "mcp-emailjs"],
"env": {
"EMAILJS_SERVICE_ID": "your_service_id",
"EMAILJS_PUBLIC_KEY": "your_public_key",
"EMAILJS_PRIVATE_KEY": "your_private_key"
}
}
}
}Config file location:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.json
Cursor / other MCP clients
{
"mcpServers": {
"emailjs": {
"command": "npx",
"args": ["-y", "mcp-emailjs"],
"env": {
"EMAILJS_SERVICE_ID": "your_service_id",
"EMAILJS_PUBLIC_KEY": "your_public_key",
"EMAILJS_PRIVATE_KEY": "your_private_key"
}
}
}
}Environment Variables
Variable | Required | Description |
| Yes* | Your EmailJS service ID |
| Yes* | Your EmailJS public key |
| No | Your EmailJS private key (required for |
*Can be passed per tool call as parameters instead of env vars.
Credential Priority
Credentials are resolved in this order:
Parameter passed in the tool call (overrides everything)
Environment variable
Error with a descriptive message
This allows using multiple EmailJS accounts in the same session.
Usage Examples
Send an email
Send an email using template "template_contact" with:
- to_name: "Alice"
- to_email: "alice@example.com"
- message: "Hello from Claude!"Validate your config
Validate my EmailJS configuration for service "service_gmail" and template "template_welcome"Check email history
Show me the last 10 emails I sent via EmailJSWhere to find your credentials
Go to EmailJS Dashboard
Service ID → Email Services → your service
Public Key → Account → API Keys → Public Key
Private Key → Account → API Keys → Private Key
Local Development
git clone https://github.com/ElizioMartins/mcp-emailjs
cd mcp-emailjs
npm install
npm run build
# Test with MCP Inspector
npm run inspectorLicense
MIT
Available Tools
3 toolsget_email_historyA
Retrieve the history of emails sent via EmailJS. Requires EMAILJS_PUBLIC_KEY and EMAILJS_PRIVATE_KEY (accessToken) for authentication.
Inputs: page, count, user_id, accessToken.
send_emailB
Send an email using an EmailJS template. Credentials can be passed as parameters or read from EMAILJS_SERVICE_ID, EMAILJS_PUBLIC_KEY, and EMAILJS_PRIVATE_KEY environment variables.
Inputs: template_id (required), template_params, service_id, user_id, +1 more.
validate_configA
Validate EmailJS credentials and template ID. WARNING: EmailJS has no dry-run endpoint, so this performs a real send with empty template params — it consumes send quota and may deliver an email if the template has no required variables. Returns a clear message indicating which part of the configuration is invalid.
Inputs: template_id (required), service_id, user_id, accessToken.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 3 tools
Each tool serves a distinct purpose: retrieving history, sending emails, and validating configuration. No overlap or ambiguity.
All tool names follow a consistent verb_noun snake_case pattern (get_email_history, send_email, validate_config).
Three tools is well-scoped for an email service, covering the core operations without unnecessary bloat.
The set covers sending, history, and config validation. Minor gap: lacks template management or cancellation, but core workflow is complete.
Maintenance
Related MCP Connectors
Email infrastructure for AI agents — send, receive, search, and reply to email over MCP.
Email inboxes for AI agents: send, receive, reply, search, and manage threaded email over MCP.
Hosted email MCP for AI agents with inboxes, send/receive, memory, recovery, and credits.
Hosted email for AI agents: create inboxes, send, receive, and reply over MCP with scoped API keys
Related MCP Servers
- AlicenseAqualityDmaintenanceAn MCP server that enables AI assistants to send emails via SMTP, supporting simple and custom emails with attachments and CC/BCC, plus connection testing.328MIT
- AlicenseNot gradedqualityDmaintenanceA production-ready MCP server that empowers AI agents to securely send emails via SMTP, supporting plain text, HTML, and attachments.MIT
- AlicenseNot gradedqualityDmaintenanceAn MCP server that provides AI agents with a persistent, agent-native email mailbox for sending, receiving, and managing emails through bounded-context retrieval, idempotent operations, and explicit acknowledgement.MIT
- AlicenseAqualityDmaintenanceMCP server that gives AI agents the ability to send, read, and search email via Gmail.432 npmMIT