mcpField
Y
yafl

yafl

ローカル
github.com/yafldevファイル・ストレージ013 週間前に更新

yafl について

yafl は、マシン間のファイル転送を行う Agent 向けの MCP サーバーと CLI クライアントです。ファイルはクライアント側で暗号化され、共有リンクは最長 24 時間で失効します。

主な機能

  1. 01クライアント側の AES-256-GCM 暗号化
  2. 02ファイルやディレクトリのアップロードとリンク作成
  3. 03ファイルのダウンロードと復号
  4. 04転送状態と残り時間の確認
  5. 05共有リンクの管理、失効、メール送信

活用シーン

  1. 01ノート PC と VPS 間のファイル転送
  2. 02別々のマシンで動く Agent 間のファイル受け渡し
  3. 03一度だけ使えるリンクでのファイル共有
  4. 04セッション中の共有リンクのメール送信

MCP 対応

アップロード、ダウンロード、状態確認、転送一覧、削除、リンクのメール送信、ログイン用のツールを MCP クライアントに提供します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"dev-yafl": {
"command": "npx",
"args": [
"-y",
"@yafldev/mcp"
],
"env": {
"YAFL_API_KEY": "<YAFL_API_KEY>"
}
}
}
}
起動コマンドnpx -y @yafldev/mcp
設定が必要な環境変数
YAFL_API_KEYシークレットAPI key for authenticated transfers. Optional — omit and run `yafl login` (device flow) instead.

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npm@yafldev/mcp0.1.6

ツール

7

掲載時のツール一覧 · 2 週間前に更新

パラメーター型必須説明
pathstringはいアップロードするローカルファイルまたはディレクトリの絶対パス、または cwd からの相対パス
oneTimebooleanいいえtrue の場合、初回のダウンロード成功後にリンクは無効になり、2 回目のダウンロード試行では not_found 形式のエラーが返されます。デフォルトは false です(通常の 24 時間の有効期限までリンクは有効です)。
passwordstringいいえリンクを保護するための任意のパスワードです。クライアント側で新しい salt を使って復号キーに組み込まれ、API に送信されることはありません。設定した場合、返されたリンクの復号には同じパスワードが必要です。

詳細

YAFL — Yet Another File Layer(MCP サーバー+CLI)

AI エージェントは、1 回の MCP 呼び出しでマシン間のファイルを移動できます。クライアント側で暗号化され、リンクは 24 時間で無効になります。

このリポジトリは、YAFL のオープンソース MCP サーバーと CLI クライアントです。エージェント(Claude Desktop、Claude Code、Cursor、リモート VPS 上のエージェントを含むあらゆる MCP クライアント)が、1 回のツール呼び出しで環境間(ノート PC ↔ VPS、エージェント ↔ エージェント)にファイルを受け渡せます。人間がファイルを WeTransfer にドラッグし、リンクをコピーして回る必要はありません。ファイルはマシンから外に出る前に暗号化され、サービスが目にするのは暗号文だけです。

クライアントはオープンソースなので、ファイルにアクセスするものを正確に監査できます。YAFL サービスは yafl.dev で提供されています。

インストール

MCP クライアントの設定に YAFL を追加します:

{
  "mcpServers": {
    "yafl": {
      "command": "npx",
      "args": ["-y", "@yafldev/mcp"],
      "env": { "YAFL_API_KEY": "<your key — or leave unset and run yafl login>" }
    }
  }
}

Claude Desktop、Claude Code、Cursor、およびあらゆる MCP クライアントで動作します。Claude Desktop ユーザーは、ワンクリックで .mcpb バンドルをインストールできます。CLI を使う場合:

curl -fsSL https://yafl.dev/install.sh | sh

開始時に API キーは必要ありません。最初のツール呼び出し時に、サーバーは yafl login を案内するエラーを返します。これは RFC 8628 デバイスフローです。エージェントが短いコードを表示し、ブラウザーで承認すると、エージェント専用の取り消し可能なキーが発行されます。ヘッドレス環境向けに設計されています。npx(Node.js 18 以降)で実行でき、グローバルインストールは不要です。

ツール

ツール呼び出し機能
upload_file{ path, password?, oneTime? }クライアント側で暗号化し、暗号文をアップロードして共有リンクを返します。ディレクトリは先に ZIP 化します。オプションでパスワード層を追加できます。また、最初のダウンロード後に無効になるワンタイムリンクも利用できます。
download_file{ url, destDir?, password? }ファイルを取得して復号し、ローカルディスクに書き込みます。
get_status{ url }バイトデータをダウンロードせずに、生存状況と残りの TTL を確認します。
list_files{ limit? }呼び出し元自身の転送を、メタデータのみで一覧表示します。
delete_file{ id | url }有効期限前に、自身の転送を 1 件取り消します。
email_link{ link, recipient }共有リンクを受信者に直接メール送信します。セッションを離れずにエージェントから人間へ受け渡せます。
logindevice flowこのエージェントを認証します(RFC 8628)。エージェント専用の取り消し可能なキーが発行されます。

エラーは安定した機械可読形式です。エージェントには原因不明の 404 ではなく、expired や not_found が返されます。

暗号化の仕組み

ファイルはアップロード前に、新しく生成された AES-256-GCM キーで暗号化されます。キーは共有 URL の #fragment にのみ含まれます。ブラウザーがフラグメントをサーバーに送信することはないため、サーバーに送信、記録、保存されることはありません。オプションのリンクパスワードを設定すると、サーバーには見えない第 2 の派生レイヤーが追加されます。また、ワンタイムリンクは最初のダウンロードが成功すると自動的に無効になります。ファイルのバイトデータは、署名付き URL を介してストレージに直接送られます。アプリサーバーがファイルを処理することはなく、ストレージが受け取るのも暗号文だけです。アクセスは 24 時間で終了します。無料プランでは、1 ファイルあたり 100 MB まで利用できます。

エージェントのキーが漏えいした場合

API キーは復号キーではありません。マシンが侵害されて YAFL キーが盗まれた場合でも、攻撃者が確認できるのは、そのキー自身の転送に関する暗号文のメタデータまでです。復号キーは交換したリンクにしか存在しないため、ファイルの内容を読み取ることはできません。キーを取り消して、作業を続けてください。このため、推奨される設定はエージェントごと、マシンごとに 1 つのキーを使用することです。キーには名前を付けられ、個別に取り消せます。

リンク

ライセンス

MIT — LICENSE を参照してください。

コメント

MCP は初めてですか?

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

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