ffl-mcp
Give AI a "send file" capability via P2P (Local-first)
ffl-mcp (local-only)
MCP server for ffl. Let AI share anything for you.
Backed by ffl, which turns any file/folder into an HTTPS link.
This is a minimal MCP server that shells out to ffl / ffl.com locally.
No file contents are sent to the LLM; the model only triggers local ffl.
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.
Run (no PyPI, run directly from Git)
Prereq: uv installed.
# 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
Claude Desktop / Claude Code / Codex auto-install (no JSON)
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-cli
uvx --from git+https://github.com/nuwainfo/ffl-mcp install --print
If Claude Code CLI is installed, the installer also runs claude mcp add automatically (user scope).
If Codex CLI is installed, the installer also runs codex mcp add automatically.
For other MCP clients or custom config paths, pass the file:
uvx --from git+https://github.com/nuwainfo/ffl-mcp install --config /path/to/claude_desktop_config.json
Claude Desktop / Claude Code config (uvx)
{
"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"
}
}
}
}
Tools
Sharing:
fflShareText(text, ..., e2ee=True, qrInTerminal=False) -> {sessionId, link, qrCode?, ...}fflShareBase64(dataB64, ..., e2ee=True, qrInTerminal=False) -> {sessionId, link, qrCode?, ...}fflShareFile(path, ..., e2ee=True, qrInTerminal=False) -> {sessionId, link, qrCode?, ...}
All share functions use end-to-end encryption (E2EE) by default for security. Set e2ee=False to disable if needed.
Set qrInTerminal=True to get a scannable ASCII QR code in the response (displayed as terminal art, not base64 PNG).
Downloading:
fflDownload(url, outputPath?, resume?, ...) -> {ok, returncode, outputPath?, transferMode?, transferInfo?, message?, ...}
Downloads from FastFileLink URLs (uses WebRTC P2P when possible, falls back to HTTP) or regular HTTP(S) URLs (works like wget).
Returns transfer mode information:
webrtc_p2p: Fast direct peer-to-peer connectionhttp_fallback: HTTP relay (when WebRTC fails)http_direct: Direct HTTP download (non-FastFileLink URLs)
Session Management:
fflListSessions()fflStopSession(sessionId)fflGetSession(sessionId)fflGetSessionEvents(sessionId, limit=50)
Notes
FFL_USE_STDIN=1avoids writing text/base64 payloads to disk.FFL_RUN_MODE=pythonruns the Core.py CLI (requiresFFL_CORE_PATH).--hookand--proxyare passed through to ffl.FFL_USE_HOOK=1starts a local webhook server and passes it tofflfor link/progress events.FFL_DEBUG=1enables debug logging - ffl output is saved to a temp file with path returned indebugLogPath.
WSL2 Users
If you encounter TLSError([0x6300]) errors, run this command to disable Windows interop for .com files:
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.
相关服务器
Todo List
A server that provides a comprehensive API for managing todo items.
Team Relay MCP
Read, search, and write Obsidian vault notes via Team Relay collaborative server. Supports shared folders and real-time sync.
Backcast MCP Server
The Outcome Backcasting MCP is a strategic planning tool that helps you work backwards from a desired future outcome to identify the specific steps, resources, and dependencies needed to achieve your goals. Unlike traditional forward planning, backcasting starts with your end goal and creates a reverse roadmap to get there.
WordPress MCP
A Model Context Protocol (MCP) server that gives AI agents full control over WordPress sites. 46 tools for posts, pages, media, SEO, comments, redirects, blocks, patterns, TablePress, and more.
Paprika 3
Manage your Paprika 3 recipes with an LLM. Read, create, and update recipes in your Paprika app.
Sunsama
Manage your tasks and daily planning through the Sunsama API.
Google MCP Tools
Integrate Google services like Gmail, Calendar, Drive, and Tasks with MCP.
PAF-IAST LMS Automation
Automates interactions with the PAF-IAST Learning Management System (LMS) for AI assistants like Claude and VS Code Copilot.
n8n Video Compilation
Automate AI-powered video compilation workflows using n8n.
Prolific MCP Server
A server to manage studies, recruit participants, and collect data on the Prolific platform.