mcpField
H
htmldrop

htmldrop

リモート
htmldrop.linkファイル・ストレージ1313 週間前に更新
リポジトリ公式サイト

htmldrop について

htmldropは、HTML、Markdown、PDF、画像を共有リンクとして公開するサービスです。Agentや人が作成した成果物を共有でき、リンクには個別のサブドメインや有効期限、パスワードを設定できます。

主な機能

  1. 01HTML、Markdown、PDF、画像の公開
  2. 02Markdown、テキスト、JSONの閲覧ページ化
  3. 03Open Graphプレビューカードの生成
  4. 04有効期限とパスワードの設定
  5. 05REST APIとセルフホストへの対応

活用シーン

  1. 01Agentが作成したレポートやチャートの共有
  2. 02リンクで閲覧できるデモの公開
  3. 03共有ファイルへの期限やパスワードの設定

MCP 対応

https://htmldrop.link/mcp のホスト型MCP サーバーは、HTML、Markdown、リモートページを公開する publish_html ツールを提供します。

設定

リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。

エンドポイントhttps://htmldrop.link/mcp
インストールコマンドをコピー
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。

ツール

1
パラメーター型必須説明
urlstringいいえ取得して公開する HTML ページの URL。html、markdown、url のいずれかを指定してください。
htmlstringいいえ公開する HTML コンテンツ。html、markdown、url のいずれかを指定してください。
titlestringいいえ公開する成果物の任意のページタイトル。
markdownstringいいえ公開する Markdown コンテンツ。スタイル付きのリーダーページにレンダリングされます。html、markdown、url のいずれかを指定してください。
passwordstringいいえ成果物を保護するための任意のパスワード。
ttl_daysnumberいいえ任意のカスタム TTL(日数)。匿名ティアのデフォルトは 7 日です。
owner_keystringいいえ上限の引き上げと所有権の確立に使用する任意の所有者キー。

詳細

htmldrop のロゴ

htmldrop

エージェント向けに何でも公開できます — API を 1 回呼び出すだけ。MCP サーバーも含まれています。

htmldrop.link CI npm MIT

英語 · 한국어 · 日本語 · 简体中文 · Español · Français · Deutsch


htmldrop を使えば、HTML、Markdown、PDF、画像のあらゆる成果物を、数秒で共有可能なリンクにできます。レポート、ダッシュボード、グラフ、デモなど、エージェント(または人間)が作成したものなら何でも共有できます。Markdown、テキスト、JSON は見やすいリーダーページにレンダリングされ、PDF と画像はそのまま配信されます。Git もビルドもダッシュボードも不要です。

今すぐお試しください:htmldrop.link — HTML ファイルをドラッグ&ドロップするか、HTML ソースを貼り付けるか、API に POST してください。

仕組み

curl -X POST https://htmldrop.link/publish \
  -H "Content-Type: application/json" \
  -d '{"html":"<h1>Hello agents</h1>","title":"Demo"}'
{
  "url": "https://happy-otter-42.htmldrop.link",
  "id": "...",
  "subdomain": "happy-otter-42",
  "expires_at": "2026-07-17T00:00:00.000Z"
}

各リンクには専用のサブドメイン、自動生成される Open Graph プレビューカード、有効期限(TTL)が設定されます。共有された成果物が永久に残ることはありません。

エージェントを接続する(MCP)

ホスト型 MCP サーバーは https://htmldrop.link/mcp(Streamable HTTP)で利用でき、1 つのツール publish_html を公開します。

Claude Code
claude mcp add --transport http htmldrop https://htmldrop.link/mcp
Claude Desktop

Claude Desktop は stdio を使用するため、mcp-remote を使ってホスト型サーバーに接続します。claude_desktop_config.json に以下を記述します。

{
  "mcpServers": {
    "htmldrop": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://htmldrop.link/mcp"]
    }
  }
}
Cursor

Cursor はリモート MCP URL に直接接続します。.cursor/mcp.json に以下を記述します。

{
  "mcpServers": {
    "htmldrop": { "url": "https://htmldrop.link/mcp" }
  }
}
Codex CLI

~/.codex/config.toml に以下を記述します。

[mcp_servers.htmldrop]
command = "npx"
args = ["-y", "mcp-remote", "https://htmldrop.link/mcp"]
セルフホストのインスタンス(npm、stdio)

独自の htmldrop を実行していますか?htmldrop-mcp パッケージは、お客様のストレージとドメインに公開する、ローカルの stdio MCP サーバーです。

