
# Retyc CLI
> Official command-line interface for [Retyc](https://retyc.com) - send transfers and manage datarooms directly from
> your terminal. With **[RetycFS](doc/retycfs.md)**, mount your datarooms as a local folder on Linux. Also runs as a
> local **[MCP server](doc/mcp.md)**: connect your AI agent and control Retyc in plain language.
---
## What is Retyc?
[Retyc](https://retyc.com) is a European sovereign file-sharing platform with end-to-end post-quantum encryption. Data
stays in Europe, GDPR-compliant by design.
`retyc-cli` lets you integrate Retyc transfers and datarooms into your scripts, pipelines, and workflows - no browser
required.
---
## Installation
### Pre-compiled binaries (recommended)
Download the binary for your platform from the [latest release](https://github.com/retyc/retyc-cli/releases/latest).
### With `go install`
```sh
go install -tags prod github.com/retyc/retyc-cli@latest
```
### From source
```sh
git clone https://github.com/retyc/retyc-cli.git
cd retyc-cli
go build -tags prod -ldflags "-X github.com/retyc/retyc-cli/cmd.Version=$(git describe --tags --always)" -o retyc .
```
### With Docker
```sh
# Docker Hub
docker pull retyc/retyc-cli:latest
# GitHub Container Registry
docker pull ghcr.io/retyc/retyc-cli:latest
```
---
## Quick start
```sh
# 1. Authenticate (opens a browser tab, no password stored)
retyc auth login
# 2. Send a file
retyc transfer create report.pdf
# 3. List your transfers
retyc transfer ls
# 4. Download a transfer
retyc transfer download
```
---
## Security
- **Authentication**: OIDC device flow (no password ever stored locally)
- **File data + metadata**: end-to-end encrypted with [AGE](https://github.com/FiloSottile/age) post-quantum hybrid keys
- **Private key caching** (Linux only): the decrypted AGE identity is stored in the kernel session keyring and is never
written to disk. It is scoped to the current terminal session, isolated from other users and sessions, and uses a
sliding TTL (default: 60 seconds). Each access refreshes the expiration timer.
- **Transport**: TLS enforced by default
---
## MCP Server
`retyc-cli` runs as a [Model Context Protocol](https://modelcontextprotocol.io) server — connect it to your AI agent and
control Retyc in plain language:
> *"Create a dataroom called 'Release v2', upload ./dist/, and add alice@example.com as editor."*
> *"Send all PDFs in ./reports/ to bob@example.com, expire in 7 days."*
> *"List my latest transfers and download the most recent one into ~/Downloads/."*
**Quick setup with Claude Code:**
```sh
# Use read -s to avoid storing the passphrase in shell history
read -rs RETYC_KEY_PASSPHRASE
claude mcp add --transport stdio retyc --env RETYC_KEY_PASSPHRASE="$RETYC_KEY_PASSPHRASE" -- /path/to/retyc mcp serve
```
Full integration guide (Claude Desktop, Cursor, Windsurf, example prompts): [doc/mcp.md](doc/mcp.md)
**Claude Desktop extension (MCPB):** each release ships a `retyc-.mcpb` bundle —
double-click to install in Claude Desktop, no terminal needed. See [doc/mcpb.md](doc/mcpb.md).
---
## RetycFS
RetycFS mounts your datarooms as a local folder on Linux. Any program can open, edit
and save the files in it: `ls`, `cp`, a file manager, an editor, a script. Files are
encrypted and decrypted locally; the Retyc servers never see plaintext.
```sh
# The key passphrase is required (never prompted)
read -rs RETYC_KEY_PASSPHRASE
export RETYC_KEY_PASSPHRASE
mkdir -p ~/retyc
retyc fs mount retyc:// ~/retyc # one dataroom, the root of ~/retyc
retyc fs mount --all ~/retyc # or every dataroom, one folder each
```
The command stays in the foreground; unmount with `Ctrl-C`.
Full guide: [doc/retycfs.md](doc/retycfs.md)
---
## Privacy Policy
This software (CLI and MCP server) embeds the entire encryption layer: file
contents and metadata are encrypted locally (post-quantum AGE) before
transmission, and its only network endpoint is the Retyc API — Retyc servers
never see plaintext. In MCP mode, tool responses return decrypted metadata
(filenames, sizes, member lists) to your MCP client; file contents are never
included in responses (see [SECURITY.md](SECURITY.md)).
Full policy:
---
## Documentation
| Topic | Link |
|----------------------------------------------|----------------------------------------------|
| Full commands reference | [doc/commands.md](doc/commands.md) |
| RetycFS (mount datarooms as a folder, Linux) | [doc/retycfs.md](doc/retycfs.md) |
| MCP server + tools reference | [doc/mcp.md](doc/mcp.md) |
| Docker usage | [doc/docker.md](doc/docker.md) |
| Claude Desktop bundle (MCPB) | [doc/mcpb.md](doc/mcpb.md) |
| CI / CD integration | [doc/ci-cd.md](doc/ci-cd.md) |
| Configuration & env vars | [doc/configuration.md](doc/configuration.md) |
| Roadmap | [doc/roadmap.md](doc/roadmap.md) |
---
## Development
```sh
# Run in dev mode
go run . --help
# Run tests
go test -race ./...
# Production build
go build -tags prod -ldflags "-X github.com/retyc/retyc-cli/cmd.Version=v0.1.0" -o retyc .
```
---
## License
[MIT](LICENSE) - © Retyc / TripleStack SAS