Ffl Mcp – Give Ai A "send File" Capability Via P2p (local First)

by nuwainfo

130 downloads
Not rated
GitHub

Description

# FastFileLink MCP Server ## Overview FastFileLink (ffl) MCP server allows you to instantly turn any local file or folder into a secure HTTPS link via peer-to-peer (P2P) sharing. It is designed to fit seamlessly into AI Agent workflows, solving the common problem of agents…

About

# FastFileLink MCP Server ## Overview FastFileLink (ffl) MCP server allows you to instantly turn any local file or folder into a secure HTTPS link via peer-to-peer (P2P) sharing. It is designed to fit seamlessly into AI Agent workflows, solving the common problem of agents generating useful local artifacts but lacking…

Details

Author
nuwainfo
Downloads
130
Categories
Productivity, File Management, Communication, Other

- Instant file-to-link conversion via P2P sharing.
- End-to-end encryption (E2EE) with DTLS for privacy.
- Automatic relay fallback if P2P connection fails.
- Local operation eliminates upload delays.
- Empowers AI agents to deliver files directly.

Set it up as a local MCP server. The AI agent invokes the share command to convert files or folders into HTTPS links. Recipients download via browser or tools like curl.

MCP server for ffl. Let AI share anything for you.

Backed byffl, which turns any file/folder into an HTTPS link.

This is a minimal MCP server that shells out toffl/ffl.comlocally. No file contents are sent to the LLM; the model only triggers localffl.

This demo shows collaborative debugging: Claude on the left shares a local environment (DB + logs) via P2P link, Claude on the right downloads and diagnoses the error. In this scenario, the two Claudes represent different people working on separate machines.

- Installation

- Windows — GUI Installer
-
Linux / macOS — one-liner
-
Windows — one-liner (PowerShell)
-
uvx (no binary, requires uv)
-
Run directly (development)

- Sharing
-
Downloading
-
Keygen
-
Session Management

- Linux/macOS:curl -fsSL https://fastfilelink.com/mcp/install.sh | bash
- Windows (script):iwr -useb https://fastfilelink.com/mcp/install.ps1 | iex

🔒fastfilelink.com/mcp/is a redirect to GitHub. Use the direct GitHub URLs below if you prefer.

Download and runffl-mcp-setup.exefrom the latest release.

No command line needed — the installer registers ffl-mcp with Claude Desktop and Claude Code automatically.

curl -fsSL https://raw.githubusercontent.com/nuwainfo/ffl-mcp/refs/heads/main/install.sh | bash

Downloads the platform binary from the latest GitHub release and runsffl-mcp installto register with Claude. Falls back touvxautomatically if no binary is available for your platform.

iwr -useb https://raw.githubusercontent.com/nuwainfo/ffl-mcp/refs/heads/main/install.ps1 | iex

Downloadsffl-mcp.exefrom the latest GitHub release and registers it with Claude.

uvx --from git+https://github.com/nuwainfo/ffl-mcp install

Targets can be controlled with--target(default: all):

uvx --from git+https://github.com/nuwainfo/ffl-mcp install --target claude-desktop,codex-desktop,codex-cli
uvx --from git+https://github.com/nuwainfo/ffl-mcp install --print

If Claude Code CLI is installed, the installer also runsclaude mcp addautomatically (user scope). The installer also writes Codex MCP config to~/.codex/config.tomlfor Codex Desktop/CLI/IDE. If Codex CLI is installed, the installer also runscodex mcp addautomatically. For custom config paths, pass the file:

uvx --from git+https://github.com/nuwainfo/ffl-mcp install --config /path/to/claude_desktop_config.json uvx --from git+https://github.com/nuwainfo/ffl-mcp install --codex-config /path/to/codex/config.toml
# optional: override embedded ffl.com (APE) or use "ffl" on PATH export FFL_BIN="$HOME/bin/ffl.com" chmod +x "$FFL_BIN" # optional safety: restrict file sharing to a directory export ALLOWED_BASE_DIR="$HOME/Downloads" # optional: use stdin for text/base64 instead of temp files export FFL_USE_STDIN=1 uvx --from git+https://github.com/nuwainfo/ffl-mcp ffl-mcp
{ "mcpServers": { "ffl": { "command": "uvx", "args": ["--from", "git+https://github.com/nuwainfo/ffl-mcp", "ffl-mcp"], "env": { "ALLOWED_BASE_DIR": "/Users/you/Downloads", "FFL_USE_STDIN": "1" } } } }

