MCP Server – Send & manage emails, contacts and sending domains

Sidemail MCP server enables you to programmatically send and manage transactional emails, contacts, sending domains, templates, API logs, and Messenger features – right from MCP agent mode in VS Code, Claude, Cursor, and other MCP clients.

Sidemail MCP server

What is MCP? Model Context Protocol (MCP) is a new open standard that makes it easier for AI systems to connect with external data and services. MCP acts a bit like an API for AI models – it provides a standard “language” for AI programs to access tools or data from the outside world. Learn more in our explanation article.

MCP server features

  • Manage sending domains
  • Test sending transactional emails
  • Manage contacts and groups
  • Create, update, and delete Messenger drafts
  • Query sent emails, contacts, templates, and API request logs

Prerequisites

  • Sidemail API Key
  • Node.js v20 or newer, only for the local NPM package setup

Hosted HTTP setup

Use the hosted Streamable HTTP MCP server when your client supports remote MCP servers:

https://api.sidemail.io/mcp

Send your Sidemail API key in the Authorization header as a Bearer token.

{
	"servers": {
		"sidemail": {
			"type": "http",
			"url": "https://api.sidemail.io/mcp",
			"headers": {
				"Authorization": "Bearer ${input:sidemail-key}"
			}
		}
	},
	"inputs": [
		{
			"type": "promptString",
			"id": "sidemail-key",
			"description": "Sidemail API Key",
			"password": true
		}
	]
}

Local NPM setup

Use the local NPM package when your client expects a stdio MCP server.

Microsoft VS Code setup (assisted)

  1. Open the Command Palette (Ctrl/Cmd + Shift + P).
  2. Type “MCP: Add Server…” and select it.
  3. Select "NPM Package".
  4. Enter @sidemail/mcp and confirm it.
  5. Confirm the installation.
  6. Enter your Sidemail API key and confirm it.

Microsoft VS Code local setup (manual)

Alternatively, you can install it manually by modifying the mcp.json configuration file.

  1. Open the Command Palette (Ctrl/Cmd + Shift + P).
  2. Type “MCP: Open User Configuration” and select it.
  3. Add the configuration below and save changes.
{
	"servers": {
		"sidemail-mcp": {
			"type": "stdio",
			"command": "npx",
			"args": ["-y", "@sidemail/mcp"],
			"env": {
				"SIDEMAIL_API_KEY": "${input:sidemail-key}"
			}
		}
	},
	"inputs": [
		{
			"type": "promptString",
			"id": "sidemail-key",
			"description": "Sidemail API Key",
			"password": true
		}
	]
}

Claude Desktop local setup

Edit (or create) the config file:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
  • Linux: ~/.config/Claude/claude_desktop_config.json
{
	"mcpServers": {
		"sidemail": {
			"command": "npx",
			"args": ["-y", "@sidemail/mcp"],
			"env": { "SIDEMAIL_API_KEY": "your-key" }
		}
	}
}

Cursor setup

Create or edit ~/.cursor/mcp.json:

{
	"mcpServers": {
		"sidemail": {
			"command": "npx",
			"args": ["-y", "@sidemail/mcp"],
			"env": { "SIDEMAIL_API_KEY": "your-key" }
		}
	}
}

CLI Usage

npx @sidemail/mcp

For local HTTP testing:

MCP_TRANSPORT=http npx @sidemail/mcp

MCP Server Tools

Domains

  • list-domains: List all sending domains
  • create-domain: Add a new sending domain
  • check-domain: Check domain verification and DNS status
  • setup-domain-mail-from: Set up custom Mail-From DNS records
  • delete-domain: Remove a sending domain

Example – Adding a new sending domain: Sidemail Email MCP server – Adding a new sending domain via AI tool

Messenger

  • list-messenger-drafts: List Messenger drafts
  • get-messenger-draft: Get Messenger draft by ID
  • create-messenger-draft: Create a Messenger draft
  • update-messenger-draft: Update a Messenger draft
  • delete-messenger-draft: Delete a Messenger draft

Example – Writing a product update email: Sidemail Email MCP server – Writing a product update email via AI tool

Groups

  • list-groups: List all contact groups
  • create-group: Create a new contact group
  • update-group: Update a contact group
  • delete-group: Delete a contact group

Contacts

  • create-or-update-contact: Create or update a contact
  • query-contacts: Query contacts with filters
  • find-contact: Find a contact by email
  • delete-contact: Delete a contact

Emails

  • send-email: Send a transactional email (testing only)
  • query-emails: Query sent emails
  • get-email: Retrieve an email by ID
  • delete-email: Delete a scheduled email

Templates

  • list-templates: List email templates
  • get-template: Retrieve a template by ID

API logs

  • query-api-request-logs: Query recent API request logs

More resources