Skip to main content
Glama
ElizioMartins

mcp-emailjs

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:

  1. Go to EmailJS Account → Security

  2. Turn on "Allow EmailJS API for non-browser applications"

  3. Save

get_email_history works without this, but send_email and validate_config require it.

Related MCP server: mail-mcp

Tools

Tool

Description

send_email

Send an email using an EmailJS template with dynamic parameters

validate_config

Validate credentials and template ID before sending

get_email_history

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.json

  • Windows: %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

EMAILJS_SERVICE_ID

Yes*

Your EmailJS service ID

EMAILJS_PUBLIC_KEY

Yes*

Your EmailJS public key

EMAILJS_PRIVATE_KEY

No

Your EmailJS private key (required for get_email_history)

*Can be passed per tool call as parameters instead of env vars.

Credential Priority

Credentials are resolved in this order:

  1. Parameter passed in the tool call (overrides everything)

  2. Environment variable

  3. 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 EmailJS

Where to find your credentials

  1. Go to EmailJS Dashboard

  2. Service ID → Email Services → your service

  3. Public Key → Account → API Keys → Public Key

  4. 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 inspector

License

MIT

Install Server
A
license - permissive license
A
quality
A
maintenance

Maintenance

Maintainers
Response time
0dRelease cycle
2Releases (12mo)
Commit activity

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

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