Sendblue
Send iMessage and SMS messages using the Sendblue API.
Sendblue MCP Server
An MCP (Model Context Protocol) server that exposes Sendblue's iMessage and SMS capabilities as tools for LLMs.
Overview
This MCP server acts as an interface to the Sendblue API, enabling LLMs to send messages, manage groups, and perform other communication-related tasks via iMessage and SMS. It follows the MCP specification and provides a standardized way for LLMs to interact with the Sendblue platform.
Features
The server provides the following tools:
send_message
: Send individual messages (iMessage/SMS) with support for text, media, and expressive stylessend_group_message
: Send messages to group chatslookup_number_service
: Check if a number supports iMessage or SMSsend_typing_indicator
: Send typing indicators to recipientsget_message_history
: Retrieve message historyadd_recipient_to_group
: Add new recipients to existing group chatsupload_media_for_sending
: Upload media from URLs to Sendblue servers
Quick Start
Fastest Way to Get Started
For Claude Desktop
# Clone the repository
git clone https://github.com/your-username/sendblue-mcp.git
cd sendblue-mcp
# Install dependencies
pip install -r requirements.txt
# Set up credentials
cp sample.env .env
# Edit .env and add your API credentials
# Add to Claude Desktop config (macOS)
echo '{
"mcpServers": {
"sendblue": {
"command": "python",
"args": ["-m", "src.main"],
"cwd": "'$(pwd)'"
}
}
}' > ~/Library/Application\ Support/Claude/claude_desktop_config.json
# Restart Claude Desktop
For Local Testing
# After cloning and installing dependencies
python start_sendblue.py
Setup
Prerequisites
- Python 3.10 or higher
- Sendblue API credentials (API Key ID and Secret Key)
Installation
-
Clone this repository:
git clone https://github.com/your-username/sendblue-mcp.git cd sendblue-mcp
-
Install dependencies:
pip install -r requirements.txt
-
Configure your Sendblue API credentials:
cp sample.env .env # Edit .env to add your API credentials
Open
.env
and add:SENDBLUE_API_KEY_ID=your_api_key_id_here SENDBLUE_API_SECRET_KEY=your_api_secret_key_here
Running Locally
-
Ensure you're in the project directory:
cd /path/to/sendblue-mcp
-
Run the server:
python -m src.main
Or use the convenience script:
python start_sendblue.py
The server will start using the configuration from your
.env
file.
Client Integration
Claude Desktop Integration
Claude Desktop allows you to use the Sendblue MCP server directly from the Claude interface:
-
Locate the Claude Desktop configuration file:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
- Windows:
%AppData%\Claude\claude_desktop_config.json
- macOS:
-
Create or edit the file and add the following configuration:
{ "mcpServers": { "sendblue": { "command": "python", "args": [ "-m", "src.main", "--directory", "/absolute/path/to/sendblue-mcp" ] } } }
-
Replace
/absolute/path/to/sendblue-mcp
with the actual path to your Sendblue MCP server directory -
Save the file and restart Claude Desktop
-
The Sendblue tools will appear in the Claude interface when you click on the hammer icon
Cursor Integration
To add the Sendblue MCP server to Cursor:
-
Open Cursor Settings:
- macOS: Press
Cmd + ,
- Windows/Linux: Press
Ctrl + ,
- macOS: Press
-
Navigate to the MCP settings:
- Go to "Features" > "MCP Servers"
-
Click "Add Server" and configure:
- Server Name:
sendblue
- Command:
python
- Args:
["-m", "src.main"]
- Working Directory:
/absolute/path/to/sendblue-mcp
- Environment Variables:
{ "SENDBLUE_API_KEY_ID": "your_api_key_id", "SENDBLUE_API_SECRET_KEY": "your_api_secret_key" }
- Server Name:
-
Save and restart Cursor
-
Verify the server is connected:
- Open the AI chat
- You should see Sendblue tools available when you click the tools icon
- Try running
@sendblue send test message
to confirm it's working
Troubleshooting Integration
If the MCP server doesn't appear in Claude Desktop:
- Check Claude's logs (macOS):
tail -n 20 -f ~/Library/Logs/Claude/mcp*.log
- Verify your
.env
file has valid Sendblue API credentials - Make sure the path in the config file is absolute and correct
- Try restarting the client application completely
Deployment
Using Docker
Build and run the Docker container:
docker build -t sendblue-mcp .
docker run -p 5000:5000 --env-file .env sendblue-mcp
Using Smithery
This server is compatible with Smithery hosting. Deploy using:
smithery deploy
API Credentials
Obtaining Sendblue API Keys
- Sign up for a Sendblue account at https://sendblue.co/
- Once logged in, navigate to the API dashboard
- Generate your API Key ID and API Secret Key
- Store these credentials securely as they will be needed to authenticate with the Sendblue API
Setting Up Credentials
The server requires two main API credentials:
- SENDBLUE_API_KEY_ID: Your Sendblue API Key ID
- SENDBLUE_API_SECRET_KEY: Your Sendblue API Secret Key
These can be provided in any of the following ways:
1. Using a .env File (Local Development)
Create a .env
file in the root directory with your credentials:
SENDBLUE_API_KEY_ID=your_api_key_id_here
SENDBLUE_API_SECRET_KEY=your_api_secret_key_here
MCP_TRANSPORT=stdio # or http for web transport
2. For Claude Desktop Integration
When using with Claude Desktop, you can also set these environment variables in your system profile or pass them directly in the Claude Desktop configuration file:
{
"mcpServers": {
"sendblue": {
"command": "python",
"args": [
"-m",
"src.main"
],
"env": {
"SENDBLUE_API_KEY_ID": "your_api_key_id_here",
"SENDBLUE_API_SECRET_KEY": "your_api_secret_key_here"
}
}
}
}
3. For Smithery Deployment
When deploying to Smithery, you'll be prompted to input these environment variables through the Smithery interface. The deployment will securely store these values and provide them to your server at runtime.
Configuration
Additional configuration is managed through environment variables:
MCP_TRANSPORT
: Transport method (stdio
orhttp
); defaults tostdio
MCP_HTTP_PORT
: Port number for HTTP transport; defaults to5000
Testing
The project includes a comprehensive test suite:
python -m unittest discover -s tests
Documentation
- API Documentation - Generated documentation for the Sendblue API
- Sendblue Documentation - Original Sendblue API documentation
License
This project is licensed under the MIT License - see the LICENSE file for details.
Related Servers
Didlogic MCP Server
Interact with the Didlogic API for telecommunication services, including virtual phone numbers and SMS.
Slack
Interact with Slack workspaces using the Slack API.
AgentRPC
Connect to any function, any language, across network boundaries using AgentRPC.
Telephony MCP Server
Make voice calls and send SMS messages using the Vonage API.
MCP Email Server
Provides IMAP and SMTP access for sending and receiving emails.
Dixa MCP Server
A server for the Dixa API, enabling management of conversations and tags.
Nostr MCP Server
An MCP server that provides Nostr capabilities to LLMs, enabling interaction with the decentralized social network protocol.
CData Microsoft Teams MCP Server
A read-only MCP server for querying live Microsoft Teams data, powered by CData.
Twitter MCP Server
A server for interacting with Twitter, allowing you to post tweets, read timelines, and manage your account through the MCP standard.
Claude Code Notification
Sends notifications from Claude Code with customizable sounds and cross-platform support.