Additional options forfflShareFile/fflShareFiles:

Preview sidecar routes (/manifest,/file,/thumb) are only created for folder shares and multi-file shares. Single-file shares are served as direct file links, even whenpreview=True. MCP returns the base FastFileLink URL and does not append?preview=true; users may add that query string manually.

Response fields:sessionId,link,pid,qrCode?(ASCII art whenqrInTerminal=True),debugLogPath?

fflDownload(url, outputPath?, resume?, authUser?, authPassword?, recipientAuth?, pickupCode?, recipientPrivateKey?, proxy?, enableReporting?) -> {ok, returncode, outputPath?, transferMode?, transferInfo?, message?, ...}

Downloads from FastFileLink URLs (WebRTC P2P when possible, HTTP fallback) or any HTTP(S) URL (works like wget).

For authenticated links: passrecipientAuth+pickupCode(pickup mode) orrecipientPrivateKey(pubkey mode). SetenableReporting=Trueonly when you want to opt into ffl diagnostic error reporting for troubleshooting.

fflKeygen(name?) -> {ok, returncode, output}

Generates an RSA keypair for passwordlesspubkeyrecipient auth:

- <name>.fflpub— share with the sender (pass asrecipientPublicKey)
- <name>.fflkey— keep private (pass asrecipientPrivateKeywhen downloading)

- fflListSessions()— list active share sessions
- fflStopSession(sessionId)— terminate a session
- fflGetSession(sessionId)— get session details
- fflGetSessionEvents(sessionId, limit=50)— retrieve webhook events

- FFL_USE_STDIN=1avoids writing text/base64 payloads to disk.
- FFL_RUN_MODE=pythonruns the Core.py CLI (requiresFFL_CORE_PATH).
- FFL_USE_HOOK=1starts a local webhook server and passes it tofflfor real-time link/progress events.
- FFL_DEBUG=1saves ffl output to a temp log file; path returned asdebugLogPath. SetFFL_DEBUG=/path/to/log.txtto use a fixed path.
- ALLOWED_BASE_DIRrestrictsfflShareFile/fflShareFilesto a specific directory.

# Unit + binary tests (no network needed) python -m unittest discover -s tests -p "Test.py" -v # All tests including share/download round-trips (requires network) FFL_INTEGRATION_TESTS=1 python -m unittest discover -s tests -p "*Test.py" -v

If you encounterTLSError([0x6300])errors, run this command to disable Windows interop for.comfiles:

sudo sh -c 'echo -1 > /proc/sys/fs/binfmt_misc/WSLInterop'

This allows ffl.com (APE binary) to run natively on Linux instead of being executed through Windows.

Carryo is a remote MCP server for sharing Claude or ChatGPT-created HTML artifacts as live links.

Remote MCP server for MindMeister. Create, edit, and organize mind maps from your AI assistant. Hosted (streamable-HTTP) — connect at https://mcp.mindmeister.com/mcp

Collaborative word processor you can use with your agent

Keep teams & agents coordinated automatically

Collaborative AI creative workspace for agencies and ecommerce teams to generate on-brand images, videos, and ad creative at scale.

Manage task backlogs using a file-based JSON storage system.

An MCP server for integrating ClickUp tasks with AI applications, featuring task dependency management and bug fixes.

MCP server that reads and writes the system clipboard — tables, text, code, JSON, URLs, images, and more. Preserves spreadsheet structure (rows/columns) that is lost when pasting into Claude directly. Claude can also write results back to your clipboard.

The Collaboard MCP Server lets AI assistants create, search, analyze, and transform whiteboards into visual, collaborative workspaces.

An MCP server that enables AI assistants to interact with Confluence content through a standardized interface.

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.