justdrop について
justdropは、一時的なルームを介してAIエージェントとデバイス間でファイルを転送するMCPサーバーです。双方向の受け渡しに使え、転送はエンドツーエンド暗号化されます。受信側のデバイスにはブラウザーだけが必要です。
主な機能
- 01ファイルやフォルダーの送受信
- 02コードやリンクでルームに参加
- 03転送状況をリアルタイム表示
- 04ルームのキャンセルまたは退出
- 05設定したルート内にファイルアクセスを制限
活用シーン
- 01エージェントのレポートをスマートフォンへ送信
- 02スマートフォンのスクリーンショットを作業ディレクトリで受信
MCP 対応
MCPサーバーは `drop`、`receive`、`status`、`cancel` ツールを提供し、暗号化された一時ファイル転送ルームを作成・管理します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
npx -y justdrop-mcpJUSTDROP_ROOTThe only directory the server may read files from or save files into (root jail). Defaults to the working directory.JUSTDROP_DEFAULT_EXPIRY_MINUTESRoom lifetime in minutes when a tool call doesn't specify one (1-1440, default 60).ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
4掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| paths | array | はい | 送信するファイル/ディレクトリの絶対パスまたは相対パス |
| room_code | string | いいえ | 新しいルームを作成せず、この既存ルームに参加して送信します |
| expiry_minutes | integer | いいえ | ルームの有効期間(分、デフォルトは 60)。期限後にルームは自動的に消去されます。 |
詳細
justdrop-mcp
AI エージェントがファイルをあなたに渡せるようにします — リアルタイムで、エンドツーエンド暗号化され、何も保存されません。
justdrop-mcp は JustDrop 用の MCP(Model Context Protocol)サーバーです。エージェントがルームを作成し、あなたは QR コードをスキャンするか、任意のデバイスでリンクを開くと、ファイルが転送されます — マシンから送信される前に暗号化され、あなたのデバイスでのみ復号され、ルームが閉じると消去されます。どちらもアカウントは不要です。受信側のデバイスには何もインストールする必要がなく、ブラウザーだけで利用できます。
You: "drop dist/report.pdf to my phone"
Agent: Room code: brave-otter-4821
Link: https://justdrop.ai/app#join=brave-otter-4821
[QR code]
You: *scan, tap, done — the room self-destructs*
逆方向の転送にも対応しています。「スマートフォンからスクリーンショットを取って」と指示すると QR コードが表示され、スマートフォンからドロップしたファイルは復号されて作業ディレクトリに保存されます。エージェントはそのファイルを使って作業を続けます。
インストール
Node.js 20 以降が必要です。
claude mcp add justdrop -- npx -y justdrop-mcp
または、.mcp.json/任意の MCP クライアント設定に以下を追加します。
{
"mcpServers": {
"justdrop": {
"command": "npx",
"args": ["-y", "justdrop-mcp"],
"env": {
"JUSTDROP_ROOT": "C:/path/to/allowed/folder"
}
}
}
}
ツール
| ツール | 機能 |
|---|---|
drop | ファイル/フォルダーを送信します。ルームコード、リンク、QR コードをすぐに返し、受信側がリンクを開くと自動的に転送します。既存のルームに送信するには、room_code を指定します。 |
receive | ファイルをディレクトリに受信します。ルーム(コード、リンク、QR コード)を作成し、そこにドロップされたファイルを自動的に復号して保存します。他のユーザーが作成したルームに参加するには、room_code を指定します。 |
status | リアルタイムの進捗状況を表示します。ピアの接続状況、ファイルごとの状態、保存先のパスを確認できます。 |
cancel | このセッションで作成したルームを破棄します(ファイルとメタデータを削除)。または、参加したルームから退出します。 |
設定
| 環境変数 | デフォルト値 | 説明 |
|---|---|---|
JUSTDROP_BASE_URL | https://justdrop.ai | 接続先のバックエンドです(ローカル開発では http://localhost:3000 を指定します)。 |
JUSTDROP_ROOT | サーバーの作業ディレクトリ | サーバーが読み取り/保存できる唯一のディレクトリです。 |
JUSTDROP_DEFAULT_EXPIRY_MINUTES | 60 | ツールで指定しない場合のルームの有効期間です(1〜1440)。 |
安全性モデル
ローカルファイルを読み取る MCP サーバーはプロンプトインジェクションの標的になり得るため、安全対策は単なるお願いではなく、構造によって保証されています。
- ルートディレクトリによる制限 — 送信または保存するすべてのパスは、
JUSTDROP_ROOT内に解決される必要があります。それ以外は拒否されます。 - 認証情報の拒否 — ドットファイル(
.env、.npmrcなど)、SSH/TLS キー、キーストア、クラウド認証情報ファイル、シェル履歴は、明示的に指定された場合でも送信されません。これを上書きするフラグはありません。 - 明示的なマニフェスト —
dropの結果には、送信対象としてキューに追加されたファイルがすべて明記されるため、何が送信されるかをユーザーが確認できます。 - サーバー側のブロックリストとの整合性 — JustDrop が拒否する拡張子(
.exe、.batなど)は事前に拒否され、代わりに ZIP 形式で圧縮するよう案内されます。 - デフォルトで一時的 — ルームには有効期限が設定され(デフォルトは 60 分)、配信後に自動的に消去されます。
転送の仕組み
dropはルームを作成し、RSA-2048 公開鍵を登録します。ツールはコード、リンク、QR コードをすぐに返します。- 受信側がリンクを開くと、そのブラウザーは独自の鍵を登録します。ルームは設計上 1 対 1 です。ルームコードは秘密情報として扱ってください。
- 各ファイルには新しい AES-256-GCM キーが割り当てられ、双方の RSA キーを使って暗号化されます。暗号化されたデータは、有効期間の短い署名付き URL を介して中継されます。中継サーバーが平文やキーを見ることはありません。
- 配信状況はリアルタイムで確認できます。配信後、ルームとその中のすべてのデータが破棄されます。
ファイルはメモリ上で一括して暗号化されます(ウェブアプリと同じ形式)。そのため、非常に大きなファイルには、それに応じた RAM が必要です。ファイルあたりの上限は 2GB です。
ローカル開発
npm install
npm run verify # builds, boots ../justdrop-simple dev server, runs both test suites
# or piecewise, against a server you started yourself:
npm run build
node test/e2e.mjs http://localhost:3000 # core roundtrip (both directions + SSE)
node test/mcp-smoke.mjs http://localhost:3000 # full MCP stdio protocol exercise
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。