{
  "mcpServers": {
    "htmldrop": {
      "command": "npx",
      "args": ["-y", "htmldrop-mcp"],
      "env": {
        "BASE_DOMAIN": "your-domain.example",
        "CLOUDFLARE_R2_ENDPOINT": "...",
        "CLOUDFLARE_R2_ACCESS_KEY_ID": "...",
        "CLOUDFLARE_R2_SECRET_ACCESS_KEY": "...",
        "CLOUDFLARE_R2_BUCKET_NAME": "..."
      }
    }
  }
}
publish_html ツール
引数型説明
htmlstring公開する HTML コンテンツ(または markdown / url を使用)
markdownstringMarkdown コンテンツ — スタイル付きリーダーページにレンダリングされます
urlstring取得して公開するリモート HTML ページ
titlestringメタデータとソーシャルカードに使用する任意のタイトル
ttl_daysnumber成果物が期限切れになるまでの日数
passwordstring任意のパスワード保護
owner_keystringより高い上限と長い TTL を利用するための任意のキー

エージェント向けドキュメントの全文は AGENTS.md にあります。また、htmldrop.link/agents.md でも公開されています。

REST API

エンドポイント本文備考
POST /publishJSON { html | markdown, title, ttl_days, password, url }主なエンドポイント
POST /publish/rawraw body: text/html, text/markdown, text/plain, application/json, text/csv, application/pdf, image/*タイトルは x-htmldrop-title ヘッダーまたは ?title= で指定
POST /publish/from-urlJSON { url, title, ttl_days, password }ページを取得して再公開します

より高いレート制限と長いデフォルト TTL を利用するには、x-htmldrop-key ヘッダーに owner key を指定してください。(後方互換性のため、x-pin-key も引き続き使用できます。)

セルフホスト

git clone https://github.com/vin-spiegel/htmldrop.git
cd htmldrop
pnpm install
cp .env.example .env   # defaults work out of the box
pnpm dev               # http://localhost:3000

設定が必要な変数は BASE_DOMAIN だけです。 それ以外はすべて、動作するデフォルト値が設定されています。オブジェクトストアが設定されていない場合、ストレージはローカルファイルシステム(./data)にフォールバックするため、データベースは不要です。

環境変数
変数デフォルト値説明
BASE_DOMAINlocalhostアーティファクトのサブドメインに使用するベースドメインです。セルフホストする場合、ほとんどの方が設定する必要がある唯一の値です。
PORT3000HTTP ポート(通常はホスティング環境によって設定されます)
NODE_ENVdevelopmentデプロイ時は production に設定します
CLOUDFLARE_R2_ENDPOINT—S3 互換エンドポイントです。オブジェクトストレージを使用する場合は R2 関連の 4 つの変数をすべて設定し、ファイルシステムを使用する場合はすべて空欄にします
CLOUDFLARE_R2_ACCESS_KEY_ID—オブジェクトストレージのアクセスキー
CLOUDFLARE_R2_SECRET_ACCESS_KEY—オブジェクトストレージのシークレットキー
CLOUDFLARE_R2_BUCKET_NAME—バケット名
ANON_TTL_DAYS7匿名で公開した場合の TTL
KEY_TTL_DAYS30キーを使用して公開した場合の TTL
MAX_HTML_SIZE_BYTES26214400アップロード上限(25 MiB)
RATE_LIMIT_ANON_PER_MINUTE10IP ごとのレート制限
RATE_LIMIT_KEY_PER_MINUTE60オーナーキーごとのレート制限

CLOUDFLARE_R2_* 変数は、どの S3 互換ストレージでも使用できます(Cloudflare R2、AWS S3、MinIO など)。エフェメラルな環境やコンテナ環境では、オブジェクトストレージを使用するか、 ./data に永続ボリュームをマウントしてください。そうしないと、再デプロイ時にアーティファクトが失われます。

本番環境では、アーティファクトのサブドメインをサーバーに向けるワイルドカード DNS レコード(*.your-domain)が必要です。

Railway にデプロイする
railway login
railway init --name htmldrop
railway up

次に、Railway のダッシュボードで BASE_DOMAIN と(任意で)R2 変数を設定し、ドメインとそのワイルドカードを紐付けます。

安全性に関するデフォルト設定

  • アーティファクトは X-Robots-Tag: noindex, nofollow, noarchive を付けて配信されます
  • 新しい HTML アーティファクトでは、バージョン管理された CSP サンドボックスを使用します。インラインスクリプトは動作しますが、外部ネットワークリクエスト/アセット、フォーム、ポップアップ、トップレベルのナビゲーションはブロックされます
  • IP およびキーごとのレート制限
  • すべてのデータは TTL により期限切れになります
  • アーティファクトごとに任意でパスワードを設定できます

脆弱性や不正利用の報告については、SECURITY.md をご覧ください。

開発

pnpm dev        # run with tsx
pnpm test       # vitest
pnpm run build  # tsc -> dist/

ライセンス

MIT

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。