Skip to main content
Glama
BenjaminBini

send-to-kindle-mcp

by BenjaminBini

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.

Related MCP server: Send to Kindle MCP Server

Prerequisites (do this once on Amazon's side)

Send to Kindle by email silently drops anything from an unapproved sender.

  1. Find your Kindle address. Amazon → Manage Your Content and DevicesDevices → select your Kindle. It shows an address like you_abc123@kindle.com.

  2. Approve your sending email. Same page → PreferencesPersonal Document SettingsApproved Personal Document E-mail ListAdd 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.

Available Tools

1 tool
send_to_kindleA

Send a local document file (EPUB, PDF, DOCX, etc.) to a Kindle device via Amazon's Send-to-Kindle email feature. The file is emailed as an attachment to the Kindle address. NOTE: the sending email address must be on your Amazon 'Approved Personal Document E-mail List' or Amazon will silently drop the email.

ParametersJSON Schema
NameRequiredDescriptionDefault
convertNoIf true, set the subject to 'Convert' to request Amazon convert the document to Kindle format (mainly useful for PDFs). Default false.
file_pathYesAbsolute path to the document file to send to the Kindle.
kindle_emailNoTarget @kindle.com address. Defaults to the KINDLE_EMAIL env var if set.

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden. It discloses that the file is emailed as an attachment and notes silent dropping if email unapproved. However, it omits other behaviors like file size limits, conversion details, or success/failure feedback.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is exceptionally concise: two sentences plus a necessary note. Every sentence serves a purpose, with the main action front-loaded and the critical prerequisite highlighted.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (3 params, no output schema), the description covers the main behavior and a key prerequisite. However, it lacks guidance on success/error conditions, such as what happens after sending or if file path is invalid.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% (baseline 3). The description adds value by explaining the 'convert' parameter's effect on subject line and the kindle_email defaulting from env var, surpassing mere schema definitions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool sends local documents to a Kindle via email, listing supported formats. It lacks sibling differentiation, but no siblings are provided, so the purpose is clear and specific.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides a critical prerequisite (sending email must be on Amazon's approved list) but does not offer explicit guidance on when to use this tool versus alternatives or when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 1 tool updatev1.0.0
    • First observedsend_to_kindle

TDQS

A3.9/5.0

Scored across 1 tool

Disambiguation5/5

With only one tool, there is no risk of confusion between tools. The single tool's purpose is clearly distinct by default.

Naming Consistency5/5

The single tool uses a clear, descriptive snake_case name (send_to_kindle), which is consistent with common MCP naming conventions.

Tool Count4/5

A single tool is minimal but appropriate for a focused utility that performs one specific action (sending documents to Kindle). More tools could be added for auxiliary features, but the current count is reasonable.

Completeness4/5

The tool covers the core functionality of sending documents to Kindle. While it lacks additional features like managing approved senders or checking delivery status, these are not essential for the primary use case.

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables sending Markdown or EPUB content to a Kindle device via MCP. Users can send documents to their Kindle directly from Claude or any MCP client.
    334 npm
    -