Skip to main content
Glama
nuwainfo

ffl-mcp

Official
by nuwainfo

Ffldownload

fflDownload

Download files from FastFileLink or regular HTTP(S) URLs, using WebRTC P2P for FastFileLink when available and wget-style retrieval for standard links, with resume, authentication, and proxy support.

Instructions

Download a file from a FastFileLink URL or regular HTTP(S) URL using ffl.

For FastFileLink URLs, this uses WebRTC P2P when possible for faster downloads. For regular URLs, it works like wget.

Input Schema

NameRequiredDescriptionDefault
urlYesFastFileLink URL or regular HTTP(S) URL to download from
proxyNoProxy server URL (e.g. socks5://127.0.0.1:9050)
resumeNoResume incomplete download (default: False)
authUserNoUsername for HTTP Basic Authentication
outputPathNoOptional output file or directory path (default: use filename from server)
pickupCodeNo6-digit pickup code (when recipientAuth is pickup)
authPasswordNoPassword for HTTP Basic Authentication
recipientAuthNoRecipient authentication mode required by sender — pickup, pubkey, or email
enableReportingNo
recipientPrivateKeyNoPath to .fflkey private key file for pubkey auth

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed10 schema fields changedv0.5.1
    • addedInput schema / additionalProperties
      Added value: +false
    • addedInput schema / properties / authPassword / description
      Added value: +"Password for HTTP Basic Authentication"
    • addedInput schema / properties / authUser / description
      Added value: +"Username for HTTP Basic Authentication"
    • addedInput schema / properties / outputPath / description
      Added value: +"Optional output file or directory path (default: use filename from server)"
    • addedInput schema / properties / pickupCode / description
      Added value: +"6-digit pickup code (when recipientAuth is pickup)"
    • addedInput schema / properties / proxy / description
      Added value: +"Proxy server URL (e.g. socks5://127.0.0.1:9050)"
    • addedInput schema / properties / recipientAuth / description
      Added value: +"Recipient authentication mode required by sender — pickup, pubkey, or email"
    • addedInput schema / properties / recipientPrivateKey / description
      Added value: +"Path to .fflkey private key file for pubkey auth"
    • addedInput schema / properties / resume / description
      Added value: +"Resume incomplete download (default: False)"
    • addedInput schema / properties / url / description
      Added value: +"FastFileLink URL or regular HTTP(S) URL to download from"
  2. First observedv0.2.1

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations exist, so the description bears the full load; it does disclose the meaningful behavioral distinction (P2P/WebRTC versus plain HTTP fetch). However it says nothing about authentication flows implied by the schema (recipientAuth, pickupCode, private key), overwrite behavior when outputPath collides with an existing file, or where the file lands by default.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short sentences, front-loaded with the core action, and the URL-type split is placed before any detail. No filler, but also no elaboration where elaboration would help.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

This is a 10-parameter tool with three mutually exclusive recipient authentication modes and encrypted-key handling; the description never explains how those pieces fit together or what a caller must supply for a pickup-protected link. The output schema covers return values, but the invocation-side complexity is left entirely to the schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 90%, so nearly every parameter is already self-documenting. The description adds no extra meaning about url, resume, proxy, or the auth triad beyond what the schema states; baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Download a file') and covers both URL flavors it accepts. Among siblings (share, list, keygen, stop), downloading is unmistakably distinct, though the description never names an alternative to disambiguate further.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It explains how the tool behaves for each URL type (WebRTC P2P for FastFileLink, wget-like for HTTP), which implies when it applies, but gives no explicit when-to-use/when-not guidance, no mention of prerequisites (auth mode, pickup code), and no pointer to any sibling tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.