
Research
/Security News
Popular npm Packages in the keyv and Cacheable Namespaces Compromised in Active Supply Chain Attack
Popular npm packages keyv and cacheable compromised.
send16-mcp
Advanced tools
MCP server for Send16 — let AI agents send transactional & marketing email, manage contacts/audiences/segments, automations, templates, inbox, suppressions, and webhooks. 79 tools, stdio + hosted HTTP (mcp.send16.com), zero-DNS sandbox sender.
Model Context Protocol (MCP) server for the Send16 email platform. This lets AI tools like Claude Desktop, Cursor, Windsurf, and others interact with Send16 directly — sending emails, managing contacts, checking deliverability, and more.
npm install -g @send16/mcp
Or run directly with npx:
npx @send16/mcp
You need a Send16 API key. Generate one from your Send16 dashboard under Settings > API Keys.
API keys use the format sk_live_xxxxx.
Add to your claude_desktop_config.json:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"send16": {
"command": "send16-mcp",
"env": {
"SEND16_API_KEY": "sk_live_xxxxx"
}
}
}
}
If you installed with npx or want to point to a local build:
{
"mcpServers": {
"send16": {
"command": "npx",
"args": ["@send16/mcp"],
"env": {
"SEND16_API_KEY": "sk_live_xxxxx"
}
}
}
}
Add to your Cursor MCP settings (.cursor/mcp.json in your project or global config):
{
"mcpServers": {
"send16": {
"command": "send16-mcp",
"env": {
"SEND16_API_KEY": "sk_live_xxxxx"
}
}
}
}
Any MCP-compatible client that supports stdio transport can use this server. Point it to the send16-mcp binary with the SEND16_API_KEY environment variable set.
| Variable | Required | Description |
|---|---|---|
SEND16_API_KEY | Yes | Your Send16 API key (sk_live_xxxxx) |
SEND16_API_URL | No | API base URL (default: https://api.send16.com) |
send_emailSend a transactional email.
Parameters:
to - Recipient email(s) (string or array, max 50)
subject - Email subject line
html - HTML body (optional if using template)
text - Plain text body (optional)
from_name - Sender display name (optional)
from_email - Sender email address (optional, must be verified domain)
reply_to - Reply-to address (optional)
template - Transactional template slug (optional)
variables - Template merge variables (optional)
Example prompt: "Send a welcome email to john@example.com with subject 'Welcome to Acme' and a short HTML body"
send_campaign_testSend a test email for an existing campaign.
Parameters:
campaignId - Campaign ID
testEmail - Email address to receive the test
create_campaignCreate a new draft campaign.
Parameters:
name - Internal campaign name
subject - Email subject line
fromName - Sender display name
fromEmail - Sender email (verified domain)
replyTo - Reply-to address (optional)
previewText - Inbox preview text (optional)
design_email_templateUse AI to generate an email HTML template.
Parameters:
type - marketing | transactional | newsletter | announcement | welcome | promotional
style - minimal | modern | bold | elegant | playful | corporate
description - What the email should contain and its purpose
brandColor - Hex color code (optional)
companyName - Brand name (optional)
Example prompt: "Design a modern welcome email template for my SaaS product called 'Launchpad' with brand color #4F46E5"
list_campaignsList campaigns with optional filtering.
Parameters:
status - draft | scheduled | sending | sent | paused (optional)
page - Page number (default: 1)
pageSize - Results per page (default: 20, max: 100)
create_contactAdd a new contact to your audience.
Parameters:
email - Contact email address
firstName - First name (optional)
lastName - Last name (optional)
tags - Array of tag names (optional)
customFields - Key-value custom fields (optional)
search_contactsSearch contacts by email or name.
Parameters:
query - Search string
page - Page number (default: 1)
pageSize - Results per page (default: 20, max: 100)
list_contactsList all contacts with optional filters.
Parameters:
page - Page number (default: 1)
pageSize - Results per page (default: 20, max: 100)
subscribed - Filter: "true" or "false" (optional)
tagId - Filter by tag ID (optional)
import_contactsBulk import contacts from CSV data.
Parameters:
csvData - CSV string with headers (required column: "email")
tags - Tags to apply to all imports (optional)
updateExisting - Update existing contacts (default: false)
Example prompt: "Import these contacts: email,firstName,lastName\njohn@acme.com,John,Doe\njane@acme.com,Jane,Smith"
list_domainsList all configured sending domains with verification status.
Parameters: (none required)
check_domain_healthVerify DNS records (DKIM, SPF, DMARC) for a domain.
Parameters:
domainId - Domain ID to check
get_campaign_statsGet performance stats for a specific campaign.
Parameters:
campaignId - Campaign ID
Returns: send count, delivery rate, open rate, click rate, bounce rate, complaints, unsubscribes.
get_deliverability_statusGet IP warming progress and sending capacity.
Parameters: (none required)
Returns: per-IP warming progress, daily capacity, reputation scores, and aggregate summary.
# Install dependencies
npm install
# Run in development mode
SEND16_API_KEY=sk_live_xxxxx npm run dev
# Build for production
npm run build
This server uses the Model Context Protocol stdio transport. When an MCP client (like Claude Desktop) starts the server, it communicates over stdin/stdout using JSON-RPC messages. The server translates MCP tool calls into Send16 API requests and returns structured results.
All tools accept an optional apiKey parameter that overrides the SEND16_API_KEY environment variable, letting you switch between workspaces in a single session.
MIT
FAQs
MCP server for Send16 — let AI agents send transactional & marketing email, manage contacts/audiences/segments, automations, templates, inbox, suppressions, and webhooks. 79 tools, stdio + hosted HTTP (mcp.send16.com), zero-DNS sandbox sender.
The npm package send16-mcp receives a total of 150 weekly downloads. As such, send16-mcp popularity was classified as not popular.
We found that send16-mcp demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Research
/Security News
Popular npm packages keyv and cacheable compromised.

Security News
A misconfiguration gave three Anthropic models internet access, and one, believing it was in a simulation, shipped a credential-stealing package to PyPI.

Security News
/Company News
Socket has joined the new Composer and Packagist sponsorship program as a launch sponsor, supporting the team that keeps PHP's package ecosystem secure.