MCP (Model Context Protocol) server for Sendook - an AI email communication platform that enables AI agents to send and receive emails programmatically.
- Inbox Management: Create, list, and delete managed email inboxes
- Email Sending: Send emails with HTML/text content, attachments, and CC/BCC
- Message Handling: List, retrieve, and reply to messages
- Conversation Threads: View and manage email conversation threads
- Webhooks: Configure real-time notifications for email events
# Using uvx (recommended)
uvx sendook-mcp
# Or using pip
pip install sendook-mcpSet your Sendook API key as an environment variable:
export SENDOOK_API_KEY="your-api-key-here"Optional: Set a custom API URL (defaults to production):
export SENDOOK_API_URL="https://api.sendook.com"Add to your Claude Desktop configuration (~/.config/Claude/claude_desktop_config.json on macOS/Linux or %APPDATA%\Claude\claude_desktop_config.json on Windows):
{
"mcpServers": {
"sendook": {
"command": "uvx",
"args": ["sendook-mcp"],
"env": {
"SENDOOK_API_KEY": "your-api-key-here"
}
}
}
}Or if installed via pip:
{
"mcpServers": {
"sendook": {
"command": "sendook-mcp",
"env": {
"SENDOOK_API_KEY": "your-api-key-here"
}
}
}
}| Tool | Description |
|---|---|
sendook_create_inbox |
Create a new inbox for an AI agent |
sendook_list_inboxes |
List all inboxes in your organization |
sendook_get_inbox |
Get details for a specific inbox |
sendook_delete_inbox |
Delete an inbox (archives messages) |
| Tool | Description |
|---|---|
sendook_send_message |
Send an email with optional attachments |
sendook_reply_to_message |
Reply to an existing message |
sendook_list_messages |
List messages in an inbox |
sendook_get_message |
Get full details of a message |
| Tool | Description |
|---|---|
sendook_list_threads |
List conversation threads in an inbox |
sendook_get_thread |
Get a thread with all its messages |
| Tool | Description |
|---|---|
sendook_create_webhook |
Create a webhook subscription |
sendook_list_webhooks |
List all configured webhooks |
sendook_get_webhook |
Get details of a webhook |
sendook_test_webhook |
Send a test event to a webhook |
sendook_delete_webhook |
Delete a webhook subscription |
sendook_list_webhook_attempts |
View webhook delivery history |
Use sendook_send_message with:
- inbox_id: "ibox_01J3ZKZ0BRQ9SSJK1GRSCX4N4Z"
- to: ["customer@example.com"]
- subject: "Your Order Confirmation"
- text: "Thank you for your order!"
Use sendook_create_inbox with:
- name: "Customer Support Bot"
- email: "support@yourdomain.com"
Use sendook_create_webhook with:
- url: "https://your-app.com/webhooks/sendook"
- events: ["message.received", "message.delivered"]
Most read operations support two response formats:
- markdown (default): Human-readable formatted output
- json: Machine-readable structured data
Set response_format: "json" for programmatic processing.
The server provides actionable error messages:
- 401: Authentication failed - check your API key
- 403: Permission denied - verify API key permissions
- 404: Resource not found - check the ID
- 429: Rate limit exceeded - wait and retry
# Install dev dependencies
uv sync --extra dev
# Run linting
uv run ruff check .
# Run tests
uv run pytestMIT