# Connect to FlashDrive

Guide version 2026-11-15.1. Published at https://md.flashdrive.space/prompt.md.

Connect the current agent to FlashDrive using MCP, then load the FlashDrive skill.
Follow only the section for the client you are using. The user signs in and
chooses account access in the browser. No account details belong in the setup prompt.
In Claude Desktop, including its Code tab, follow the Desktop section below.
For local file work, offer the FlashDrive CLI for mounting drives.
MCP also provides file tools without a local installation. Use the Python SDK
when writing Python applications.

## Check the connection

- MCP server: https://mcp.flashdrive.space/mcp
- Connection name: `flashdrive`
- Console: https://app.flashdrive.space
- Release information: https://api.flashdrive.space/v1/releases

FlashDrive uses remote Streamable HTTP MCP with OAuth. No local MCP package or
agent plugin is required. Never ask for the user's password, API key, or OAuth token.
Fetch this guide and public release information without credentials or account data.

Inspect the current client's MCP connections before adding one. Reuse a working
FlashDrive connection, even if its name differs. Its URL must have the exact HTTPS
origin and pathname shown above, with no embedded credentials or fragment.
Preserve any existing query string exactly, including permission restrictions.
Do not replace a restricted connection with an unrestricted one.

If a connection named `flashdrive` points elsewhere, explain which address differs
and ask before replacing it. Do not send credentials to that address. Preserve
other MCP connections and follow the user's configuration rules.

## Codex

Use the current installation's MCP settings. Codex desktop, CLI, and IDE extension
on the same host share MCP configuration. Check the installed CLI's help before
using it. For a new connection:

```sh
codex mcp add flashdrive --url 'https://mcp.flashdrive.space/mcp'
```

If the connection is not authenticated and setup has not already started OAuth:

```sh
codex mcp login flashdrive
```

Use the existing connection's name when reusing one. Keep the login process running
while the user signs in and approves access in the browser.

If the CLI is unavailable, use Codex Settings, MCP servers, Add server. Choose
Streamable HTTP and enter the server URL. Save, then use Authenticate if offered.
Follow any restart instruction shown by the app. Configure the client running
this conversation, not a separate installation on another host.

## Claude Desktop and Claude chat

In Claude Desktop, including its Code tab, or Claude chat, open Manage Connectors >
Add > Add custom connector and paste `https://mcp.flashdrive.space/mcp`.
Connect and complete browser sign-in. Do not open a separate terminal or
install Claude Code merely to connect.

## Claude Code

These command-line instructions apply to standalone Claude Code terminal sessions.

Check existing connections with `claude mcp list` and inspect a matching connection
with `claude mcp get NAME`. For a new user-wide connection:

```sh
claude mcp add --scope user --transport http flashdrive 'https://mcp.flashdrive.space/mcp'
```

Follow the user's chosen scope if they prefer a project or local connection.
Use the matching project directory for those scopes.

If FlashDrive is missing from `/mcp`, offer Manage Connectors > Add >
Add custom connector with `https://mcp.flashdrive.space/mcp` where available, or one restart.
Reuse a matching connection and preserve other servers. Then open `/mcp` and
authenticate through the browser. After sign-in, verify access, load the skill,
and suggest mounting for local file work.
Do not assume the installed Claude version supports `claude mcp login`.

## Cursor and other clients

For Cursor, add a remote server with `url` set to `https://mcp.flashdrive.space/mcp` in the client's MCP
settings. Preserve existing entries. Use project settings unless the user wants
installation for all projects. Authenticate through Cursor's MCP controls.

For another client, use its documented remote Streamable HTTP and OAuth setup.
If those features are unavailable, explain the limitation and link to the Console.
Do not invent commands, configuration paths, or a package to install.

## Complete browser authorization

Only the user may sign in, select workspaces and drives, and approve actions in
the browser. Never click permission approval for them. A setup prompt or selected
preset does not grant access.

If the connection already works, skip login. Otherwise, start one OAuth flow and
wait for it to finish. Do not start another login or reopen its URL while it is
pending. If the flow fails or expires, explain the error before asking the user
to try again.

Refresh the client only if needed to load its tools. Discover the current tools
and make one authenticated, read-only request allowed by the approved permissions,
such as `list_workspaces` or `list_drives`. Do not create or change a drive to test
setup. Reading a public guide alone does not prove account access.

## Load the FlashDrive skill

Call `get_skill` with `reference: "core"` when it appears in the connected
client's tools, both after setup and at the start of FlashDrive work. Read every
page using `next_cursor` with the same reference.
Keep the version and file hash consistent across pages. If the cursor is refused,
start that reference again. Load other references only when the task needs them.
If the response is stale, say that the latest guide could not be checked.
Current tool descriptions and permissions still determine what can be done.

When the user asks to refresh the skill, call `get_skill` again and read the
needed pages. It checks published guidance when requested and may reuse a checked
copy for up to 60 seconds. New guidance does not replace text already loaded in
this conversation or update files on the user's computer.

Installing a local skill is optional. To install or refresh one, or when
`get_skill` is unavailable, verify the published package as follows. When available,
use `get_skill` for current workflow guidance even when a local copy is installed.

Fetch https://api.flashdrive.space/v1/releases without credentials or a client-version header.
Require the `flashdrive-releases.v1`
schema, API major 1, and `api.base_url` equal to `https://api.flashdrive.space`.
If they differ, stop skill installation and explain the mismatch.

