htmldrop 是一个面向智能体(Agent)和人类的 HTML 发布工具,核心目标是将任意 HTML、Markdown、PDF 或图片文件在数秒内转换为可分享的链接。它无需 Git、无需构建、无需仪表盘,通过一次 API 调用即可完成发布,并内置 MCP 服务器供智能体直接调用。
用途
htmldrop 主要用于发布智能体或人类创建的各类产物,包括报告、仪表盘、图表、演示文稿等。Markdown、纯文本和 JSON 会被渲染为干净的阅读页面;PDF 和图片则按原样提供。每个发布链接都会获得独立的子域名、自动生成的 Open Graph 预览卡片以及 TTL(生存时间),确保分享的产物不会永久存在。
主要能力
- 支持 HTML、Markdown、PDF、图片等多种格式的发布。
- 每个链接拥有独立子域名和自动生成的 Open Graph 预览卡片。
- 支持 TTL 过期机制,所有产物最终都会过期。
- 可选按产物设置密码保护。
- 提供托管 MCP 服务器(https://htmldrop.link/mcp,Streamable HTTP),暴露一个工具:publish_html。
- 提供自托管 MCP 服务器包 htmldrop-mcp(npm,stdio),可发布到自有存储和域名。
- 支持通过 x-htmldrop-key 请求头传递 owner key,以获得更高的速率限制和更长的默认 TTL(x-pin-key 仍向后兼容)。
- 安全默认值:产物以 X-Robots-Tag: noindex, nofollow, noarchive 提供;新 HTML 产物使用版本化 CSP 沙箱(内联脚本可用,但外部网络请求/资源、表单、弹窗和顶层导航被阻止);按 IP 和按 key 的速率限制;可选密码保护。
使用方式
用户可以直接访问 htmldrop.link,通过拖放 HTML 文件、粘贴 HTML 源码或向 API 发送 POST 请求来发布内容。
对于智能体集成,托管 MCP 服务器位于 https://htmldrop.link/mcp(Streamable HTTP),暴露 publish_html 工具。Claude Desktop 使用 stdio,因此需要通过 mcp-remote 桥接到托管服务器,配置写在 claude_desktop_config.json 中。Cursor 可直接连接远程 MCP URL,配置写在 .cursor/mcp.json 中。Codex 的配置写在 ~/.codex/config.toml 中。
自托管实例可使用 npm 包 htmldrop-mcp,这是一个本地 stdio MCP 服务器,可发布到自有存储和域名。
完整的面向智能体的文档位于 AGENTS.md,也可通过 htmldrop.link/agents.md 访问。
自托管与部署
自托管时唯一需要设置的变量是 BASE_DOMAIN,其他变量均有可用默认值。未配置对象存储时,存储回退到本地文件系统(./data),无需数据库。
环境变量方面,任何兼容 S3 的存储都可用于 CLOUDFLARE_R2_* 变量(如 Cloudflare R2、AWS S3、MinIO 等)。在临时或容器主机上,要么使用对象存储,要么在 ./data 挂载持久卷,否则重新部署时产物会丢失。
生产环境需要一条通配符 DNS 记录(*.your-domain)指向服务器,以便产物子域名能够解析。
可部署到 Railway,然后在 Railway 仪表盘设置 BASE_DOMAIN 和(可选的)R2 变量,并附加域名及其通配符。
适用场景
htmldrop 适用于需要快速分享智能体或人类生成的 HTML 报告、仪表盘、图表、演示等内容的场景,尤其适合希望避免 Git 和构建流程、追求一键发布的用户。也适合需要为智能体提供发布能力的开发者,通过 MCP 服务器集成到 Claude Desktop、Cursor、Codex 等工具中。
限制
- 所有产物均通过 TTL 过期,不适合需要永久保存的内容。
- 新 HTML 产物默认启用 CSP 沙箱,外部网络请求、资源加载、表单、弹窗和顶层导航被阻止。
- 生产环境需要通配符 DNS 记录。
- 在临时或容器主机上,若不使用对象存储或持久卷,重新部署会导致产物丢失。
- 关于收费、价格、平台支持等更多信息,资料中暂未提供。