Plik: MCP for uploading files to your server
Plik
The command-line client of the Plik file-sharing service with a built-in MCP server for uploads from an agent editor
- 1,829 ★ on the repository
- Last commit
Extended access
Why this level
- The agent can send any file the client can read to the server by absolute path
- Uploads go to the server from the client settings, so a third-party or public server receives the file contents
Install
- Works in
Manual install
{"servers":{"plik":{"command":"plik","args":["--mcp"]}}}The snippet for Cursor, VS Code and Claude Desktop. The plik client must be installed.
Access and checks
How we reviewExtended accessThe tool runs code or makes network calls and only reads external data.
- The agent can send any file the client can read to the server by absolute path
- Uploads go to the server from the client settings, so a third-party or public server receives the file contents
This is third-party code. Review the repository files before installing.
What it does
Plik is a temporary file-sharing service in the spirit of WeTransfer that you run yourself. Its plik command-line client can work as an MCP server: start it with the `--mcp` flag and the editor gets file upload tools. upload_text sends text as a named file, such as a code snippet or a log. upload_file and upload_files upload one or several files by absolute path in a single upload. server_info shows the server version, configuration and capabilities, and list_profiles lists the profiles with their server addresses. In the reply the agent receives the upload metadata and ready links to the upload page and each file. An upload can set a time to live, a password and a Markdown comment, as well as one-shot or streaming download. The set of available options depends on the server configuration.
Who it is for. For developers and administrators who run their own Plik server and want to tell an agent to upload a file and hand back a link.
Good fit when
- Share a long log or dump with a colleague without pasting it into chat: the agent uploads the text and returns a link
- Publish a built archive or report to an internal file-sharing server after the agent finishes
- Create a one-time link for a file that is deleted after the first download
- Upload to different servers by profile, such as work and personal
Not a fit when
- You need a permanent file catalog with versions and permissions: Plik is built for temporary uploads
- You have no Plik server and do not want to deploy one: the client needs a server address
- You need the agent to download files: the tools only upload, and downloads go through plain links
Example request
Upload build.log to Plik with a one-time link and a one hour lifetime, and send me the link.MCP
- Transport
- stdio
- Authentication
- not required
Environment variables
PLIKRC- Path to a separate client settings file instead of ~/.plikrc
Limitations
The MCP server is built into the plik client as a mode, so the client must be on PATH and ~/.plikrc must hold a working server address. If the server requires sign-in, run `plik --login` once. A different settings file can be set with the PLIKRC variable.
Links to private data deserve the same care as the data: limit the time to live and set a password. The time to live is configured on the server, and it deletes expired uploads on its own.
The license is MIT.
How to disable. Delete the plik entry from the MCP configuration in Cursor (.cursor/mcp.json), VS Code (.vscode/mcp.json) or Claude Desktop (claude_desktop_config.json). The Plik client and server keep working as before.
FAQ
How do I connect Plik to Cursor or Claude Desktop?
Add a plik server to the configuration with the command plik and the argument `--mcp`. The file is .cursor/mcp.json for Cursor, .vscode/mcp.json for VS Code and claude_desktop_config.json for Claude Desktop.
What tools does the Plik MCP server have?
Five tools for uploads and for information about the server and profiles. The server also provides an upload_guide prompt with usage instructions.
How do I make a link expire after one download?
Pass the one_shot parameter and the file is deleted after the first download. ttl sets the lifetime in seconds, and stream skips storing the file on the server and passes it straight to the downloader.
How do I run my own Plik server?
The shortest path is `docker run -p 8080:8080 rootgg/plik`, and the interface opens at http://127.0.0.1:8080. There are also release archives, a Debian and Ubuntu package, a source build and a Helm chart for Kubernetes.
Can I upload to several servers?
Yes. Profiles are defined in ~/.plikrc and passed to the tool call in the profile parameter. They can be combined, for example work,zip for the work server plus archive settings. list_profiles returns the available profiles.
Discussion
No questions or reviews yet.
Related
MCP serversSSH MCP Server (classfang): remote commands over SSH
SSH MCP Server (classfang)
An SSH MCP server: the agent runs commands, reads and writes files over SFTP, transfers files and starts long jobs while credentials stay with you
MCPM
mcpm
A package manager and registry for MCP on all platforms and clients: finds, adds and configures MCP servers, remembers the source and updates
A self-hosted gateway that merges several MCP servers into one endpoint with auth and tool selection
Coolify MCP
coolify-mcp
An MCP server for self-hosting Coolify v4: 46 tools for apps, servers and databases, with dangerous operations requiring human confirmation
MCP SSH Manager
mcp-ssh-manager
Managing several SSH connections from Claude Code and Codex: commands, file transfer, databases and backups
A proxy between MCP transports: connects stdio clients to remote SSE and HTTP servers and exposes local servers over the network
README in short
Plik is a scalable file-sharing system with a Vue 3 web interface in 12 languages and storage on disk, S3, Swift and Google Cloud. It supports sign-in through Google, GitHub, OVH and OIDC, Age encryption between the CLI and the web, and Prometheus metrics.