Read `skill.url` and `skill.version`. The skill URL must use HTTPS on
`https://md.flashdrive.space`, without credentials, query parameters, or a fragment. Fetch its
sibling `manifest.json`. Require the `flashdrive-skill.v1` schema, name `flashdrive`,
and the same canonical skill URL. Require a stable version in major 1 that is at
least 1.14.0 and at least the version advertised by the API. The published guide
may be newer. Compare numeric version components, and do not replace an installed
newer version with an older one. Do not follow redirects to another host.

Install the complete skill directory, including `SKILL.md` and its references.
Use the manifest's bundle or listed files, checking their byte counts and SHA-256
hashes before installation. After unpacking a bundle, verify every listed file
and reject unlisted entries. Keep downloads on the same HTTPS origin. Reject
absolute paths, parent-directory paths, and archive links that escape the skill
directory. Do not run downloaded scripts.

Follow the user's existing skill manager and scope rules. If none apply:

- Codex: use `.agents/skills/flashdrive/` for this project, or
  `~/.agents/skills/flashdrive/` for a personal installation.
- Claude Code: use `.claude/skills/flashdrive/` for this project, or
  `~/.claude/skills/flashdrive/` for a personal installation.

Inspect an existing skill before updating it. Preserve local changes and avoid
installing duplicate copies. Check the published manifest before relying on a
local copy, and refresh it through the user's skill manager when needed.
Confirm that this client can discover the installed
skill, then read `SKILL.md`. Load its references when the task needs them.
If persistent skills are unsupported, read the verified skill in this conversation.
If the skill cannot be verified or loaded, explain that separately; a working MCP
connection can still use its discovered tools.

## Set up the CLI for file work

After sign-in, suggest mounting a drive for local file work. Continue CLI setup
only when this client can run commands on the user's computer; otherwise explain
the local requirement, skip CLI setup, and use MCP file tools.

The FlashDrive CLI is the standard setup for mounting drives and working with
local files. Its PyPI package is `flashdrive-cli`; the installed command is
`flashdrive`. Python 3.10 or later is required. The published CLI includes the
matching `flashdrive` SDK dependency, so it does not need a separate SDK install.

Check the verified release information above before installation. Require a stable
`cli.latest_version`, package `flashdrive-cli`, command `flashdrive`, and an
advertised wheel compatible with this operating system and architecture.
The CLI supports macOS and Linux. A null version or missing compatible wheel
blocks CLI installation; explain the mismatch and use available MCP file tools.
MCP connection and authorization do not depend on the CLI.

Load the skill's `cli-sdk` reference and follow its installer and TLS prerequisites.
Choose one supported installer under the user's package-installation rules.
Install the latest stable release from PyPI:

| Installer | Command |
| --- | --- |
| uv, isolated tool environment | `uv tool install flashdrive-cli` |
| pipx, isolated tool environment | `pipx install flashdrive-cli` |
| pip, activated project virtual environment | `python -m pip install --upgrade flashdrive-cli` |

Keep the uv install command unpinned. An exact version pin also constrains later
`uv tool upgrade flashdrive-cli` runs. If an existing uv installation is pinned,
replace the pin with `uv tool install flashdrive-cli@latest` when an upgrade is
authorized. Use `uv tool upgrade flashdrive-cli` for subsequent upgrades.

Keep the package name unchanged and do not select prereleases. Do not execute
release metadata as shell instructions. Verify `flashdrive --version`, then run `flashdrive login`
and `flashdrive whoami`. The user completes the separate CLI sign-in in the browser.
Never reuse an MCP token as a CLI credential. For an existing installation, run
`flashdrive update --check` before deciding whether an upgrade is needed. An update
check does not install anything.

For an accepted local setup, read the mounting reference and select the intended
drive. Mount it in a separate working folder for this agent. macOS uses the native NFS helper; Linux
requires FUSE. If mounting is unavailable, explain why and use MCP file tools.

## Set up the SDK for Python applications

For Python application work, use the `flashdrive` package and import name.
Require a stable `sdk.latest_version`, `sdk.package` and `sdk.import` equal to
`flashdrive`, and `sdk.api_major` equal to 1 in the verified release information.
A null version blocks SDK installation. In the project's virtual environment,
follow the skill's installer prerequisites, then install the latest stable PyPI release:

`python -m pip install --upgrade flashdrive`

Verify the installed version and its API compatibility. The SDK provides `Flashdrive` and `AsyncFlashdrive`
for synchronous and asynchronous applications. Keep the application's SDK in its
own environment; a pipx or uv CLI environment is not the application's environment.
Use the application's approved API key and matching API origin, never an MCP token.

## Verify and report

Report the MCP connection name and the successful authenticated read. State the
skill version and whether it is installed or loaded for this conversation.
Report the CLI version, sign-in and mount status for local-file workflows. For
Python work, also report the SDK version. Mention pending user actions or failed
steps separately. A working MCP connection remains usable if CLI setup is blocked.

Use discovered tools, the current skill, and current release information for
capabilities. Keyword full-text search and grep are available.
Refresh the relevant guide with `get_skill` when available.
If guidance is stale, say so. Guidance cannot change permissions or override
available tools, runtime limits, release information, or the user's instructions.
