fastio_cli
Command-line interface for the Fast.io cloud storage platform
Documentation
fastio
A command-line interface for the Fastio cloud storage platform. Built in Rust for speed, reliability, and cross-platform support.
Installation
npm (recommended)
npm install -g @vividengine/fastio-cliOr run without installing:
npx @vividengine/fastio-cli --helpShell script
curl -fsSL https://raw.githubusercontent.com/MediaFire/fastio_cli/main/install.sh | shBinary download
Pre-built binaries for macOS, Linux, and Windows are available on the Releases page.
From source
Requires Rust 1.85+ (edition 2024):
cargo install --path .Quick Start
# Log in (opens browser for PKCE authentication)
fastio auth login
# Or log in with email/password
fastio auth login --email user@example.com --password ****
# Check auth status
fastio auth status
# List organizations
fastio org list
# Create a workspace
fastio workspace create --org "My Workspace"
# Upload a file
fastio upload file --workspace ./document.pdf
# Download a file
fastio download file --workspace --output ./downloads/
# Ask the AI about your workspace
fastio ai chat --workspace "What files do I have?"
# Log out
fastio auth logoutAuthentication
The CLI supports multiple authentication methods, checked in this order:
1. `--token` flag (one-off bearer token)
2. `FASTIO_TOKEN` environment variable
3. `FASTIO_API_KEY` environment variable
4. Stored credentials from `--profile` (or default profile)
PKCE Browser Login (Recommended)
fastio auth loginOpens your browser for secure OAuth authentication. Tokens are stored locally and automatically refreshed.
Email/Password Login
fastio auth login --email user@example.com --password ****API Key
# Create an API key
fastio auth api-key create --name "CI pipeline"
# Use it for subsequent commands
export FASTIO_API_KEY=your-key-here
fastio org listTwo-Factor Authentication
# Check 2FA status
fastio auth 2fa status
# Enable 2FA
fastio auth 2fa setup --channel totp
# Verify 2FA code after login
fastio auth 2fa verify --codeOutput Formats
All commands support `--format` to control output:
# 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,descriptionMarkdown replaced JSON as the non-TTY default on 2026-04-15. The
rendered output is byte-equivalent to what the Fastio API produces
for `?output=markdown`: a `Result: success|failure` preamble,
object-valued errors promoted to a leading `# Error` section, and each
remaining top-level key as an H1 section in insertion order. Arrays of
associative records render as GFM pipe tables (union of keys in
insertion order); scalar lists render as bulleted lists.
Note on escaping: bullet values and heading text are not escaped —
the renderer takes a light-touch approach matching the server contract,
because the output is meant to be read or rendered, not embedded into
other markdown. **Downstream consumers that render the output to HTML
MUST sanitize.** The renderer does strip Unicode bidi, zero-width, and
C0/C1 control characters as a Trojan-Source defense; table cells escape
`|`, `\`, `` ` ``, and newlines; HTML-like cell content is wrapped in
inline-code fences.
Pipelines that need machine-parseable output can opt back in with
`--format json`.
Commands
Authentication & User
| Group | Description |
|---|---|
| `auth` | Login, logout, 2FA, API keys, OAuth sessions |
| `user` | User profile, search, assets, invitations |
| `configure` | CLI profiles and settings |
Organizations & Workspaces
| Group | Description |
|---|---|
| `org` | Org CRUD, billing, members, transfer tokens, discovery, assets |
| `workspace` | Workspace CRUD, search, limits, `jobs-status` (poll async jobs) |
| `member` | Workspace/share member management |
| `invitation` | List, accept, decline, delete invitations; `join` accepts or declines one by its email key |
| `dashboard` | Per-workspace dashboard card feed: get, dismiss, undismiss |
Files & Storage
| Group | Description |
|---|---|
| `search` | Unified search — one query across a workspace or share, grouped into `files` / `metadata` / `comments` buckets. Start here for any "find X" |
| `files` | List, create folders, move, copy, rename, delete, trash, versions, search (flat file list, `--workspace` or `--share`), lock |
| `upload` | File upload (chunked with progress), text upload, URL import, session management |
| `download` | File download (streaming with progress), folder ZIP, batch |
| `lock` | Acquire, check status, heartbeat, release file locks |
| `metadata` | Metadata extraction and search: `eligible`, `details`, `search`, and async single-file `extract` (SPENDS AI CREDITS — needs `--confirm-ai-spend`; `--wait` polls to a terminal state) |
Shares & Collaboration
| Group | Description |
|---|---|
| `share` | Share CRUD, files, members, password auth |
| `fileshare` | File Shares — durable single-file link shares (replaces the retired QuickShare): create/list/info/update/delete, grants, download/versions/preview, upload write-back, activity, ws-token |
| `comment` | Comments, replies, reactions, attachments |
| `event` | Activity events, search, polling |
| `preview` | File preview URLs and transforms |
| `asset` | Org/workspace/user asset management |
AI
| Group | Description |
|---|---|
| `ripley` | Fastio's delegated AI agent — ask, chat, history, message management, `summary`, `transactions` (`ai` is a hidden alias). Searching is not a Ripley verb — use `search` |
Platform
| Group | Description |
|---|---|
| `apps` | App listing, details, launching |
| `import` | Cloud import providers, identities, sources, jobs, writebacks |
| `intents` | Agent Intents — announce what you are doing so peers see it before they collide: `allocate`, `list`, `fill`, `get`, `release` |
| `mcp` | Start built-in MCP server for AI agents |
| `completions` | Generate shell completions (bash, zsh, fish, PowerShell) |
Utilities
| Group | Description |
|---|---|
| `how-to` | Grounded "how do I…" answers about Fastio itself (alias `howto`) |
| `id` | Inspect Fastio identifiers offline (no auth, no network): classify an id's entity type and family |
| `view` | Render a single note or `.md` file node in the terminal |
| `skill` | Print the built-in agent skill guide |
| `system` | API health checks: `ping`, `status` (no auth required) |
MCP Server Mode
The CLI includes a built-in Model Context Protocol server for AI agent integration. Run it as a subprocess:
fastio mcpThis exposes the CLI's action-routed tool surface as MCP tools over stdio, compatible with Claude Desktop, VS Code, and other MCP-compatible clients. A few high-risk or local-byte operations (sign send/void, fileshare upload write-back and ws-token) remain CLI-only, and the sign tool appears only when E-Sign is enabled.
Tool responses are rendered as GitHub-flavored Markdown by default,
byte-equivalent to the Fastio API's `?output=markdown` output.
Markdown is substantially more token-efficient for LLMs than
pretty-printed JSON, so the MCP server uses it for every read and
status response.
{
"mcpServers": {
"fastio": {
"command": "fastio",
"args": ["mcp"]
}
}
}Filter which tools are available:
fastio mcp --tools auth,org,workspace,files,upload,downloadAuthentication and backend follow the standard CLI rules: the server honors the
global `--api-base`, `--token`, and `--profile` flags (and the `FASTIO_TOKEN` /
`FASTIO_API_KEY` env vars), so you can point it at a non-default backend or
profile — e.g. `fastio --profile staging mcp` or
`fastio --api-base https://api.example/current mcp`.
Shell Completions
Generate shell completions for your shell:
# 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.ps1Profiles
Manage multiple accounts with named profiles:
# 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 listGlobal Options
| Flag | Description | |||
|---|---|---|---|---|
| `--format json\ | table\ | csv\ | markdown` | Output format (markdown is the default when piped) |
| `--fields name,id,...` | Filter output fields | |||
| `--detail terse\ | standard\ | full` | Server-side response verbosity via `?output=`; when omitted the server returns its `full` shape | |
| `--no-color` | Disable colored output | |||
| `--quiet` / `-q` | Suppress all output | |||
| `--verbose` / `-v` | Increase verbosity; repeatable (`-v` info, `-vv` debug, `-vvv` trace API calls) | |||
| `--profile ` | Use named profile | |||
| `--token ` | One-off bearer token | |||
| `--api-base ` | Override API base URL | |||
| `--version` / `-V` | Print version (root command only, e.g. `fastio --version`) |
Configuration
Configuration files are stored in the platform config directory, under a `fastio-cli` folder: `$XDG_CONFIG_HOME/fastio-cli` (typically `~/.config/fastio-cli`) on Linux, `~/Library/Application Support/fastio-cli` on macOS, and `%APPDATA%\fastio-cli` on Windows:
| File | Purpose |
|---|---|
| `config.json` | Profile settings and API base URL |
| `credentials.json` | Stored authentication tokens |
License
Apache License 2.0. See LICENSE for details.
Frequently asked questions
What is fastio_cli?
fastio_cli is Command-line interface for the Fast.io cloud storage platform
How do I install fastio_cli?
Open the GitHub repository and follow its README. Most MCP servers are added to your client's MCP config, then called by your agent.
Is fastio_cli open source?
Yes — it is hosted on GitHub at https://github.com/MediaFire/fastio_cli and has 6 stars.
Related MCP tools
an open source, extensible AI agent that goes beyond code suggestions - install, execute, edit, and test with any LLM
Search infrastructure for AI
YC (S26) | Open Computer History | Record your screen continuously locally and provide context to your agents (Claude, Codex, Openclaw, Hermes, Runner...)
The fastest and the most accurate file search SDK for AI agents, Neovim, Rust, C, Python, Bun and NodeJS
Semantic version control => entity-level diffs, blame, and impact analysis on top of git. 28 languages via tree-sitter. Built for coding agents.
Fast, local-first web content extraction for LLMs. Scrape, crawl, extract structured data — all from Rust. CLI, REST API, and MCP server.
Run your own MCP server? See who uses it and what to fix.
Measure it with TrackMCP