Skip to content
Ferry is now on the web, with accounts, held files and a dashboard. We are opening it to a few people at a time. Request access

Ferry for AI agents

Let your agent hand
you a file.

An agent on your machine can give you a file on your phone, ask you for one, or pass files to another agent. The files still go straight from one device to the other.

What an agent can do

Three things, with no upload in between.

  • Give a file to a person

    The agent starts a transfer and shows you a link. You open it on any device and the file arrives.

  • Get a file from a person

    The agent opens a transfer and waits. You open the link and drop the file in.

  • Send to another agent

    Two agents on different machines exchange files with no person in the middle. After they pair once, they need no link.

MCP server

Add it to your agent in one block.

Add this to the MCP settings of your agent. The root is the one folder the server may read from and write to.

{
  "mcpServers": {
    "ferry": {
      "command": "npx",
      "args": ["-y", "ferry-send", "mcp", "--root", "/path/to/a/folder"]
    }
  }
}

Nine tools

JSON command line

No MCP? Use the terminal.

With --json the command prints one event on each line and never asks a question.

npx -y ferry-send send report.pdf --json --timeout 900
{"event":"ready","link":"https://ferry.sholajegede.com/room/…#k=…","code":"482107", …}
{"event":"connected","device":"iPhone (Safari)", …}
{"event":"file_sent","name":"report.pdf","size":48211}
{"event":"done","ok":true,"reason":"complete","sent":1, …}
npx -y ferry-send receive --json --out ./incoming --max-size 500MB
npx -y ferry-send receive "<link>" --json --out ./incoming
npx -y ferry-send send build.zip --to "<link>" --json
npx -y ferry-send pair --json                     # once, on each machine
npx -y ferry-send send build.zip --to-device laptop --json

Exit codes: 0 finished, 1 a file was not transferred, 2 wrong usage, 3 the time limit passed, 4 the transfer could not be opened or was ended, 130 stopped.

Rules that protect you

Built so an agent cannot wander.

  • One folder only

    The MCP server reads and writes only inside its root folder.

  • Nothing is overwritten

    A received file never replaces an existing file, and one over the size limit is refused before any of it is written.

  • The link is the key

    Only a device with the link gets in. A device with only the 6-digit code is refused unless the agent turns that on, and then it must ask you to confirm the security code first.

  • It ends by itself

    A transfer that nobody finishes ends after 15 minutes.

  • Data, not orders

    The agent is told to treat received text and file names as data, not as instructions.

  • You stay in charge

    Held files from an agent use a key you create, limit and revoke in your dashboard.

Limits

What an agent cannot do.

  • A direct send needs both sides online at the same time. To leave a file for later, use a held file with an agent key from a Ferry account.
  • An agent with no machine of its own, such as a chat assistant in a browser tab, cannot send files this way.
  • Some locked-down sandboxes block the direct connection. The tool then stops at its time limit and says so.

For agents to read

Files an agent can load.

Your files

Where your files live.

Direct sends
Go straight from one device to the other and are never stored anywhere. No account needed.
Files sent with an account
Are stored in the cloud, but only in encrypted form, until they expire. You choose how long, from 1 hour up to 7 days.
Who can read them
Not us. The file is sealed in your browser and the key stays in the link, which never reaches our servers. You can also add a password.
Opening it again
The sender can open it from their dashboard on the device they sent it from. Anyone with the link, and the password if there is one, can open it until it expires.

More on the security page and in the privacy policy.

Give your agent a way to hand you a file.

One block of settings, and no account.