SendGrid MCP Server
Enables AI models to send emails, manage contacts, and interact with SendGrid's email platform via MCP.
README
SendGrid MCP Server
A production-ready Model Context Protocol (MCP) Server for SendGrid email services, built with FastMCP 2.0. This server enables AI models like Claude, GPT, and others to send emails, manage contacts, and interact with SendGrid's powerful email platform.
š Features
- š§ Email Management: Send HTML/text emails with templates and attachments
- š„ Contact Management: Add contacts and manage mailing lists
- š Secure Authentication: Bearer token authentication with fallback support
- ā” Rate Limiting: Built-in API rate limiting to prevent abuse
- š”ļø Production Ready: Comprehensive error handling and logging
- š§ Easy Configuration: Environment-based configuration management
š Requirements
- Python 3.8+
- SendGrid API Key
- FastMCP 2.0
š ļø Installation
-
Clone the repository:
git clone https://github.com/FINCH285/SendGrid-MCP-Server.git cd SendGrid-MCP-Server -
Install dependencies:
pip install -r requirements.txt -
Set up environment variables:
cp .env.example .envEdit
.envwith your SendGrid configuration:SENDGRID_API_KEY=your_sendgrid_api_key_here DEFAULT_FROM_EMAIL=your-verified-email@example.com DEFAULT_FROM_NAME=Your Name DEFAULT_TEMPLATE_ID=your-template-id RATE_LIMIT=10 DEBUG=false
š Usage
Running the Server
python main.py
The server will start and listen for MCP connections via STDIO.
Available Tools
Email Tools
send_email- Send HTML/text emails to multiple recipientsget_template_info- Fetch SendGrid template detailssend_template_email- Send emails using dynamic templates
Contact Tools
add_contact- Add/update contacts with custom fieldsget_contact_lists- Retrieve all contact lists
š§ Configuration
Authentication
The server supports two authentication methods:
- Environment Variable: Set
SENDGRID_API_KEYin your.envfile - Bearer Token: Pass API key via Authorization header in MCP requests
š SendGrid Configuration example
{
"mcpServers": {
"sendgrid-mcp": {
"command": "python",
"args": ["/path/to/your/project/main.py"],
"cwd": "/path/to/your/project",
"disabled": false,
"env": {
"SENDGRID_API_KEY": "SG.your-actual-api-key-here"
}
}
}
}
For Windows users, use paths like:
"args": ["C:\\Users\\YourUsername\\project-folder\\main.py"]
"cwd": "C:\\Users\\YourUsername\\project-folder"
For macOS/Linux users, use paths like:
"args": ["/Users/yourusername/project-folder/main.py"]
"cwd": "/Users/yourusername/project-folder"
Key configuration elements:
-
"sendgrid-mcp": The server name/identifier (customizable)
-
args: Specifies the path to your main.py file
-
cwd: Sets the working directory to your project folder
-
disabled: Set to false to enable the server
-
env: Contains your SendGrid API key (replace with your actual key starting with "SG.")
šļø Architecture
āāāāāāāāāāāāāāāāāāā āāāāāāāāāāāāāāāāāāā āāāāāāāāāāāāāāāāāāā
ā AI Model āāāāāŗā FastMCP āāāāāŗā SendGrid ā
ā (Claude/GPT) ā ā Server ā ā API ā
āāāāāāāāāāāāāāāāāāā āāāāāāāāāāāāāāāāāāā āāāāāāāāāāāāāāāāāāā
ā ā ā
ā MCP Protocol ā HTTP/REST ā
ā¼ ā¼ ā¼
āāāāāāāāāāāāāāāāāāā āāāāāāāāāāāāāāāāāāā āāāāāāāāāāāāāāāāāāā
ā Tools Layer ā ā Auth Layer ā ā Config Layer ā
ā ⢠email_tools ā ā ⢠Bearer Token ā ā ⢠Environment ā
ā ⢠contact_tools ā ā ⢠API Key Auth ā ā ⢠Rate Limits ā
āāāāāāāāāāāāāāāāāāā āāāāāāāāāāāāāāāāāāā āāāāāāāāāāāāāāāāāāā
š¤ Contributing
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
š License
This project is licensed under the MIT License - see the LICENSE file for details.
š Support
- Issues: GitHub Issues
- SendGrid Documentation: SendGrid API Docs
- FastMCP Documentation: FastMCP Docs
š Acknowledgments
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.