Fast.io について
Fastio CLI は Fast.io クラウドストレージ向けの Rust 製コマンドラインクライアントで、ファイル、ワークスペース、共有、共同作業を管理するユーザーや自動化処理を対象とします。内蔵の MCP モードで CLI の大半の操作を AI エージェント向けツールとして公開し、利用するツール群を選べます。
主な機能
- 01認証、組織、ワークスペース、サービスアカウントの管理
- 02ファイルの検索、アップロード、ダウンロード、管理
- 03共有、メンバー、コメント、アクティビティの管理
- 04Markdown、JSON、表形式で出力
- 05MCP サーバーの起動とツールの絞り込み
活用シーン
- 01スクリプトでクラウド上のファイル操作を自動化
- 02CI ジョブ用の API キーやサービスアカウントを設定
- 03AI エージェントから Fast.io ワークスペースを検索・操作
MCP 対応
`fastio mcp` を実行すると、stdio 経由で内蔵 MCP サーバーが起動し、CLI 操作を MCP ツールとして公開します。`--tools` でツール群を絞り込め、CLI の認証・設定オプションも引き継ぎます。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://mcp.fast.io/mcpclaude mcp add --transport http fastio_cli https://mcp.fast.io/mcp{"mcpServers":{"fastio_cli":{"type":"http","url":"https://mcp.fast.io/mcp"}}}Cursor で開く{"servers":{"fastio_cli":{"type":"http","url":"https://mcp.fast.io/mcp"}}}VS Code で開く{"mcpServers":{"fastio_cli":{"type":"http","url":"https://mcp.fast.io/mcp"}}}{"mcpServers":{"fastio_cli":{"serverUrl":"https://mcp.fast.io/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
19| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| describe_action | string | いいえ | action='describe' の場合、出力を1つの操作の全パラメーターと注記に絞り込みます(例:'status')。省略すると、簡潔な操作一覧を取得します。 |
| action | enum | はい | 操作。完全な操作リファレンスには 'describe' を使用します。describe | signin | signout | signup | check | session | status | scopes | set-api-key | email-check | email-verify | password-reset-request | password-reset | 2fa-verify | 2fa-status | 2fa-enable | 2fa-disable | 2fa-send | 2fa-verify-setup | pkce-login | pkce-complete | api-key-create | api-key-list | api-key-get | api-key-update | api-key-delete | oauth-list | oauth-details | oauth-revoke | oauth-revoke-all |
| string | いいえ | メールアドレス。 | |
| password | string | いいえ | アカウントのパスワード。 |
| api_key | string | いいえ | Fastio APIキー。 |
| code | string | いいえ | 確認コードまたは認可コード。意味は操作によって異なります。操作ごとのリファレンスについては action='describe' を参照してください(例:2fa-verify の2FAコード、password-reset のリセットコード、pkce-complete のOAuthコード)。 |
| token | string | いいえ | 2FA/確認トークン。意味は操作によって異なります。操作ごとのリファレンスについては action='describe' を参照してください(例:2FA-disableトークン、2fa-verify-setupトークン、api-key-create/api-key-delete用の2FAトークン)。 |
| expires | integer | いいえ | トークンの有効期間(秒)。 |
| first_name | string | いいえ | 名。 |
| last_name | string | いいえ | 姓。 |
| email_token | string | いいえ | メール確認コード。 |
| password1 | string | いいえ | 新しいパスワード。 |
| password2 | string | いいえ | 新しいパスワードの確認。 |
| channel | enum | いいえ | 2FAチャネル。sms | totp | whatsapp | call |
| name | string | いいえ | APIキーのラベル。 |
| key_id | string | いいえ | APIキー識別子。 |
| scopes | array | いいえ | スコープ文字列。例:['org:123:rw']。省略すると、フルアクセスになります。 |
| key_expires | string | いいえ | ISO 8601形式の有効期限日時。 |
| scope_type | enum | いいえ | PKCE スコープタイプ。デフォルトは 'user'(フルアクセス)です。user | org | workspace | all_orgs | all_workspaces | all_shares |
| agent_name | string | いいえ | 承認画面と監査ログに表示するエージェント名。 |
| session_id | string | いいえ | OAuth セッション識別子。 |
| exclude_current | boolean | いいえ | すべてのセッションを取り消す際に、現在のセッションを除外します。 |
| current_session_id | string | いいえ | 除外する現在のセッション ID。 |
詳細
fastio
Fastio クラウドストレージプラットフォーム用のコマンドラインインターフェースです。速度、信頼性、クロスプラットフォーム対応を実現するため、Rust で構築されています。
インストール
npm(推奨)
npm install -g @vividengine/fastio-cli
インストールせずに実行する場合:
npx @vividengine/fastio-cli --help
シェルスクリプト
curl -fsSL https://raw.githubusercontent.com/VEngTech/fastio_cli/main/install.sh | sh
バイナリのダウンロード
macOS、Linux、Windows 用のビルド済みバイナリは、リリースページから入手できます。
ソースからビルド
Rust 1.88 以降(edition 2024)が必要です:
cargo install --path .
クイックスタート
# Log in (opens browser for secure authentication)
fastio auth login
# Check auth status
fastio auth status
# List organizations
fastio org list
# Create a workspace
fastio workspace create --org <org_id> "My Workspace"
# Upload a file
fastio upload file --workspace <workspace_id> ./document.pdf
# Download a file
fastio download file --workspace <workspace_id> <node_id> --output ./downloads/
# Ask the AI about your workspace
fastio ai chat --workspace <workspace_id> "What files do I have?"
# Log out
fastio auth logout
認証
CLI は複数の認証方法に対応しており、次の順に確認します:
--tokenフラグ(1回限りのベアラートークン)FASTIO_TOKEN環境変数FASTIO_API_KEY環境変数--profileの保存済み認証情報(またはデフォルトプロファイル)
ブラウザーログイン(推奨)
fastio auth login
# Request an admin (`rwa`) access mode, or a read-only one
fastio auth login --admin
fastio auth login --read-only
# Also request permission to change account settings (`userdetails:*:rw`)
fastio auth login --account-settings
auth login はブラウザーで Fastio のサインインページ(アカウントで有効になっている場合は 2FA を含む)を開き、短時間だけ有効なローカルコールバックで結果を受け取ります。トークンはローカルに保存され、自動的に更新されます。
--admin と --read-only はロールではなく、上限を指定します。同意ページで、要求した範囲より少ない権限が付与される場合があります。その後 fastio auth scopes を実行すると、認証情報で実行できる操作をリアルタイムで確認できます。fastio auth status に表示されるのは、プロファイルへのサインイン時にキャッシュされたスコープのみです。
このマシンにブラウザーがない場合は、--no-browser を使用します:
fastio auth login --no-browser
これを指定すると、ブラウザーを開く代わりにサインイン URL が表示されます。任意のデバイスで URL を開いてサインインし、表示されたコードを CLI のプロンプトに貼り付けてください。
CLI からのパスワードサインインは廃止されました。サインインページで処理されます。無人実行や CI で使用する場合は、代わりに API キーを作成してください(以下を参照)。
API キー
# Create an API key
fastio auth api-key create --name "CI pipeline"
# Create one scoped to a single organization, with admin access
fastio auth api-key create --name "release bot" --org 1234567890123456789 --admin
# Use it for subsequent commands
export FASTIO_API_KEY=your-key-here
fastio org list
スコープは entity_type:entity_id:access_mode 形式の文字列で、アクセスモードには r、rw、rwa(管理者)があります。--org/--workspace/--share(複数回指定可能)と --all でエンティティを選択し、--admin/--read-only でアクセスモードを設定します。また、--account-settings を指定すると、パスワード、メールアドレス、2FA 登録の変更用に userdetails:*:rw が追加されます。rwa だけではこれらの権限は付与されません。api-key update はキーのスコープ一式を置き換えるため、実行前に fastio auth api-key get <key-id> を実行し、保持するスコープをすべて再指定してください。スコープごとにアクセスモードが異なる場合は、生の --scopes '[...]' 形式で再指定してください。--admin と --read-only はリクエスト内のすべてのエンティティに適用されるため、異なるモードの混在には対応できません。一律に --admin を指定すると、権限を引き上げたいスコープだけでなく読み取り専用スコープも管理者権限に引き上げられます。一律に --read-only を指定すると、範囲を狭めたいスコープだけでなく、書き込み可能または管理者権限のスコープも読み取り専用に引き下げられます。fastio auth oauth narrow <session-id> はログインセッションの権限を放棄し、次回のトークン更新時に反映されます。
サービスアカウントキー
人間として動作させない自動化では、ワークスペースの管理者またはオーナーがサービスアカウント(1 つのワークスペースに所属する、viewer または editor ロールの非人間メンバー)を作成し、そのキーをジョブに渡せます:
# As the admin: create the account and its first key (the secret is printed once)
fastio service-account create --workspace 1234567890123456789 --name ci-bot --role editor
# In the job: use the secret like any API key
export FASTIO_API_KEY=fio_sa_...
fastio auth status
サービスアカウントキーは、単一のワークスペースに制限されます。
ロール:viewer(読み取り、ダウンロード、検索、AI チャット)、または editor(viewer の権限に加え、アップロード、編集、移動、名前変更、ゴミ箱への移動、メタデータ、コメント)。
管理および共有操作(メンバー、招待、共有の作成、File Shares、署名、インポート、組織の変更、ファイルの完全削除やゴミ箱を空にする操作、キー/アカウント管理)を行うと、理由 service_account_not_permitted の HTTP 403 が返されます。ID の読み取り(auth status、auth check、workspace list)は可能です。また、公開共有リンクでは、リクエストが匿名の場合と同じように動作します。
シークレットは再取得できません。紛失した場合は、fastio sa key create で新しいキーを作成し、fastio sa key revoke で古いキーを取り消してください。
二要素認証
# Check 2FA status
fastio auth 2fa status
# Enable 2FA
fastio auth 2fa setup --channel totp
# Verify a pending 2FA code
fastio auth 2fa verify --code <CODE>
auth login 中の 2FA は CLI ではなく、ブラウザーのサインインページで処理されます。これらのコマンドは 2FA 設定(登録、状態、無効化)の管理に使用します。
出力形式
すべてのコマンドで --format を指定して出力を制御できます。
# Table format (default for terminals)
fastio org list
# Markdown format (default when piped; optimized for LLM consumers)
fastio org list | cat
# JSON format (for scripts that parse structured output)
fastio org list --format json
# CSV format
fastio org list --format csv
# Explicit markdown (GitHub-flavored, byte-equivalent to the server's ?output=markdown)
fastio org list --format markdown
# `--format md` is accepted as an alias
# Filter specific fields
fastio org list --fields name,id,description
2026-04-15 に、TTY 以外でのデフォルト形式が JSON から Markdown に変更されました。レンダリングされた出力は、Fastio API が ?output=markdown に対して生成する出力とバイト単位で同等です。**Result:** success|failure の前置き、オブジェクト値のエラーを先頭の # Error セクションに昇格する処理、残りの各トップレベルキーを挿入順に H1 セクションとして出力する処理が含まれます。連想レコードの配列は GFM パイプテーブル(挿入順のキーの和集合)として、スカラーのリストは箇条書きとしてレンダリングされます。
エスケープに関する注意:箇条書きの値と見出しテキストはエスケープされません。この出力は別の Markdown に埋め込むのではなく、読み取るかレンダリングすることを想定しているため、レンダラーはサーバーの仕様に合わせて最小限の処理を行います。出力を HTML にレンダリングする下流のコンシューマーはサニタイズする必要があります。レンダラーはトロイの木馬ソース攻撃への対策として、Unicode の双方向制御文字、ゼロ幅文字、C0/C1 制御文字を除去します。また、テーブルセルでは |、\、`、改行をエスケープし、HTML のようなセル内容はインラインコードフェンスで囲みます。
機械で解析可能な出力が必要なパイプラインでは、--format json を指定して JSON に戻すことができます。
コマンド
認証とユーザー
| グループ | 説明 |
|---|---|
auth | ログイン、ログアウト、2FA、API キー、OAuth セッション |
user | ユーザープロフィール、検索、アセット、招待 |
configure | CLI プロファイルと設定 |
組織とワークスペース
| グループ | 説明 |
|---|---|
org | 組織の CRUD、請求、メンバー、転送トークン、検出、アセット |
workspace | ワークスペースの CRUD、検索、制限、jobs-status(非同期ジョブのポーリング) |
member | ワークスペース/共有のメンバー管理 |
service-account | ワークスペースのサービスアカウント — API キーを使用する非人間メンバー(別名 sa):一覧表示、作成、情報表示、更新、無効化、有効化、削除、key list/create/revoke。管理者/オーナーのみ利用可能。シークレットは一度だけ表示されます |
invitation | 招待の一覧表示、承諾、辞退、削除。join はメールキーを指定して招待を承諾または辞退します |
dashboard | ワークスペースごとのダッシュボードカードフィード:取得、非表示、非表示解除 |
ファイルとストレージ
| グループ | 説明 |
|---|---|
search | 統合検索 — ワークスペースまたは共有を対象に 1 つのクエリで検索し、files/metadata/comments のバケットに分類します。「X を探す」場合はここから始めてください |
files | 一覧表示、フォルダー作成、移動、コピー、名前変更、削除、ゴミ箱、バージョン、検索(フラットなファイル一覧。--workspace または --share を指定)、content(アドレス指定可能なチャンクとして抽出したファイルのテキスト — 関連度を指定する --query、--page、--chunk-from/--chunk-to、または一度に最大 10 ファイルをスコアリングする --nodes)、ロック |
upload | ファイルのアップロード(進捗付きのチャンク分割)、テキストのアップロード、URL のインポート、セッション管理 |
download | ファイルのダウンロード(進捗付きストリーミング)、フォルダーの ZIP、バッチ |
lock | ファイルロックの取得、状態確認、ハートビート、解放 |
metadata | メタデータの抽出と検索:eligible、details、search、および単一ファイルの非同期 extract(AI クレジットを消費します — --confirm-ai-spend が必要です。--wait は終端状態になるまでポーリングします) |
共有とコラボレーション
| グループ | 説明 |
|---|---|
share | 共有の CRUD、ファイル、メンバー、パスワード認証 |
fileshare | File Shares — 単一ファイルの永続的なリンク共有(廃止された QuickShare の代替):作成/一覧表示/情報表示/更新/削除、許可、ダウンロード/バージョン/プレビュー、アップロードによる書き戻し、アクティビティ、ws-token |
comment | コメント、返信、リアクション、添付ファイル |
event | アクティビティイベント、検索、ポーリング、組織全体のストレージ変更フィード(event changes) |
preview | ファイルのプレビュー URL と変換 |
asset | 組織/ワークスペース/ユーザーのアセット管理 |
AI
| グループ | 説明 |
|---|---|
ripley | Fastio の委任型 AI エージェント — 質問、チャット、履歴、メッセージ管理、summary、transactions(ai は非表示の別名です)。--effort normal|high でメッセージごとの返信の労力を指定します。検索は Ripley の動詞ではありません — search を使用してください |
プラットフォーム
| グループ | 説明 |
|---|---|
apps | アプリの一覧表示、詳細表示、起動 |
import | クラウドインポートプロバイダー、ID、ソース、ジョブ、書き戻し |
intents | エージェントインテント — 他のエージェントが競合する前に状況を把握できるよう、実行中の操作を通知します:allocate、list、fill、get、release |
mcp | AI エージェント向けの組み込み MCP サーバーを起動 |
completions | シェル補完を生成(bash、zsh、fish、PowerShell) |
ユーティリティ
| グループ | 説明 |
|---|---|
how-to | Fastio 自体に関する、根拠に基づいた「〜するには?」形式の回答(別名 howto) |
id | Fastio 識別子をオフラインで調査(認証もネットワークも不要):ID のエンティティ型とファミリーを分類 |
view | 単一のノートまたは .md ファイルノードをターミナルにレンダリング |
skill | 組み込みのエージェントスキルガイドを表示 |
system | API のヘルスチェック:ping、status(認証不要) |
MCP サーバーモード
CLI には、AI エージェント統合用の組み込みModel Context Protocolサーバーが含まれています。サブプロセスとして実行します:
fastio mcp
これにより、CLI のアクションルーティング型ツール群が、stdio 経由の MCP ツールとして公開されます。Claude Desktop、VS Code、その他の MCP 対応クライアントと互換性があります。リスクの高い操作やローカルバイトデータを扱う一部の操作(署名の送信/無効化、ファイル共有のアップロード書き戻しと ws-token、シークレットを発行するサービスアカウント管理)は、引き続き CLI 専用です。
ツールの応答は、デフォルトで GitHub Flavored Markdown としてレンダリングされ、
Fastio API の ?output=markdown の出力とバイト単位で同等です。
Markdown は整形済み JSON より LLM のトークン効率が大幅に高いため、
MCP サーバーでは読み取りとステータスのすべての応答に使用されます。
{
"mcpServers": {
"fastio": {
"command": "fastio",
"args": ["mcp"]
}
}
}
利用可能なツールを絞り込むには:
fastio mcp --tools auth,org,workspace,files,upload,download
認証とバックエンドには、標準の CLI ルールが適用されます。サーバーはグローバルな
--api-base、--token、--profile フラグ(および FASTIO_TOKEN /
FASTIO_API_KEY 環境変数)を尊重するため、デフォルト以外のバックエンドや
プロファイルを指定できます。例:fastio --profile staging mcp または
fastio --api-base https://api.example/current mcp。
シェル補完
お使いのシェル向けのシェル補完を生成します:
# Bash
fastio completions bash > ~/.bash_completion.d/fastio
# Zsh
fastio completions zsh > ~/.zfunc/_fastio
# Fish
fastio completions fish > ~/.config/fish/completions/fastio.fish
# PowerShell
fastio completions powershell > _fastio.ps1
プロファイル
名前付きプロファイルを使って複数のアカウントを管理します:
# Set up a profile interactively
fastio configure init
# Log in to a specific profile
fastio auth login --profile work
# Use a profile for a command
fastio org list --profile work
# Set default profile
fastio configure set-default work
# List all profiles
fastio configure list
グローバルオプション
| フラグ | 説明 |
|---|---|
--format json|table|csv|markdown | 出力形式(パイプ接続時のデフォルトは markdown) |
--fields name,id,... | 出力フィールドを絞り込み |
--detail terse|standard|full | ?output=<detail> を介してサーバー側の応答詳細度を指定します。省略すると、サーバーは full 形式を返します |
--no-color | 色付き出力を無効化 |
--quiet / -q | すべての出力を抑制 |
--verbose / -v | 詳細度を上げる。繰り返し指定できます(-v は info、-vv は debug、-vvv は API 呼び出しのトレース) |
--profile <name> | 名前付きプロファイルを使用 |
--token <jwt> | 1 回限りのベアラートークン |
--api-base <url> | API ベース URL を上書き |
--version / -V | バージョンを表示(ルートコマンドのみ。例:fastio --version) |
設定
設定ファイルは、プラットフォームの設定ディレクトリ内にある fastio-cli フォルダーに保存されます。Linux では $XDG_CONFIG_HOME/fastio-cli(通常は ~/.config/fastio-cli)、macOS では ~/Library/Application Support/fastio-cli、Windows では %APPDATA%\fastio-cli です:
| ファイル | 用途 |
|---|---|
config.json | プロファイル設定と API ベース URL |
credentials.json | 保存された認証トークン |
ライセンス
Apache License 2.0。詳細は LICENSE を参照してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。