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 "Install 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-emailjsSend 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: mail-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
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/ElizioMartins/mcp-emailjs'
If you have feedback or need assistance with the MCP directory API, please join our Discord server