MCP servers that can upload a file
6 verified servers expose a tool that can upload a file
"Upload a file" sounds like one action, but it covers at least three: filling a file input on a web page, putting an object in storage, and attaching media to a wiki or a chat. The verified servers below do different versions of it, and the right one depends on where the bytes are going.
These servers let an agent upload a file, from browser form fields to object stores.
Playwright
Microsoft
Microsoft's official browser-automation server that drives pages via the accessibility tree, not pixels.
browser_file_upload
browser_file_upload fills a file input on a live web page, the upload an agent performs while driving a form through the browser.
MinIO
MinIO
MinIO's official MCP server lets agents browse buckets, read and write objects, manage tags and versioning, and ask AI questions about stored objects.
upload_object
MinIO's upload_object writes into S3-compatible object storage, the durable kind of upload for artifacts, exports, and backups.
fal.ai
Raveen Beemsingh
Community MCP server for fal.ai: generate and edit images, video, music, and audio with 600+ fast generative models from your agent.
upload_file
On fal, upload_file stages an image or asset so a generative model can run against it on the next call.
MediaWiki
Professional Wiki
A maintained MCP server that connects an agent to any MediaWiki — including Wikipedia — to search, read, create, and edit pages.
upload-fileupload-file-from-url
MediaWiki accepts media from a local path or a remote URL, which suits an agent publishing images into a wiki article.
Telegram
chigwell (Eugene Evstafev)
A maintained Telegram MCP server powered by Telethon: read chats, manage groups and contacts, and send or modify messages, media, and more from your agent.
upload_file
Telegram's upload_file pushes a document up to Telegram's servers and returns a file handle, the first half of delivering it into a chat rather than storing it long term.
BrowserStack
BrowserStack
BrowserStack's official server runs manual and automated tests on real browsers and devices, and debugs the failures.
uploadProductRequirementFile
uploadProductRequirementFile takes a PRD or PDF into BrowserStack Test Management and returns a mapping id its AI uses to generate test cases, a narrow but real upload path.
What to know
Read each tool for what it actually moves. A browser-automation upload pushes a local file into a form the agent is filling. An object-storage upload writes a durable artifact you will read back later. A chat or wiki upload attaches media to a message or a page. They share a verb and almost nothing else, so matching the server to the destination matters more here than on most capabilities.
Each of these hands back a handle the agent needs later: an S3 key, a fal CDN URL, a MediaWiki file title. Lose that string between sessions and the upload may as well not have happened, since nothing else points at the bytes.
Questions
- These uploads don't all do the same thing, do they?
- Correct, and that is the main thing to get right. Playwright's upload fills a form field, MinIO's writes to object storage, Telegram's pushes a document up for delivery into a chat. They share the word upload and little else, so pick by where the file needs to end up, not by the tool name alone.
- Which one should I use to store a file an agent generates?
- An object-storage server like MinIO, since upload_object returns a durable handle you can read back in a later session. The browser and chat uploads are about delivery, not persistence, so they are the wrong tool for anything the agent needs to retrieve again.