send-to-kindle-mcp
Sends document files (EPUB, PDF, DOCX, etc.) to your Kindle via email using Amazon's Send to Kindle feature.
README
send-to-kindle-mcp
An MCP server that sends document files
(EPUB, PDF, TXT, …) to your Kindle using Amazon's Send to Kindle email
feature. The file is emailed as an attachment to your device's @kindle.com
address.
Tool
send_to_kindle
| Argument | Type | Required | Description |
|---|---|---|---|
file_paths |
string[] | yes | Absolute paths of the document files to send (1–25 files). |
kindle_email |
string | no | Target @kindle.com address. Falls back to the KINDLE_EMAIL env var. |
All files are sent as attachments in a single email. Amazon's limits: up to 25 attachments and 50 MB combined per email.
Supported formats: .epub, .pdf, .txt, .rtf, .htm, .html, .png,
.gif, .jpg, .jpeg, .bmp.
Prerequisites (do this once on Amazon's side)
Send to Kindle by email silently drops anything from an unapproved sender.
- Find your Kindle address. Amazon → Manage Your Content and Devices →
Devices → select your Kindle. It shows an address like
you_abc123@kindle.com. - Approve your sending email. Same page → Preferences →
Personal Document Settings → Approved Personal Document E-mail List →
Add a new approved e-mail address. Add the address you'll send from
(your
SMTP_FROM/SMTP_USER).
EPUB is supported natively (Amazon converts it to a Kindle format on receipt).
Install
No clone or build needed — the server runs via npx straight from npm:
npx @benbini/send-to-kindle-mcp
(Your MCP client launches it for you using the config below; you don't normally run this by hand.)
Gmail note
Use an App Password, not your account password: Google Account → Security →
2-Step Verification → App passwords. Host smtp.gmail.com, port 587.
Register with an MCP client
Claude Code
claude mcp add send-to-kindle \
--env SMTP_HOST=smtp.gmail.com \
--env SMTP_PORT=587 \
--env SMTP_USER=you@gmail.com \
--env SMTP_PASS=your-app-password \
--env SMTP_FROM=you@gmail.com \
--env KINDLE_EMAIL=you_abc123@kindle.com \
-- npx -y @benbini/send-to-kindle-mcp
Generic mcpServers JSON (Claude Desktop, Cursor, etc.)
{
"mcpServers": {
"send-to-kindle": {
"command": "npx",
"args": ["-y", "@benbini/send-to-kindle-mcp"],
"env": {
"SMTP_HOST": "smtp.gmail.com",
"SMTP_PORT": "587",
"SMTP_USER": "you@gmail.com",
"SMTP_PASS": "your-app-password",
"SMTP_FROM": "you@gmail.com",
"KINDLE_EMAIL": "you_abc123@kindle.com"
}
}
}
}
From source (development)
git clone https://github.com/BenjaminBini/send-to-kindle-mcp.git
cd send-to-kindle-mcp
npm install
npm run build
Then point your client's command/args at node /path/to/dist/index.js.
Environment variables
| Variable | Required | Default | Notes |
|---|---|---|---|
SMTP_HOST |
yes | — | SMTP server hostname. |
SMTP_PORT |
no | 587 |
SMTP port. |
SMTP_SECURE |
no | true if port 465, else false |
Force TLS-on-connect. |
SMTP_USER |
yes | — | SMTP username. |
SMTP_PASS |
yes | — | SMTP password / app password. |
SMTP_FROM |
no | SMTP_USER |
From address; must be Amazon-approved. |
KINDLE_EMAIL |
no | — | Default target if the tool arg is omitted. |
Troubleshooting
- Nothing arrives. Almost always the sender isn't on the approved list, or the Kindle address is wrong. Delivery can take a few minutes.
- SMTP auth fails. For Gmail/Outlook you need an app password with 2FA on.
- File rejected. Check every file is a supported format, that there are at most 25 of them, and that their combined size is under 50 MB.
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.