Token导航 LogoToken导航TokenDH.com
MCP Kindle logo
文档知识stdio官方级别未说明来源级核验

MCP Kindle

MCP Server

MCP服务器将Markdown或HTML转换为EPUB格式,并通过Gmail SMTP发送至Kindle设备。

工具数

2

提示词数

0

GitHub Stars

0

资源数

0
文档转换Python文档处理

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

format37

提供方

format37

最后核验

2026/5/17 20:21

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

python examples/send_email.py

详细介绍

mcp kindle

MCP服务器,将markdown或HTML转换为EPUB,并通过Gmail SMTP将其发送到Kindle设备。

MCP工具

两个工具,一个Kindle:

  • send_to_kindle --降价→ EPUB → 电子邮件。用于散文风格的内容。
  • send_html_to_kindle --HTML→ EPUB → 电子邮件。需要时使用

桌子与 rowspan/colspan, `, ,内联 , //`,或任何其他布局功能markdown都不能 快递。

两者都接受可选 title (摘录自 # heading / ` / 第一 ` 如果省略)。

data/ 文件夹——图像如何进入

这两个工具都通过一个共享的主机目录嵌入图像。图像字节数 切勿在MCP调用内移动(HTML工具的可选功能除外 data: URI通道——见下文)。文件夹是唯一的文件通道。

主机路径(绝对): /home/alex/projects/mcp-kindle/data/ 容器路径: /app/data/ (绑定从上面的主机路径装载 通过 ./data:/app/data 体积 )

主机路径为 在两个工具文档字符串中都硬编码 所以LLM代理 在调用MCP之前,确切地知道在哪里写入图像文件。如果你 将此仓库克隆到其他位置,更新两者中的路径 send_to_kindlesend_html_to_kindle 文档字符串在 backend/main.py (搜索 /home/alex/projects/mcp-kindle/data/),然后重建容器。

工作流程 对于每张图片:

  1. 将图像文件保存到 /home/alex/projects/mcp-kindle/data/.
  2. 使用文件名约定 {YYYYMMDD_HHMMSS}_{8hex}.{ext} --例如。

20260512_143022_a1b2c3d4.png文件名对服务器不透明; 它只需要是唯一的,以避免代理运行之间的冲突。

  1. 参考人 裸文件名 从文档正文(无路径

前缀,无绝对路径,无URL): - Markdown: ![alt](20260512_143022_a1b2c3d4.png) - HTML: ``

支持的文件扩展名: png, jpg, jpeg, gif, webp.基于文件 SVG是 支持--对于矢量图形,使用内联 ` 在 HTML正文(见下文)。图像解析器受路径遍历保护: ../, 数据文件夹外的绝对路径、NUL字节, http(s)://` URL, 丢失的文件都悄无声息地掉了下来。

附加图像通道(仅限 send_html_to_kindle)

  • 内联 data: 统一资源标识符 — ``.

支持的MIME类型: image/png, image/jpeg, image/gif, image/webp. image/svg+xml 数据URI是 拒绝 (我们没有 净化SVG字节)。

  • 内联 ... 在文档正文中--正确的方法

嵌入矢量图。SVG与其余部分一起进行消毒 HTML。

  • 内联PlantUML --将图表源代码包装在

@startuml ... @enduml .服务器 通过以下方式将每个块渲染为PNG plantuml.jar 并替换为 ` 在转换时,代理编写一个自包含的 文件。逃脱 在街区内 < / > (PlantUML使用 ->, ).所有PlantUML 支持图表族(类、序列、活动、状态、, 用例、组件、部署、ER、思维导图、甘特图)。渲染失败 从工具中引发错误--修复源并重新发送。对于 序列图,首选 note over X : ... 过度自我信息 箭 X -> X` (自循环呈现得含糊不清)。

外部 http(s):// 不获取图像URL;这 src 被剥光了 因此,在查看时获取的渲染器不会泄露阅读器的IP。

Kindle是BW

目的地是一个黑白电子墨水显示器。在中渲染图像 灰度,依赖于着色、阴影、线条样式或标签 而不是颜色编码。

设置

1.Gmail应用程序密码

  1. 打开https://myaccount.google.com/apppasswords
  2. 登录并生成新的应用程序密码
  3. 在中使用生成的16个字符的密码 .env

2.环境

创建 .env 在项目根目录中:

SENDER_EMAIL=your_email@gmail.com
GMAIL_APP_PASS="your 16char app password"
RECIPIENT_EMAIL=your_kindle_email@kindle.com
MCP_TOKENS=your_secure_token_here
MCP_PUBLIC_BASE_URL=https://your-domain.example.com
MCP_PUBLIC_LINK_TOKEN=your_secure_token_here

注:报价 GMAIL_APP_PASS 如果它包含空格。

3.Docker

./compose.sh

健康检查: curl http://localhost:8018/health

4.Caddy(反向代理)

添加到您的Caddyfile:

handle /kindle* {
    reverse_proxy mcp-kindle:8018
}

MCP端点: https://your-domain.example.com/kindle//

例子

通过电子邮件发送文本文件

python examples/send_email.py

编辑 examples/send_email.py 设置发件人电子邮件、应用程序密码、收件人和附件路径。

目录标签

目录标签

文档转换Python文档处理本地部署EPUB生成Kindle服务Markdown处理HTML处理

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

token

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

2

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiotoken部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP