Plik
Plik is a temporary file upload system (Wetransfer like) in Go.
What is Plik?
Plik is a Model Context Protocol (MCP) server that allows AI assistants like Claude, Cursor, and VS Code to plik is a temporary file upload system (wetransfer like) in go.
Plik is a temporary file upload system (Wetransfer like) in Go.
This server falls under the File Systems category on MCPgee, the world's largest MCP server directory with 33,000+ servers.
Features
- Plik is a temporary file upload system (Wetransfer like) in
Use Cases
Maintainer
Works with
Installation
Manual Installation
npx plikConfiguration
Configuration Details
claude_desktop_config.json
Performance
Response Metrics
Resource Usage
How to Set Up and Use Plik
Plik is a self-hosted temporary file upload and sharing system written in Go, similar to WeTransfer, that provides a web interface, REST API, and command-line client for uploading files with configurable expiration times. It supports multiple storage backends (local disk, S3, OpenStack Swift, Google Cloud Storage), metadata backends (SQLite, PostgreSQL, MySQL), authentication providers (Google, GitHub, OIDC), and end-to-end encryption using the Age encryption standard. System administrators and developers use Plik when they need a privacy-respecting, self-hosted alternative to cloud file sharing services with enterprise storage and authentication integration.
Prerequisites
- Docker, a Debian/Ubuntu system, or Go 1.21+ for building from source
- A supported metadata backend: SQLite (default, no setup needed), PostgreSQL, or MySQL for production
- Optional: AWS S3 credentials or Google Cloud Storage access for cloud storage backends
- Network access to port 8080 (or your configured port) for the web interface and API
- Optional: Google, GitHub, or OIDC application credentials for user authentication
Run Plik with Docker (quickest start)
Pull and run the official Plik Docker image. This starts the server on port 8080 with SQLite for metadata and local disk storage by default.
docker run -p 8080:8080 rootgg/plikInstall on Debian/Ubuntu via APT
Add the Plik APT repository, install the plik-server package, and start the service. The package also includes the plik CLI client.
curl -fsSL https://root-gg.github.io/plik/apt/gpg.key | sudo gpg --dearmor -o /etc/apt/keyrings/plik.gpg
echo "deb [signed-by=/etc/apt/keyrings/plik.gpg] https://root-gg.github.io/plik/apt stable main" | sudo tee /etc/apt/sources.list.d/plik.list
sudo apt update && sudo apt install plik-server
sudo systemctl start plik-serverBuild from source
Clone the repository and build both the server (plikd) and CLI client (plik) from source. Go 1.21+ is required.
git clone https://github.com/root-gg/plik.git
cd plik && make
cd server && ./plikdConfigure the server
Edit the plikd.cfg configuration file to set your server URL, storage backend, metadata backend, authentication providers, file expiration settings, and maximum upload size. Restart the server after changes.
Deploy to Kubernetes via Helm
For production Kubernetes deployments, add the Plik Helm chart repository and install with your custom values.
helm repo add plik https://root-gg.github.io/plik
helm repo update
helm install plik plik/plikUpload a file using the Plik CLI client
Use the plik CLI client to upload files from the command line. The client returns a shareable URL with the configured expiration time.
plik --server http://your-plik-server:8080 upload myfile.zip
# Upload with one-time download (OneShot mode):
plik --server http://your-plik-server:8080 --oneshot upload secret.pdfPlik Examples
Docker Compose configuration
A production-ready Docker Compose setup for Plik with PostgreSQL as the metadata backend.
{
"note": "Use docker-compose.yml for this configuration",
"services": {
"plik": {
"image": "rootgg/plik",
"ports": ["8080:8080"],
"environment": {
"PLIK_DATABASE_DRIVER": "postgres",
"PLIK_DATABASE_DSN": "host=db user=plik password=secret dbname=plik sslmode=disable"
}
},
"db": {
"image": "postgres:15",
"environment": {
"POSTGRES_USER": "plik",
"POSTGRES_PASSWORD": "secret",
"POSTGRES_DB": "plik"
}
}
}
}Prompts to try
Plik provides a web interface and CLI client. These are typical workflows for a self-hosted Plik instance.
- "Upload this 500MB archive and share a link that expires in 24 hours"
- "Upload my SSH key as a one-time download link with password protection"
- "List all my current uploads and delete the expired ones"
- "Stream a large log file directly without storing it on the server using stream mode"Troubleshooting Plik
Server fails to start with a 'database connection' error
Check your database DSN in plikd.cfg. For SQLite (the default), ensure the data directory is writable. For PostgreSQL/MySQL, verify the host, port, credentials, and that the database exists and is accessible from the Plik container.
File uploads succeed but downloads return 404
Verify that the ServerUrl setting in plikd.cfg matches the public URL clients use to access Plik. A mismatch between the configured URL and the actual hostname causes redirect errors that break download links.
OIDC or OAuth login fails with a redirect URI error
Ensure the redirect URI registered with your OAuth provider exactly matches <ServerUrl>/auth/<provider>/callback. Check that ServerUrl does not have a trailing slash and matches the scheme (http vs https) used by clients.
Frequently Asked Questions about Plik
What is Plik?
Plik is a Model Context Protocol (MCP) server that plik is a temporary file upload system (wetransfer like) in go. It connects AI assistants to external tools and data sources through a standardized interface.
How do I install Plik?
Follow the installation instructions on the Plik GitHub repository. Clone the repo, install dependencies, and add the server config to your AI client.
Which AI clients work with Plik?
Plik works with all major MCP-compatible AI clients including Claude Desktop, Claude Code, Cursor, VS Code (GitHub Copilot), Windsurf, and Cline.
Is Plik free to use?
Yes, Plik is open source and available under the NOASSERTION license. You can use it freely in both personal and commercial projects.
Plik Alternatives β Similar File Systems Servers
Looking for alternatives to Plik? Here are other popular file systems servers you can use with Claude, Cursor, and VS Code.
Electerm
β 14.1kπ»Terminal/ssh/sftp/ftp/telnet/serialport/RDP/VNC/Spice client(linux, mac, win)
Kordoc
β 957An MCP server that parses South Korean document formats like HWP, HWPX, and PDF into Markdown. It features specialized table reconstruction and security-hardened extraction optimized for administrative and public institution files.
macOS Automator
β 801A Model Context Protocol server that enables execution of AppleScript and JavaScript for Automation scripts on macOS, allowing programmatic control of applications and system functions through a rich knowledge base of pre-defined scripts.
PDF Reader
β 723Enables reading, searching, and metadata extraction from PDF files without loading the entire content into the context window. It provides efficient tools for text cleaning, page-specific extraction, and context-aware search results.
Filesystem MCP Server
β 643Provides comprehensive filesystem operations (read, write, list, create, delete, move files and directories) through the Model Context Protocol with Streamable HTTP transport and built-in security through configurable root directory restrictions.
Ebook
β 366A lightweight MCP server that allows LLMs to read and interact with your personal PDF and EPUB ebooks on your local machine. Ideal for building AI reading assistants or chat-based ebook interfaces.
Browse More File Systems MCP Servers
Explore all file systems servers available in the MCPgee directory. Each server includes setup guides for Claude, Cursor, and VS Code.
Set Up Plik in Your Editor
Choose your AI client for step-by-step setup instructions.
Quick Config Preview
Add this to your claude_desktop_config.json or .cursor/mcp.json
Ready to use Plik?
Browse our complete directory of 33,000+ MCP servers, read setup guides for your editor, and start building with the Model Context Protocol.