Skip to content

recepyavuz0/sendgrid-mcp-server

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

13 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

SendGrid MCP Server

πŸš€ Model Context Protocol (MCP) server with SendGrid API integration

This project is an MCP server that enables AI assistants (Claude, ChatGPT, etc.) to send emails, manage templates, and track statistics using the SendGrid's API v3.

🌟 Features

πŸ“§ Email Operations

  • Single Email Sending: Send emails in plain text or HTML format
  • Batch Email Sending: Send emails to multiple recipients simultaneously
  • Template-based Emails: Send dynamic emails using pre-built templates
  • Scheduled Emails: Schedule emails to be sent at a future date and time

πŸ“‹ Template Management

  • Template Listing: View existing email templates
  • Template Creation: Create new dynamic email templates

πŸ“Š Statistics and Reporting

  • Email Statistics: View email statistics for specific date ranges
  • Detailed Reports: Get daily, weekly, or monthly reports

πŸ› οΈ Installation

1. Clone the Repository

git clone https://github.com/recepyavuz0/sendgrid-mcp-server.git
cd sendgrid-mcp-server

2. Install Dependencies

npm install

3. Set Environment Variables

Create a .env file in the project root directory:

SENDGRID_API_KEY=your_sendgrid_api_key_here
FROM_EMAIL=[email protected]

Important Notes:

  • SENDGRID_API_KEY: API key obtained from your SendGrid account
  • FROM_EMAIL: Verified sender email address in SendGrid

4. Build the Project

npm run build

πŸ”§ Usage

Standalone Execution

npm start

Usage with MCP Client

The MCP server works over stdin/stdout. You can use it with various clients:

🎯 Client Integrations

πŸ–±οΈ Usage with Cursor IDE

To use the MCP server in Cursor:

  1. Go to Cursor Settings > Extensions > MCP section
  2. Add a new MCP server:
{
  "mcpServers": {
    "sendgrid-api-mcp-server": {
      "command": "npx",
      "args": ["-y", "sendgrid-api-mcp-server"],
      "env": {
        "SENDGRID_API_KEY": "your_api_key",
        "FROM_EMAIL": "[email protected]"
      }
    }
  }
}
  1. Restart Cursor
  2. Now you can send emails in Chat:

Example Usage:

"Send a project meeting reminder to [email protected]"
"Send an HTML welcome message to [email protected]"

πŸ€– Usage with Claude Desktop

For usage in Claude Desktop application:

  1. Edit your Claude configuration file (~/.claude_desktop_config.json):
{
  "mcpServers": {
    "sendgrid-api-mcp-server": {
      "command": "npx",
      "args": ["-y", "sendgrid-api-mcp-server"],
      "env": {
        "SENDGRID_API_KEY": "your_api_key",
        "FROM_EMAIL": "[email protected]"
      }
    }
  }
}
  1. Restart Claude Desktop
  2. Give email commands directly in chat

πŸ”— Other MCP Clients

This MCP server is compatible with the following clients since it uses the standard MCP protocol:

  • Zed Editor
  • VS Code MCP Extension
  • Continue.dev
  • Custom MCP clients

Similar configuration structure is used for each client.

πŸ“š Available Tools

1. sendEmail - Send Email

Basic email sending functionality.

Parameters:

  • to: Recipient email address
  • subject: Email subject
  • text: Email text
  • html: HTML format (optional)

Example Usage:

"Send a meeting reminder to [email protected]: 'We'll meet tomorrow at 2:00 PM.'"

2. sendEmailWithTemplate - Template-based Email

Send dynamic emails using pre-built templates.

Parameters:

  • to: Recipient email address
  • subject: Email subject
  • templateId: SendGrid template ID
  • dynamicData: Template variables

Example Usage:

"Send email to [email protected] using template d-123456789 with data: {name: 'John', company: 'ABC Corp'}"

3. sendBatchEmails - Batch Email

Send emails to multiple recipients simultaneously.

Parameters:

  • toList: List of recipient email addresses
  • subject: Email subject
  • text: Email text
  • html: HTML format (optional)

Example Usage:

"Send new feature announcement to [email protected], [email protected], [email protected]"

4. listTemplates - List Templates

View existing email templates.

Example Usage:

"List existing email templates"

5. getStats - Email Statistics

Get email statistics for a specific date range.

Parameters:

  • start_date: Start date (YYYY-MM-DD)
  • end_date: End date (YYYY-MM-DD)
  • aggregated_by: Grouping (day/week/month)

Example Usage:

"Show email statistics for January 2024"

6. scheduleEmail - Scheduled Email

Schedule an email to be sent at a future date.

Parameters:

  • to: Recipient email address
  • subject: Email subject
  • text: Email text
  • send_at: Unix timestamp (seconds)
  • html: HTML format (optional)

Example Usage:

"Schedule a meeting reminder to [email protected] for tomorrow at 10:00 AM"

7. createTemplate - Create Template

Create a new dynamic email template.

Parameters:

  • name: Template name
  • subject: Email subject template
  • html_body: HTML content (with {{variable}} format)
  • plain_body: Plain text content

Example Usage:

"Create a welcome-email template with {{name}} and {{company}} variables"

πŸ’‘ Usage Examples

Simple Email Sending

AI: "Send an invoice reminder to [email protected]"

Dynamic Email with Template

AI: "Send monthly newsletter to all customers using template d-123456789"

Batch Email Campaign

AI: "Send new policy announcement to [email protected], [email protected], [email protected]"

Statistics Tracking

AI: "Generate this month's email performance report"

Scheduled Campaign

AI: "Schedule weekly meeting reminder to entire team for Monday 9:00 AM"

About

Sendrid API Integration For LLM

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published