{"_id":"@benbini/send-to-kindle-mcp","name":"@benbini/send-to-kindle-mcp","dist-tags":{"latest":"1.0.0"},"versions":{"1.0.0":{"name":"@benbini/send-to-kindle-mcp","version":"1.0.0","publishConfig":{"access":"public"},"description":"MCP server that sends EPUB (and other supported document) files to a Kindle device via Amazon's Send-to-Kindle email feature.","type":"module","license":"MIT","author":{"name":"Benjamin Bini"},"homepage":"https://github.com/BenjaminBini/send-to-kindle-mcp#readme","repository":{"type":"git","url":"git+https://github.com/BenjaminBini/send-to-kindle-mcp.git"},"bugs":{"url":"https://github.com/BenjaminBini/send-to-kindle-mcp/issues"},"keywords":["mcp","model-context-protocol","kindle","send-to-kindle","epub","ebook","amazon"],"bin":{"send-to-kindle-mcp":"dist/index.js"},"scripts":{"build":"tsc","watch":"tsc --watch","start":"node dist/index.js","dev":"tsc && node dist/index.js","prepublishOnly":"npm run build"},"dependencies":{"@modelcontextprotocol/sdk":"^1.12.0","nodemailer":"^6.9.16","zod":"^3.24.1"},"devDependencies":{"@types/node":"^22.10.0","@types/nodemailer":"^6.4.17","typescript":"^5.7.2"},"engines":{"node":">=18"},"_id":"@benbini/send-to-kindle-mcp@1.0.0","gitHead":"c19b910d57ee7b71b3cb3b0193177ec75d2e856e","_nodeVersion":"22.11.0","_npmVersion":"10.9.0","dist":{"integrity":"sha512-PemTZ3BzLXqRzM3WyAAOWc7hFoIPZ20RL10ndOfC/ykGfY4k4Lw5BwfUXDSFJa5myYdUHjKJMhccV2HNpABMEw==","shasum":"e6f29f619d834b960108f0029fd0b6ee9c736ad0","tarball":"https://registry.npmjs.org/@benbini/send-to-kindle-mcp/-/send-to-kindle-mcp-1.0.0.tgz","fileCount":4,"unpackedSize":14799,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIBpcAfJ1lyUCSgFEroXQnsy/EhXyGiuce90/qHaA+RVnAiEA0oSIvnRTpwI1e4OXBkI+wOpqaoltru6Bh6aBHaCXdi8="}]},"_npmUser":{"name":"benjaminbini","email":"benjamin@bini.io"},"directories":{},"maintainers":[{"name":"benjaminbini","email":"benjamin@bini.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/send-to-kindle-mcp_1.0.0_1782683455760_0.3528603626293154"},"_hasShrinkwrap":false}},"time":{"created":"2026-06-28T21:50:55.583Z","1.0.0":"2026-06-28T21:50:55.881Z","modified":"2026-06-28T21:50:56.183Z"},"maintainers":[{"name":"benjaminbini","email":"benjamin@bini.io"}],"description":"MCP server that sends EPUB (and other supported document) files to a Kindle device via Amazon's Send-to-Kindle email feature.","homepage":"https://github.com/BenjaminBini/send-to-kindle-mcp#readme","keywords":["mcp","model-context-protocol","kindle","send-to-kindle","epub","ebook","amazon"],"repository":{"type":"git","url":"git+https://github.com/BenjaminBini/send-to-kindle-mcp.git"},"author":{"name":"Benjamin Bini"},"bugs":{"url":"https://github.com/BenjaminBini/send-to-kindle-mcp/issues"},"license":"MIT","readme":"# send-to-kindle-mcp\n\nAn [MCP](https://modelcontextprotocol.io) server that sends document files\n(EPUB, PDF, TXT, …) to your Kindle using Amazon's **Send to Kindle** email\nfeature. The file is emailed as an attachment to your device's `@kindle.com`\naddress.\n\n## Tool\n\n### `send_to_kindle`\n\n| Argument       | Type       | Required | Description |\n| -------------- | ---------- | -------- | ----------- |\n| `file_paths`   | string[]   | yes      | Absolute paths of the document files to send (1–25 files). |\n| `kindle_email` | string     | no       | Target `@kindle.com` address. Falls back to the `KINDLE_EMAIL` env var. |\n\nAll files are sent as attachments in a single email. Amazon's limits: up to\n**25 attachments** and **50 MB combined** per email.\n\nSupported formats: `.epub`, `.pdf`, `.txt`, `.rtf`, `.htm`, `.html`, `.png`,\n`.gif`, `.jpg`, `.jpeg`, `.bmp`.\n\n## Prerequisites (do this once on Amazon's side)\n\nSend to Kindle by email **silently drops** anything from an unapproved sender.\n\n1. **Find your Kindle address.** Amazon → *Manage Your Content and Devices* →\n   *Devices* → select your Kindle. It shows an address like\n   `you_abc123@kindle.com`.\n2. **Approve your sending email.** Same page → *Preferences* →\n   *Personal Document Settings* → *Approved Personal Document E-mail List* →\n   *Add a new approved e-mail address*. Add the address you'll send **from**\n   (your `SMTP_FROM` / `SMTP_USER`).\n\nEPUB is supported natively (Amazon converts it to a Kindle format on receipt).\n\n## Install\n\nNo clone or build needed — the server runs via `npx` straight from npm:\n\n```bash\nnpx @benbini/send-to-kindle-mcp\n```\n\n(Your MCP client launches it for you using the config below; you don't normally\nrun this by hand.)\n\n### Gmail note\n\nUse an **App Password**, not your account password: Google Account → Security →\n2-Step Verification → App passwords. Host `smtp.gmail.com`, port `587`.\n\n## Register with an MCP client\n\n### Claude Code\n\n```bash\nclaude mcp add send-to-kindle \\\n  --env SMTP_HOST=smtp.gmail.com \\\n  --env SMTP_PORT=587 \\\n  --env SMTP_USER=you@gmail.com \\\n  --env SMTP_PASS=your-app-password \\\n  --env SMTP_FROM=you@gmail.com \\\n  --env KINDLE_EMAIL=you_abc123@kindle.com \\\n  -- npx -y @benbini/send-to-kindle-mcp\n```\n\n### Generic `mcpServers` JSON (Claude Desktop, Cursor, etc.)\n\n```json\n{\n  \"mcpServers\": {\n    \"send-to-kindle\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@benbini/send-to-kindle-mcp\"],\n      \"env\": {\n        \"SMTP_HOST\": \"smtp.gmail.com\",\n        \"SMTP_PORT\": \"587\",\n        \"SMTP_USER\": \"you@gmail.com\",\n        \"SMTP_PASS\": \"your-app-password\",\n        \"SMTP_FROM\": \"you@gmail.com\",\n        \"KINDLE_EMAIL\": \"you_abc123@kindle.com\"\n      }\n    }\n  }\n}\n```\n\n### From source (development)\n\n```bash\ngit clone https://github.com/BenjaminBini/send-to-kindle-mcp.git\ncd send-to-kindle-mcp\nnpm install\nnpm run build\n```\n\nThen point your client's `command`/`args` at `node /path/to/dist/index.js`.\n\n## Environment variables\n\n| Variable      | Required | Default                         | Notes |\n| ------------- | -------- | ------------------------------- | ----- |\n| `SMTP_HOST`   | yes      | —                               | SMTP server hostname. |\n| `SMTP_PORT`   | no       | `587`                           | SMTP port. |\n| `SMTP_SECURE` | no       | `true` if port 465, else `false`| Force TLS-on-connect. |\n| `SMTP_USER`   | yes      | —                               | SMTP username. |\n| `SMTP_PASS`   | yes      | —                               | SMTP password / app password. |\n| `SMTP_FROM`   | no       | `SMTP_USER`                     | From address; must be Amazon-approved. |\n| `KINDLE_EMAIL`| no       | —                               | Default target if the tool arg is omitted. |\n\n## Troubleshooting\n\n- **Nothing arrives.** Almost always the sender isn't on the approved list, or\n  the Kindle address is wrong. Delivery can take a few minutes.\n- **SMTP auth fails.** For Gmail/Outlook you need an app password with 2FA on.\n- **File rejected.** Check every file is a supported format, that there are at\n  most 25 of them, and that their combined size is under 50 MB.\n","readmeFilename":"README.md","_rev":"1-fbcd6d20ec5a530f3689c17d268490dc"}